CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-go-audio

Use when writing Go code with `github.com/ax-llm/ax/packages/go` for audio input/output, OpenAI Responses audio mapping, realtime event folding, and generated package audio examples.

63

Quality

79%

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/go/skills/ax-go-audio/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

A lean, information-dense body that assumes competence and delivers only package-specific facts an agent could not derive, plus a concrete core code pattern and a guardrails-driven workflow with a deterministic no-key validation step. Weaknesses are mild: an over-broad inline API symbol list and no complete end-to-end audio example.

Suggestions

Trim the "Relevant API Surface" list to audio-relevant symbols (AxAIService, OpenAIResponsesClient, etc.) or move the full list into a reference file, since balancers, routers, tracers, and meters are unrelated to this skill's audio scope.

Include one short end-to-end example (e.g., a speak() call and an audio input mapping) so the common cases are copy-paste ready without opening examples/.

DimensionReasoningScore

Conciseness

The body is dense with package-specific facts Claude cannot know ("`speak()` returns... `data` (base64 audio), `format`, `mimeType`, `transcript`") with no padding or general-concept explanations. Not 5 because the "Relevant API Surface" list includes non-audio symbols (balancers, routers, tracers, meters) that do not earn their place in an audio-focused skill.

4 / 5

Actionability

Provides an executable core pattern (`llm := ax.NewAI("openai", map[string]ax.Value{"apiKey": ...})`) and highly concrete details ("OpenAI defaults to `gpt-4o-mini-tts` with the `alloy` voice... asks for `pcm` when the format is `pcm16`"). Not 5 because there is no complete end-to-end speak or render example inline — the runnable examples live in `examples/`, which is only named, not shown.

4 / 5

Workflow Clarity

The Guardrails section supplies an ordered approach with a validation checkpoint: "Start from package examples", "Use `no-key` examples for deterministic local checks and provider request mapping", and "provider-api examples only when the user explicitly has provider credentials". Not 5 because the sequence is implied by rule ordering rather than explicitly staged, and no error-recovery feedback loop is described.

4 / 5

Progressive Disclosure

Package Facts clearly signals one-level-deep external materials ("`API.md` and `axir-api.json`", "`axir-capabilities.json`", "`examples/`") and sections are well organized. Not 5 because the bulk "Relevant API Surface" symbol list is inline reference content that would be better split into a separate file, keeping SKILL.md a pure overview.

4 / 5

Total

16

/

20

Passed

Description

76%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: specific, third-person, with an explicit and concrete 'Use when' trigger clause tied to a named package. Its main weakness is trigger-term coverage — jargon-heavy phrases like "realtime event folding" replace the natural words users would say (speech, TTS, voice, transcription).

Suggestions

Add natural trigger synonyms users would actually say: 'speech', 'TTS', 'voice', 'transcription', or 'text-to-speech' alongside the existing audio/realtime terms.

Replace or gloss jargon phrases like 'realtime event folding' and 'OpenAI Responses audio mapping' with plainer wording (e.g., 'streaming realtime audio events', 'sending audio to OpenAI Responses models').

Optionally mention 'speech generation' explicitly so the description covers the speak()/TTS behavior that dominates the skill body.

DimensionReasoningScore

Specificity

The description lists several concrete action areas — "audio input/output, OpenAI Responses audio mapping, realtime event folding, and generated package audio examples" — grounded in a specific package. It is not 5 because the skill body covers speech defaults, TTS voices, and audio rendering that the description leaves as minor coverage gaps.

4 / 5

Completeness

It clearly and explicitly answers both what ("audio input/output... OpenAI Responses audio mapping, realtime event folding, and generated package audio examples") and when ("Use when writing Go code with `github.com/ax-llm/ax/packages/go` for audio...") with concrete trigger phrases. Third person voice is used and no trigger clause is missing.

5 / 5

Trigger Term Quality

Relevant keywords are present ("Go", "audio", "OpenAI Responses", "realtime"), but natural terms users would actually say — "speech", "TTS", "voice", "transcription" — are missing even though the body is largely about speech. This matches anchor 3 (some relevant keywords, missing common variations) rather than 4, since the omissions are central to the skill, not just a few.

3 / 5

Distinctiveness Conflict Risk

A clear niche — audio on one specific Go package — with distinct triggers and minimal conflict risk with generic skills. Not 5 because the body references a sibling "gen skill" for the same generated package, creating minor overlap risk with closely related skills in the same family.

4 / 5

Total

16

/

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.