CtrlK
BlogDocsLog inGet started
Tessl Logo

deepgram-python-voice-agent

Use when writing or reviewing Python code in this repo that builds an interactive voice agent via `agent.deepgram.com/v1/agent/converse`. Covers `client.agent.v1.connect()`, `AgentV1Settings`, `send_settings`, `send_media`, event handling, and function/tool calling. Full-duplex STT + LLM + TTS with barge-in. Use `deepgram-python-text-to-speech` for one-way synthesis, `deepgram-python-speech-to-text` / `deepgram-python-conversational-stt` for transcription only. Triggers include "voice agent", "agent converse", "full duplex", "interactive assistant", "barge-in", "agent.v1", "function calling", "AgentV1Settings".

72

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced skill body with real executable Deepgram SDK examples and clear lifecycle/recovery workflows. The main weakness is conciseness (repeated import blocks) and a dangling in-repo reference.md pointer with no accompanying bundle file.

Suggestions

Consolidate the repeated type-import blocks: list shared imports once near the quick start and reference them in the mid-session and reconnect sections instead of reprinting full blocks.

Either add the referenced 'reference.md' to a references/ bundle and move the detailed per-event/per-message API tables there, or remove the in-repo reference.md mention and keep only the external links.

Trim the inline 'e.g.' rationales on each mid-session control message; let the code comment and the server-reply note carry the justification.

DimensionReasoningScore

Conciseness

The body is dense with API- and repo-specific knowledge Claude would not know (SDK type names, wire events, frozen-file gotchas), but it is padded by repeated full import blocks across sections and several 'e.g.' asides that could be trimmed — 'mostly efficient but could be tightened'.

2 / 3

Actionability

Code is fully executable with real type imports, concrete send methods, actual product-doc URLs, and real in-repo example/test paths — copy-paste ready, matching the 'fully executable' anchor.

3 / 3

Workflow Clarity

Multi-step flows are clearly sequenced with explicit checkpoints: send Settings IMMEDIATELY after connect, keepalive every ~5s on idle, reconnect by opening a fresh socket and replaying Settings with captured context, retry after AgentAudioDone on InjectionRefused.

3 / 3

Progressive Disclosure

Sections are well-organized and the API reference is layered (in-repo → AsyncAPI → Context7 → product docs), but the referenced 'reference.md' in-repo file does not exist in any bundle directory, and substantial API detail lives inline rather than split out — 'some structure but could be better organized'.

2 / 3

Total

10

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A high-quality, specific, third-person description that answers both what the skill does and when to use it, with rich natural trigger terms and explicit disambiguation from sibling Deepgram skills. No vague fluff or over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions and APIs ('client.agent.v1.connect()', 'AgentV1Settings', 'send_settings', 'send_media', event handling, function/tool calling, full-duplex STT + LLM + TTS), matching the 'multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicit 'Use when writing or reviewing Python code...' clause answers when, and the capabilities sentence answers what, with explicit trigger guidance — matching the 'clearly answers both what AND when' anchor.

3 / 3

Trigger Term Quality

Strong coverage of natural terms a user would say ('voice agent', 'interactive assistant', 'barge-in', 'function calling') alongside technical handles, matching the 'good coverage of natural terms' anchor.

3 / 3

Distinctiveness Conflict Risk

It carves a clear niche and explicitly disambiguates from sibling skills ('Use deepgram-python-text-to-speech for one-way synthesis...', 'deepgram-python-speech-to-text / deepgram-python-conversational-stt for transcription only'), making mis-trigger unlikely.

3 / 3

Total

12

/

12

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
deepgram/deepgram-python-sdk
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.