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

76

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

Quality

Content

87%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a tight, actionable code skill with executable Java examples, an explicit API surface, and well-signaled one-level-deep references to in-repo source and external docs. Its weakest dimension is workflow clarity: the connect/send sequence lacks an explicit validation or error-recovery checkpoint.

Suggestions

Add an explicit validation checkpoint to the connect flow: after `onWelcome`, call `sendSettings` and wait for `onSettingsApplied` before sending media, stated as a numbered step so the ordering is enforced rather than implied.

Wire `onErrorMessage`/`onWarning` handlers in the quick start (not just list them) so failures surface and Claude can react, giving the runtime a concrete error-recovery feedback loop.

Add a brief retry/backoff note for the `connect().get(10, SECONDS)` step so a timeout or refused injection (onInjectionRefused) has a defined recovery path.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: no explanation of what WebSockets/voice agents are, tight code blocks, and a compact gotchas list, matching the 'lean and efficient; every token earns its place' anchor; the verbose import list is necessary for executable Java rather than padding, so it does not drop to level 2.

3 / 3

Actionability

Provides fully executable, copy-paste-ready Java in the quick start and message-injection sections plus an enumerated API surface (send methods, event handlers, connect path), matching the 'fully executable code; copy-paste ready' anchor rather than the pseudocode/incomplete level 2.

3 / 3

Workflow Clarity

The quick start implies a sequence (build client, handle onWelcome, sendSettings, attach handlers, connect) and gotcha #2 reinforces 'send settings first', but there is no explicit validation checkpoint or error-recovery feedback loop — onErrorMessage/onWarning are only listed, never wired — so it sits at level 2 ('sequence present but checkpoints missing or implicit') rather than level 3.

2 / 3

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are empty) and the body appropriately keeps an overview in SKILL.md while signaling one-level-deep pointers (in-repo source paths, the layered 1-4 API reference list, example files), with no nested reference chains, matching the 'clear overview with well-signaled one-level-deep references' anchor.

3 / 3

Total

11

/

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.

The description is specific, complete, and distinctive: it names concrete API surfaces, gives explicit 'Use when...' triggers with natural keywords, and disambiguates from sibling Deepgram skills. It uses third-person imperative voice throughout with no over-claims or padding.

DimensionReasoningScore

Specificity

Lists multiple concrete surfaces and actions such as `client.agent().v1().v1WebSocket()`, `AgentV1Settings`, `sendSettings`, `sendMedia`, event handlers, provider configuration, and message injection, matching the 'lists multiple specific concrete actions' anchor rather than the partial 'names domain and some actions' level 2.

3 / 3

Completeness

Clearly answers both 'what' (builds an interactive voice agent over the converse WebSocket, covering the listed surfaces) and 'when' via an explicit 'Use when writing or reviewing Java code in this repo...' clause plus triggers, satisfying the level 3 anchor and the 'missing Use when clause caps at 2' rule does not apply.

3 / 3

Trigger Term Quality

Explicit 'Triggers include "voice agent", "agent converse", "full duplex", "barge in", "function call", and "agent websocket"' provides good coverage of natural terms a user would actually say, matching the level 3 anchor rather than the partial level 2.

3 / 3

Distinctiveness Conflict Risk

Has a clear niche (full-duplex voice agent) and explicitly routes away from siblings ('Use deepgram-java-text-to-speech for one-way synthesis or the STT skills for transcription-only flows'), making it unlikely to trigger the wrong skill, matching the level 3 anchor.

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.

Validation16 / 16 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.