Skip to content

Generic starter agent, with a skill per model setting - #1

Merged
dan-ince-aai merged 2 commits into
mainfrom
getting-started-and-skills
Oct 26, 2026
Merged

dan-ince-aai merged 2 commits into
mainfrom
getting-started-and-skills

Conversation

@dan-ince-aai

@dan-ince-aai dan-ince-aai commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Draft. Turns the clinic receptionist into a generic starter that shows off AssemblyAI's models, especially TTS, with each model setting as a building block that coding agents pick from.

What changes

  • The agent: a general assistant with one example tool (get_current_time, so there's no external API to break) and hang-up. Every model setting sits at the top of src/agent.py and names its skill. The STT call lists the optional ones (voice focus, prompt, languages, Medical Mode), commented out. The clinic and its tests are removed.

  • Skills, one per building block:

    Skill Setting
    tts-voice Voice library, previews, cloning
    languages What the agent hears and speaks
    turn-detection mode presets, min/max_turn_silence
    interruptions-and-vad vad_threshold with Silero, barge-in
    voice-focus Noise suppression
    keyterms-and-prompt Names and context
    medical-mode Medical vocabulary
    llm-model Gateway models
    data-residency EU hosts
    add-a-tool New abilities

    Claude Code loads them through .claude/skills.

  • AGENTS.md: tells a coding agent what to ask the user (what the agent is for, where users are, what they'll say, languages, voice). It maps each answer to a skill, and gives starting settings for common kinds of agent (phone line, kiosk, healthcare intake, bilingual line and so on).

  • README: a short getting-started page: install, talk to it, hear other voices, call it, then build your own with the building-block table.

  • Dropped: the Sync second-pass and turn-silence skills from the first commit. Universal-3.6 Pro's entity-aware endpointing covers most of what they did, and turn-detection covers the rest.

  • Dependencies: tzdata is added for get_current_time, because slim container images leave it out. uv.lock is committed, since the Dockerfile installs from it.

Testing

  • Agent tests: uv run pytest against the live API, 4 of 4 several times. They check that the agent uses the tool, doesn't make up a time, keeps replies speakable and hangs up on goodbye.
  • Lint: ruff format --check and ruff check pass.
  • Skill parameters: I opened a live STT stream with the combinations the skills recommend, and the server accepted all of them: voice_focus, voice_focus_threshold, language_codes, keyterms_prompt, prompt, domain, plus update_options for max_turn_silence and keyterms_prompt mid-stream.
  • Voice commands: the curl commands in the README and tts-voice work against the API.
  • Not done: no spoken call through LiveKit Cloud, and no deploy.

The Pipecat version is at https://github.com/AssemblyAI-Solutions/assemblyai-pipecat-reference-voice-agent and matches this structure: the same starter agent, skills and AGENTS.md, plus an AssemblyAI TTS service for Pipecat.

🤖 Generated with Claude Code

dan-ince-aai and others added 2 commits October 22, 2026 09:28
The README now walks through installing, talking to the agent and changing the voice,
with AssemblyAI TTS up front. The reasoning behind each setting moves to src/README.md,
and tests/README.md explains the tests. skills/ adds instructions for coding agents,
linked from .claude/skills so Claude Code loads them. AGENTS.md lists the skills and
corrects which models the EU LLM Gateway serves. uv.lock is committed, since the
Dockerfile installs from it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The clinic receptionist becomes a general assistant with one example tool, so the
template shows off the models rather than one use case. Every model setting sits at the
top of src/agent.py and names its skill, and the optional ones (voice focus, prompt,
languages, Medical Mode) are listed in the STT call.

The skills are now one building block each: voice, languages, turn detection,
interruptions and VAD, voice focus, key terms and prompt, Medical Mode, LLM model, data
residency and tools. AGENTS.md lists the questions a coding agent should ask about the
agent it's building, which skill each answer points to, and starting settings for common
kinds of agent. The Sync second pass and turn-silence skills are gone: Universal-3.6
Pro's entity-aware endpointing covers most of what they did, and the turn-detection
skill covers the rest.

tzdata is a dependency for get_current_time, since slim container images leave it out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dan-ince-aai dan-ince-aai changed the title Getting-started README and skills for coding agents Generic starter agent, with a skill per model setting Oct 22, 2026
@dan-ince-aai
dan-ince-aai marked this pull request as ready for review October 26, 2026 13:00
@dan-ince-aai
dan-ince-aai merged commit 83b533b into main Oct 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant