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

86

Quality

82%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

SKILL.md
Quality
Evals
Security

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 covers all key dimensions well. It specifies concrete API methods and actions, provides explicit trigger terms, clearly delineates when to use this skill versus related alternatives, and occupies a distinct niche. The only minor note is its density, but it remains clear and well-organized.

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 with specific methods and configurations) and 'when' (explicit 'Use when' clause for Java code in this repo, plus explicit trigger terms and guidance on when to use alternative skills instead).

3 / 3

Trigger Term Quality

Explicitly lists natural trigger terms ('voice agent', 'agent converse', 'full duplex', 'barge in', 'function call', 'agent websocket') and includes technical identifiers like the API endpoint and method names that users working in this domain would naturally reference.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive with a clear niche (Java voice agent over a specific Deepgram API endpoint) and explicitly differentiates itself from related skills (`deepgram-java-text-to-speech` for one-way synthesis, STT skills for transcription-only), reducing 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 examples that cover the core voice agent workflow. Its main weaknesses are the lack of explicit error-handling/validation steps in the workflow (important for WebSocket operations) and some verbosity in the gotchas section and peripheral content like the 'Central product skills' block. The API surface enumeration and layered reference section are well done.

Suggestions

Add an explicit error-handling step in the quick start workflow, e.g., registering `onErrorMessage` and `onWarning` handlers before `connect()`, and showing what to do if `connect().get()` throws.

Trim gotcha #5 (provider wrappers) to 1-2 sentences — the compile-time caveat and sealed-union detail is more than Claude needs to use the API correctly.

Remove or condense the 'Central product skills' section at the bottom — it's promotional/organizational rather than actionable for writing voice agent code.

DimensionReasoningScore

Conciseness

Generally efficient but includes some unnecessary explanation (e.g., 'When to use this product' section with obvious routing, the 'Central product skills' section at the end, and some gotchas that explain SDK internals Claude could infer). The provider wrapper gotcha (#5) is notably verbose. However, most content earns its place.

2 / 3

Actionability

Provides fully executable, copy-paste-ready Java code for authentication, quick start with settings configuration, and message injection. The API surface listing with concrete method names and event handlers gives Claude everything needed to write working code.

3 / 3

Workflow Clarity

The quick start implicitly shows the workflow (create client → register onWelcome → send settings → handle events → connect), but there's no explicit validation or error-handling checkpoint. For a WebSocket-based operation where connection failures and settings rejection are real risks, the absence of error recovery steps (e.g., checking onErrorMessage, handling connection timeouts) caps this at 2.

2 / 3

Progressive Disclosure

References to example files and external docs are well-signaled, and the layered API reference section is good. However, with no bundle files provided, the references to in-repo source paths and example files are unverifiable. The skill also inlines a fair amount of content (gotchas, full API surface listing) that could potentially be split, though for a skill of this length it's borderline acceptable.

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.

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.