Use when writing or reviewing Go code in this repo that runs a Deepgram Voice Agent session over WebSockets, including runtime settings, prompt updates, speak updates, injected messages, and event handling. Route standalone STT/TTS work to deepgram-go-speech-to-text or deepgram-go-text-to-speech.
78
72%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.agents/skills/deepgram-go-voice-agent/SKILL.mdQuality
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 clearly defines its scope, provides rich trigger terms, and explicitly addresses both when to use it and when not to use it. The negative routing guidance to related skills (deepgram-go-speech-to-text, deepgram-go-text-to-speech) is a particularly strong feature that minimizes conflict risk. The description is concise yet comprehensive.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: writing/reviewing Go code, running Deepgram Voice Agent sessions over WebSockets, runtime settings, prompt updates, speak updates, injected messages, and event handling. Also specifies routing guidance for related but distinct tasks. | 3 / 3 |
Completeness | Clearly answers both 'what' (writing/reviewing Go code for Deepgram Voice Agent sessions with specific features) and 'when' (explicit 'Use when' clause at the start). Also includes negative routing guidance ('Route standalone STT/TTS work to...') which further clarifies when NOT to use it. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural trigger terms users would say: 'Go code', 'Deepgram', 'Voice Agent', 'WebSockets', 'runtime settings', 'prompt updates', 'speak updates', 'injected messages', 'event handling', 'STT', 'TTS'. Also references related skill names for disambiguation. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche (Deepgram Voice Agent over WebSockets in Go). The explicit routing instruction to send STT/TTS work to other named skills directly addresses potential overlap and minimizes conflict risk. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
44%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill is well-organized with good progressive disclosure and clear scoping of when to use it versus sibling skills. However, it falls short on actionability and workflow clarity — the quick start only covers connection setup while the core workflows (audio streaming, event handling, function-call responses, runtime updates) are mentioned but never demonstrated with executable code or sequenced steps.
Suggestions
Add a concrete code example showing the event handling loop (reading from the channel handler) and responding to a FunctionCallRequest, since these are core use cases listed but never demonstrated.
Add a sequenced workflow section showing the full session lifecycle: connect → send settings → stream audio → handle events → send runtime updates → graceful shutdown, with explicit validation/error handling at each step.
Show executable examples of runtime methods like UpdatePrompt, InjectAgentMessage, or UpdateSpeak rather than just listing them as bullet points.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient but includes some unnecessary sections like the 'Central product skills' block and the 'Gotchas' section has items that could be tighter. The quick start code is clean but the comment at the end is vague filler. The 'Key parameters' section lists items without adding much beyond what reading the code would reveal. | 2 / 3 |
Actionability | The quick start provides a concrete, executable connection setup, but it stops short of showing actual audio streaming, event handling, or function-call responses — the core use cases listed in 'When to use this product'. The key parameters section lists types and methods without showing how to use them (e.g., no example of UpdatePrompt, InjectAgentMessage, or handling FunctionCallRequest). | 2 / 3 |
Workflow Clarity | The skill describes a multi-step WebSocket session flow (connect, send settings, stream audio, handle events, respond to function calls) but never sequences these steps clearly. The quick start ends with a comment saying 'stream audio frames, watch agent events' without showing how. There are no validation checkpoints or error recovery patterns for a live streaming session. | 1 / 3 |
Progressive Disclosure | Well-structured with clear sections (When to use, Quick start, Key parameters, API reference, Examples). The API reference section provides a layered hierarchy from in-repo files to external docs, all one level deep and clearly signaled. Example files are listed for deeper exploration. | 3 / 3 |
Total | 8 / 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.
b7c92f4
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.