CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

deepgram-java-text-to-speech

Use when writing or reviewing Java code in this repo that calls Deepgram Text-to-Speech v1 (`/v1/speak`) for audio synthesis. Covers one-shot REST via `client.speak().v1().audio().generate(...)` and streaming synthesis via `client.speak().v1().v1WebSocket()`. Use `deepgram-java-voice-agent` for full-duplex assistants instead of one-way synthesis. Triggers include "tts", "text to speech", "speak", "aura", "streaming tts", and "speak websocket".

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

88%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 skill body: executable REST, streaming, and async examples with correct ordering and close handling, honest scope statements ('reference.md is not present in this checkout'), and high-signal gotchas. The only slack is minor padding in the cross-promotion and layered-reference sections and the inline parameter list that could live in a reference file.

Suggestions

Trim or shorten the 'Central product skills' promotional section to a single line, since it does not guide the TTS task itself and costs context tokens.

Move the 'Key parameters / API surface' listing into a references/ file (e.g. references/api-surface.md) and keep only the most-used builder/method names inline, tightening both conciseness and progressive disclosure.

Consolidate the five-entry layered API-reference list to the two or three sources most likely to be consulted, or collapse them into one line per protocol.

DimensionReasoningScore

Conciseness

The body is code-first and assumes Claude's competence — no padding explaining what TTS or WebSocket is, and comments in the examples earn their place (e.g. 'Log write failures rather than throwing from the WebSocket callback thread'). It falls short of 5 because the 'Central product skills' section is promotional padding and the five-source layered reference list could be tightened.

4 / 5

Actionability

Complete, copy-paste-ready Java for REST, WebSocket, and async paths with full imports and real class names ('SpeakV1Request.builder()...generate(request)', 'wsClient.sendFlush(SpeakV1Flush.builder().type(SpeakV1FlushType.FLUSH).build())'), plus a concrete gotchas section. The common cases are covered with executable code, matching the score-5 anchor.

5 / 5

Workflow Clarity

The two flows are unambiguously sequenced: a REST-vs-WebSocket decision section, and the WebSocket example registers handlers before 'connect().get(10, TimeUnit.SECONDS)' then sendText → sendFlush → sendClose, with 'Flush before close on WebSocket' restated in Gotchas. As a simple, non-destructive code-usage skill whose single actions are unambiguous, it earns 5 under the rubric's simple-skill note.

5 / 5

Progressive Disclosure

Sections are well organized and the 'API reference (layered)' pointers (in-repo source dirs, OpenAPI/AsyncAPI URLs) are one level deep and clearly signaled, with no nested-reference chains. It sits at 4 rather than 5 because the inline 'Key parameters / API surface' listing and the promotional 'Central product skills' section are organization gaps that a references/ bundle file could offload.

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.

An exemplary description: explicit Use-when guidance, concrete SDK call signatures for both REST and WebSocket paths, a natural-language trigger list with synonyms, and explicit disambiguation from the sibling voice-agent skill. No changes needed.

DimensionReasoningScore

Specificity

The description names concrete actions with exact SDK call paths — 'one-shot REST via `client.speak().v1().audio().generate(...)` and streaming synthesis via `client.speak().v1().v1WebSocket()`' — covering both API surfaces comprehensively in third-person voice. It exceeds the score-4 anchor ('minor gaps in coverage') because both modes plus the boundary case are explicitly enumerated.

5 / 5

Completeness

It clearly answers both questions: 'Use when writing or reviewing Java code in this repo that calls Deepgram Text-to-Speech v1' gives the when, 'Covers one-shot REST ... and streaming synthesis' gives the what, and concrete trigger phrases are listed. This is an exact match for the score-5 anchor.

5 / 5

Trigger Term Quality

An explicit trigger list — 'tts', 'text to speech', 'speak', 'aura', 'streaming tts', and 'speak websocket' — covers natural synonyms users would say, including the model name. This matches the comprehensive-synonym anchor rather than score 4 ('a few natural terms missing').

5 / 5

Distinctiveness Conflict Risk

It is scoped to the Java SDK and TTS v1, and explicitly redirects the nearest overlapping skill: 'Use `deepgram-java-voice-agent` for full-duplex assistants instead of one-way synthesis.' This clear niche with minimal conflict risk matches the score-5 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-java-sdk

Path

.agents/skills/deepgram-java-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.