CtrlK
BlogDocsLog inGet started
Tessl Logo

deepgram-java-voice-agent

Use when writing or reviewing Java code in this repo that builds an interactive voice agent over `agent.deepgram.com/v1/agent/converse`. Covers `client.agent().v1().v1WebSocket()`, `AgentV1Settings`, `sendSettings`, `sendMedia`, event handlers, provider configuration, and message injection. Use `deepgram-java-text-to-speech` for one-way synthesis or the STT skills for transcription-only flows. Triggers include "voice agent", "agent converse", "full duplex", "barge in", "function call", and "agent websocket".

68

Quality

82%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

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 examples that cover the core voice agent workflow. Its main weaknesses are the lack of explicit validation/error-handling steps in the workflow (important for WebSocket operations) and some verbosity in cross-referencing other skills and products. The API surface enumeration is a strong reference asset.

Suggestions

Add explicit error handling and validation steps to the workflow: what to check after connect(), how to handle onErrorMessage/onWarning, and what to do if settings are rejected.

Trim the 'When to use this product' and 'Central product skills' sections — Claude can infer product boundaries from context, and the npx install instruction is tangential to using the voice agent.

DimensionReasoningScore

Conciseness

Generally efficient but includes some unnecessary content: the 'When to use this product' section with cross-references to other skills is somewhat verbose, the 'Central product skills' section at the bottom adds tokens without directly aiding the task, and some gotchas explain things Claude could infer. The code examples themselves are lean and well-targeted.

2 / 3

Actionability

Provides fully executable, copy-paste-ready Java code for authentication, WebSocket setup, settings configuration, and message injection. The API surface section enumerates all send methods and event handlers concretely. Import statements are included, making the examples immediately usable.

3 / 3

Workflow Clarity

The implicit workflow (connect → onWelcome → sendSettings → stream audio → handle events) is demonstrated in the Quick Start code, and gotcha #2 reinforces the ordering. However, there are no explicit validation checkpoints, no error handling steps, and no feedback loop for connection failures or settings rejection — important for a WebSocket-based real-time system.

2 / 3

Progressive Disclosure

The skill references example files and external documentation links, which is good. However, there are no bundle files provided to support progressive disclosure, and the content is somewhat monolithic — the gotchas, API surface, and reference sections could benefit from better separation. The layered API reference section is well-structured but points mostly to external URLs rather than bundled content.

2 / 3

Total

9

/

12

Passed

Description

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 hits all the marks. It provides specific API methods and capabilities, includes explicit trigger terms, clearly delineates when to use this skill versus related skills (TTS and STT), and opens with a proper 'Use when' clause. The description is concise yet comprehensive, using third person voice throughout.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and API elements: building an interactive voice agent, using specific methods like `client.agent().v1().v1WebSocket()`, `AgentV1Settings`, `sendSettings`, `sendMedia`, event handlers, provider configuration, and message injection.

3 / 3

Completeness

Clearly answers both 'what' (building an interactive voice agent over the Deepgram agent converse API, covering specific methods and configurations) and 'when' (explicit 'Use when' clause for writing/reviewing Java code in this repo, plus explicit trigger terms and disambiguation guidance for related skills).

3 / 3

Trigger Term Quality

Explicitly lists natural trigger terms users would say: 'voice agent', 'agent converse', 'full duplex', 'barge in', 'function call', 'agent websocket'. Also includes technical terms like the API endpoint and method names that developers would reference.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with clear boundaries: explicitly differentiates from text-to-speech and STT-only skills by naming them and explaining when to use those instead. The specific API endpoint, method names, and trigger terms create a clear niche.

3 / 3

Total

12

/

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

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