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".
68
82%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Quality
Discovery
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 specific, well-scoped, and actionable. It clearly defines what the skill covers (Deepgram TTS v1 one-shot and streaming in Java), when to use it, and explicitly distinguishes itself from a related skill. The inclusion of concrete method signatures, API paths, and natural trigger terms makes it highly effective for skill selection.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: one-shot REST audio generation via a specific method path, streaming synthesis via WebSocket, and distinguishes from full-duplex assistants. Includes specific API paths and method signatures. | 3 / 3 |
Completeness | Clearly answers both 'what' (calling Deepgram TTS v1 for one-shot REST and streaming synthesis in Java) and 'when' (explicit 'Use when' clause at the start, plus explicit trigger terms and a boundary condition distinguishing from the voice-agent skill). | 3 / 3 |
Trigger Term Quality | Explicitly lists natural trigger terms ('tts', 'text to speech', 'speak', 'aura', 'streaming tts', 'speak websocket') and includes technical terms users would naturally use like '/v1/speak', 'audio synthesis', and 'Deepgram Text-to-Speech'. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive: scoped to Java, Deepgram TTS v1 specifically, with explicit boundary guidance ('Use deepgram-java-voice-agent for full-duplex assistants instead'). This clear delineation from a related skill minimizes conflict risk. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable skill with executable Java code for both REST and WebSocket TTS paths. Its main strengths are concrete, complete code examples with proper imports and error handling. Weaknesses include some verbosity (promotional footer, negative-knowledge gotchas), missing validation checkpoints for I/O operations, and a somewhat long single-file structure that could benefit from splitting detailed content into referenced files.
Suggestions
Add a validation step after writing audio files (e.g., check file size > 0 or verify audio headers) to improve workflow reliability for I/O operations.
Remove or trim the 'Central product skills' promotional section and gotcha #6 (negative knowledge about Python helper) to improve conciseness.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient but has some unnecessary elements: the 'Central product skills' section at the bottom is promotional/boilerplate, the 'There is no Java TextBuilder helper' gotcha explains something that doesn't exist (negative knowledge of limited value), and some import lists are verbose. However, most content earns its place. | 2 / 3 |
Actionability | Provides fully executable, copy-paste ready Java code for both REST and WebSocket paths, including proper imports, error handling in callbacks, and async equivalents. The API surface section gives concrete method signatures and parameter names. | 3 / 3 |
Workflow Clarity | The REST and WebSocket workflows are clear sequences, and the WebSocket example properly shows flush-before-close ordering. However, there are no explicit validation checkpoints (e.g., verifying the audio file was written correctly, checking connection success beyond the timeout, or handling generation failures), which matters for I/O operations. | 2 / 3 |
Progressive Disclosure | The skill has good section structure and references external files (example files, API docs, OpenAPI specs). However, with no bundle files provided, the references to in-repo source paths and example files cannot be verified. The 'API reference (layered)' section is well-organized but the skill itself is fairly long (~120 lines of content) and could benefit from splitting the WebSocket example or parameter reference into separate files. | 2 / 3 |
Total | 9 / 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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
6d7d7d5
Table of Contents
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.