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

88%

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.

This is a strong, highly actionable skill that provides SDK-specific knowledge Claude genuinely needs — real type names, import paths, method signatures, and lifecycle patterns. The workflow is well-sequenced with explicit validation checkpoints and error recovery. The main weakness is length: the dynamic mid-session and stream lifecycle sections are thorough but could be extracted to separate files to keep the main SKILL.md leaner, and a few sections include slightly more commentary than necessary.

Suggestions

Extract the 'Dynamic mid-session adjustment' and 'Stream lifecycle & recovery' sections into separate referenced files (e.g., MID_SESSION.md, LIFECYCLE.md) to reduce the main skill's token footprint while preserving discoverability.

Trim inline comments in code examples — e.g., '# Useful for proactive prompts, status updates, or scripted segues' and similar explanatory comments that Claude can infer from context.

DimensionReasoningScore

Conciseness

The skill is mostly efficient and provides genuinely useful SDK-specific information Claude wouldn't know, but some sections are verbose — the 'When to use this product' block, the lengthy reconnect example, and the dynamic mid-session section with extensive inline comments could be tightened. The event types list and client messages list are appropriately concise.

2 / 3

Actionability

Excellent actionability throughout — the quick start is fully executable with real import paths and typed settings objects, the dynamic mid-session section provides copy-paste-ready code for each operation, and the reconnect/keepalive examples are concrete and complete with actual SDK types.

3 / 3

Workflow Clarity

The lifecycle is clearly sequenced: connect → send_settings (MUST be first) → register handlers → stream audio → handle events. The stream lifecycle section explicitly covers pause/idle/reconnect with validation-like checkpoints (KeepAlive timing, detecting disconnects via CLOSE handler, InjectionRefused retry logic). Gotchas section reinforces critical ordering constraints.

3 / 3

Progressive Disclosure

The skill references external files (reference.md, example files, deepgram/skills) and external docs, which is good. However, the body itself is quite long (~250+ lines) with the dynamic mid-session and stream lifecycle sections containing substantial inline code that could be split into separate reference files. The API reference section provides good layered pointers, but no bundle files exist to verify the references.

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.

This is an excellent skill description that is highly specific, complete, and distinctive. It clearly defines the scope (interactive voice agent via a specific Deepgram API), lists concrete API elements and actions, provides explicit trigger terms, and proactively disambiguates from related skills. The description is well-structured and uses appropriate third-person voice throughout.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and API elements: `client.agent.v1.connect()`, `AgentV1Settings`, `send_settings`, `send_media`, event handling, function/tool calling, and references the specific endpoint `agent.deepgram.com/v1/agent/converse`. Also distinguishes from related skills for one-way synthesis and transcription.

3 / 3

Completeness

Clearly answers both 'what' (building an interactive voice agent with specific API methods, full-duplex STT+LLM+TTS) and 'when' (explicit 'Use when writing or reviewing Python code in this repo...' clause plus explicit trigger list). Also clarifies when NOT to use it by pointing to alternative skills for one-way synthesis and transcription-only tasks.

3 / 3

Trigger Term Quality

Includes a rich set of natural trigger terms users would say: 'voice agent', 'agent converse', 'full duplex', 'interactive assistant', 'barge-in', 'agent.v1', 'function calling', 'AgentV1Settings'. These cover both natural language and technical terms a developer would use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive by specifying the exact API endpoint, SDK methods, and use case (interactive voice agent). Explicitly differentiates from related Deepgram skills for text-to-speech and speech-to-text, reducing conflict risk significantly.

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.

Validation11 / 11 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.