CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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".

70

Quality

88%

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

82%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.

A strong, code-first reference skill: executable quick starts for REST, WSS, TextBuilder, and async variants, with terse high-value gotchas and explicit ordering constraints. Deductions are for the promotional 'Central product skills' section and layered link list (verbosity), the absence of an explicit verify/test step in the workflows, and an unverifiable `reference.md` pointer with no bundle files present.

Suggestions

Trim the 'Central product skills' cross-promotion section and collapse the five-layer API reference to the one or two authoritative sources (e.g., the in-repo reference plus the OpenAPI/AsyncAPI links) to cut tokens without losing guidance.

Add an explicit validation checkpoint to each quick start, e.g. 'after wiring, run `python tests/wire/test_speak_v1_audio.py` (or the manual WSS test under tests/manual/speak/v1/connect/) to verify' — the test files are already listed but never wired into the workflow.

Give `reference.md` a resolvable path (e.g., `references/reference.md`) and actually include it in the bundle, or drop the pointer; also consider moving the 'Key parameters' listing into that reference file to keep SKILL.md a pure overview.

DimensionReasoningScore

Conciseness

The body is dense and code-first with no explanation of concepts Claude already knows — gotchas like 'REST response is audio bytes, not JSON' and 'Token auth, not Bearer' are non-obvious SDK/API facts that earn their tokens. It falls short of anchor 5 because of the 'Central product skills' cross-promotion section ('npx skills add deepgram/skills') and the five-layer API-reference enumeration (Context7, two product-doc URLs), which are trimmable relative to the skill's core task.

4 / 5

Actionability

Every workflow ships complete, executable code: the REST quick start writes chunks to 'output.raw', the WSS quick start registers all four event handlers and sends SpeakV1Text/flush/close in order, and TextBuilder and async equivalents are copy-paste ready. This matches the anchor-5 pattern of fully executable examples covering the common cases, with specifics like encoding='linear16', sample_rate=24000.

5 / 5

Workflow Clarity

Sequencing is clear: REST vs WSS selection criteria up front, per-path quick starts, and ordering constraints called out ('send all text + flush + close BEFORE calling it' for sync start_listening). It sits at anchor 4 rather than 5 because there is no explicit validation checkpoint after writing code — e.g., no 'run tests/wire/test_speak_v1_audio.py' step — leaving verification implicit; not 3, since no destructive/batch operation is involved and the sequences present are complete.

4 / 5

Progressive Disclosure

Good structure with clear sections and one-level-deep, clearly signaled references (numbered 'API reference (layered)' list, 'Example files in this repo' section, 'See `docs/FluxTtsControls.md`, `examples/22-text-builder-demo.py`'). It does not reach anchor 5 because the top-priority reference '`reference.md`' is not present in the skill bundle (no references/ directory exists) and is given without a path, so navigation to the primary in-repo reference cannot be verified, and the inline 'Key parameters' section is a compressed API reference that could live in a separate file.

4 / 5

Total

17

/

20

Passed

Description

87%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 strong description: explicit what/when structure, method-level API specificity, an explicit trigger list, and deliberate routing away from the sibling voice-agent skill. The only deductions are a second-person phrase in the boundary clause ('when you need full-duplex') and a couple of missing natural synonyms such as 'speech synthesis'.

DimensionReasoningScore

Specificity

The description names the domain and multiple concrete capabilities with method-level identifiers — 'one-shot REST (`client.speak.v1.audio.generate`)', 'streaming WebSocket (`client.speak.v1.connect`)', '`deepgram.helpers.TextBuilder` for incremental text assembly' — matching the anchor-5 example of comprehensive concrete coverage. However, the boundary clause 'Use `deepgram-python-voice-agent` when you need full-duplex' uses second person ('you need'), which the judging guidelines penalize by reducing specificity by 1.

4 / 5

Completeness

It explicitly answers 'what' ('Covers one-shot REST ... and streaming WebSocket ... Also covers the in-repo `deepgram.helpers.TextBuilder`') and 'when' ('Use when writing or reviewing Python code in this repo that calls Deepgram Text-to-Speech v1'), with concrete trigger phrases appended — a direct match for the anchor-5 example structure. Not 4, because the 'when' clause is fully explicit and trigger-scoped rather than merely present.

5 / 5

Trigger Term Quality

Explicit trigger list covers natural phrases users would say: 'TTS', 'text to speech', 'synthesize voice', 'speak', plus product-specific 'aura', 'speak.v1', 'TextBuilder'. Good-to-comprehensive coverage, but common synonyms like 'speech synthesis' or 'voice'/'audio generation' are absent, so it falls between the 'good coverage, a few natural terms missing' (4) and 'comprehensive including synonyms' (5) anchors — closer to 4.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (Deepgram TTS v1 via the Python SDK in this repo) and actively disambiguates against the nearest overlapping skill: 'Use `deepgram-python-voice-agent` when you need full-duplex STT + LLM + TTS with barge-in.' Triggers like 'speak.v1', 'TextBuilder', and 'aura' are product-specific with minimal conflict risk — matches anchor 5.

5 / 5

Total

18

/

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

Path

.agents/skills/deepgram-python-text-to-speech/SKILL.md

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.