CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-java-audio

Use when writing Java code with `dev.axllm:ax` for audio input/output, OpenAI Responses audio mapping, realtime event folding, and generated package audio examples.

64

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/java/skills/ax-java-audio/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-5

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

The body delivers concentrated, package-specific technical detail with one real code snippet and concrete defaults, but it reads as a fact sheet: no ordered workflow with validation steps, an oversized inline API symbol list, and references to files (API.md, axir-api.json, examples/) that are not present in the bundle.

Suggestions

Add a short ordered workflow with a validation checkpoint, e.g. 1) check the target capability in axir-capabilities.json, 2) adapt the matching example from examples/, 3) verify the request mapping with a no-key example before making a live provider call.

Move the ~40-symbol 'Relevant API Surface' list into a reference file (or point to API.md / axir-api.json alone) and keep only the handful of symbols needed for audio work inline.

Ensure the referenced files (API.md, axir-api.json, axir-capabilities.json, examples/) actually exist in the skill bundle, or reword the pointers so agents are not sent to missing resources.

DimensionReasoningScore

Conciseness

The body is dense with package-specific facts Claude cannot know (field names, provider defaults, error semantics) and assumes competence rather than explaining basics — e.g. 'speak() returns ... data (base64 audio), format, mimeType, transcript'. It falls short of a 5 because the intro paragraph repeats the description, and the 'Relevant API Surface' section is a ~40-symbol comma-dump that pads tokens without added guidance.

4 / 5

Actionability

There is one executable Core Pattern snippet ('var llm = Ax.ai("openai", java.util.Map.of("apiKey", System.getenv("OPENAI_API_KEY")))') and highly specific guidance such as concrete defaults ('gpt-4o-mini-tts with the alloy voice') and exact JSON key fallback orders. Not a 5: most speech/audio guidance is declarative prose describing behavior rather than copy-paste-ready code for the common cases, and the referenced 'examples/' directory is not present in the bundle to back the 'start from package examples' instruction.

4 / 5

Workflow Clarity

The body is a reference of facts rather than a sequenced process; guidance like 'Start from package examples ... before inventing a new call shape' and the no-key/provider-api split gives rough ordering, but there is no workflow with validation checkpoints for the operations it describes (e.g. verifying a speech request maps correctly). It is above anchor 2 because the When To Use and Guardrails sections do define a rough decision flow, but it matches anchor 3: sequence hints present, checkpoints missing or implicit.

3 / 5

Progressive Disclosure

Sections are well organized and the body points to external materials ('API.md and axir-api.json', 'axir-capabilities.json', 'examples/'), but none of those files exist in this skill's bundle, and the large inline 'Relevant API Surface' symbol list is content that belongs in a separate reference file. This matches anchor 3 — some structure, references present but not resolvable, content that should be separate is inline.

3 / 5

Total

14

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description with an explicit 'Use when' trigger naming the exact package, language, and task areas, plus several concrete capabilities. The only gap is that natural synonyms users might say for audio work (speech, voice, transcription) are not included as trigger terms.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities — 'audio input/output', 'OpenAI Responses audio mapping', 'realtime event folding', and 'generated package audio examples' — anchored to a specific package. It falls short of a 5 because 'audio input/output' is broad and related capabilities covered in the body (speech rendering, transcription) are absent, leaving minor coverage gaps.

4 / 5

Completeness

Both what and when are explicit: the description states what it does ('audio input/output, OpenAI Responses audio mapping, realtime event folding, and generated package audio examples') and gives a concrete 'Use when writing Java code with dev.axllm:ax' trigger clause naming the exact package and task areas. This matches the anchor-5 example's structure rather than anchor 4, whose 'when' is less task-specific.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'Java code', 'audio input/output', 'OpenAI Responses', 'realtime event folding' are phrases a user would plausibly say. Not a 5 because common user synonyms such as 'speech', 'voice', 'transcription', or 'TTS' — which the body itself covers — are missing from the trigger phrasing.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear niche: Java code for the specific generated package 'dev.axllm:ax' with audio/realtime semantics. It is unlikely to trigger for unrelated skills; the package name and language qualifier make conflict risk minimal.

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
ax-llm/ax
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.