CtrlK
BlogDocsLog inGet started
Tessl Logo

deepgram-python-text-to-speech

Use when writing or reviewing Python code in this repo that calls Deepgram Text-to-Speech v1 (`/v1/speak`) for audio synthesis. Covers one-shot REST (`client.speak.v1.audio.generate`) and streaming WebSocket (`client.speak.v1.connect`). Also covers the in-repo `deepgram.helpers.TextBuilder` for incremental text assembly before synthesis. Use `deepgram-python-voice-agent` when you need full-duplex STT + LLM + TTS with barge-in. Triggers include "TTS", "speak", "synthesize voice", "aura", "text to speech", "speak.v1", "TextBuilder".

76

Quality

95%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

90%Weight 40%Scale 1-5

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

An exemplary code skill body: dense, executable, copy-paste-ready examples for every API path (REST, WSS, async, TextBuilder), correct gotchas stated as terse imperatives, and well-organized layered references. The only weaknesses are the missing in-bundle `reference.md` (referenced but absent) and the absence of explicit error-recovery guidance for the streaming path.

Suggestions

Add `reference.md` (or move it into a `references/` directory and update the pointer) so the primary layered reference in 'API reference (layered)' actually resolves from the skill bundle.

Add a short error-recovery note for the WebSocket path (e.g., what to do on an ERROR event or dropped connection before audio completes) to give the streaming workflow an explicit validation checkpoint.

DimensionReasoningScore

Conciseness

Lean throughout: code-first sections ('Quick start — REST', 'Quick start — WebSocket'), a one-line auth warning ('Header: `Authorization: Token <api_key>` (NOT `Bearer`)'), a compact 'Key parameters' line, and a numbered 'Gotchas' list — no explanation of concepts Claude already knows and every token earns its place. Not score 4 because there is no over-explanatory passage to trim.

5 / 5

Actionability

Fully executable, copy-paste-ready code for all four common cases (REST sync, WSS sync, TextBuilder fluent API, async equivalents), plus concrete operational facts (response is audio bytes not JSON, useful headers `dg-model-name`/`dg-char-count`, 'There is no `.add(...)` method'). Not score 4: the examples are complete and runnable as written, covering the common paths end to end.

5 / 5

Workflow Clarity

The WSS flow gives a correctly sequenced path with an explicit ordering checkpoint: 'send all text + flush + close BEFORE calling it, OR run it in a thread', reinforced by gotcha #3 ('`send_close()` without `send_flush()` may drop trailing audio') and #4. Not score 5 because there are no explicit validation/error-recovery steps (e.g., what to do when the ERROR event fires mid-stream); not score 3 because sequence and ordering constraints are explicit, and there are no destructive or batch operations that would require a feedback loop.

4 / 5

Progressive Disclosure

Good structure: clear section headers, and a layered 'API reference' section numbered 1–5 pointing one level deep to the in-repo `reference.md`, OpenAPI/AsyncAPI URLs, Context7, and product docs. Not score 5 because the referenced `reference.md` is not present in the skill bundle (no references/ directory exists), so the primary layered reference cannot be verified, and a moderate amount of API surface (parameter list, gotchas) is inlined rather than split out. Not score 3: references are clearly signaled and organized, not buried.

4 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

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 model description: third-person voice, exact SDK method names, explicit 'Use when' clause with both scope (Python code in this repo calling /v1/speak) and natural trigger phrases, and explicit boundary routing to the sibling voice-agent skill. Every clause is informative with no padding or over-claims.

DimensionReasoningScore

Specificity

Concrete actions are named with exact SDK surface: one-shot REST (`client.speak.v1.audio.generate`), streaming WebSocket (`client.speak.v1.connect`), and `deepgram.helpers.TextBuilder` for incremental text assembly — comprehensive coverage of the domain's capabilities. Not score 4 because there are no minor gaps: every main API path plus the helper is explicitly enumerated.

5 / 5

Completeness

Explicitly answers both: what ("Covers one-shot REST (`client.speak.v1.audio.generate`) and streaming WebSocket (`client.speak.v1.connect`). Also covers ... `TextBuilder`") and when ("Use when writing or reviewing Python code in this repo that calls Deepgram Text-to-Speech v1") plus a concrete trigger-phrase list. Not score 4 because the 'when' is fully explicit with trigger phrases, not merely present.

5 / 5

Trigger Term Quality

Triggers include "TTS", "speak", "synthesize voice", "aura", "text to speech", "speak.v1", "TextBuilder" — natural user phrases, synonyms (TTS / text to speech / synthesize voice), the model family name, and the endpoint/helper identifiers. Not score 4 because common variations users would actually say are all present; there is no natural file extension for this domain to be missing.

5 / 5

Distinctiveness Conflict Risk

Clear niche (Deepgram TTS v1 in the Python SDK) with distinct triggers, and it explicitly resolves the one adjacent-skill conflict: "Use `deepgram-python-voice-agent` when you need full-duplex STT + LLM + TTS with barge-in". Not score 4: the overlap risk with the sibling voice-agent skill is not just minor but actively routed away by this boundary sentence, matching the minimal-conflict anchor.

5 / 5

Total

20

/

20

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.

Validation — 16 / 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.