CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-python-audio

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

59

Quality

74%

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 ./website/static/python/.well-known/agent-skills/ax-python-audio/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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, well-organized reference for the generated axllm audio surface with accurate, specific behavioral facts and a useful guardrail sequence. Its main weakness is actionability: the audio/speech/realtime operations the skill exists for are described in prose rather than shown with executable examples, and the inline API symbol list dilutes both conciseness and structure.

Suggestions

Add one short executable example of the core audio flow (e.g., calling speak() and reading data/transcript, or sending an audio part) so the skill's primary task is copy-paste ready, not just the client-construction snippet.

Trim the 'Relevant API Surface' list to audio-relevant symbols (or move it to a reference file like API.md already provides) to cut non-audio tokens such as balancer, meter, and tracer symbols.

Number the recommended flow (start from no-key examples → verify request mapping → only then use provider-api examples with credentials) to make the sequence and its checkpoint explicit.

DimensionReasoningScore

Conciseness

The body is dense, package-specific facts with no padding of concepts Claude already knows ('speak() returns TypeScript's speech result keys: data (base64 audio), format, mimeType, transcript'). However, the 'Relevant API Surface' list inlines ~30 symbols including many non-audio ones (AxBalancer, AxMeter, set_tracer) that do not earn their place in an audio-specific skill, keeping it below a 5.

4 / 5

Actionability

The Core Pattern is executable ('llm = ai("openai", api_key=os.environ["OPENAI_API_KEY"])'), but the skill's core purpose — speech, audio fields, realtime event folding — is covered only in descriptive prose with defaults and key names ('OpenAI defaults to gpt-4o-mini-tts with the alloy voice') rather than any executable speak() or audio-input example. This is more than a minor gap for a code skill, so it sits above the pseudocode anchor at 3 rather than 4.

3 / 5

Workflow Clarity

The Guardrails provide an implicit sequence with a validation-style checkpoint: 'Start from package examples for exact native syntax before inventing a new call shape' and 'Use no-key examples for deterministic local checks and provider request mapping'. There are no numbered steps or explicit error-recovery loops, but no destructive or batch operations are involved, so the simple-skill guidance applies and this lands at 4 rather than 5.

4 / 5

Progressive Disclosure

Sections are well organized (When To Use, Package Facts, Core Pattern, Speech And Audio Fields, Guardrails) and package artifacts are clearly signaled ('Package API docs: API.md and axir-api.json', 'Runnable examples: examples/'). No bundle files exist alongside SKILL.md to verify navigation against, and the large inline API-symbol list is content that could live in a separate reference file — minor organization gaps typical of a 4 rather than 5.

4 / 5

Total

15

/

20

Passed

Description

71%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 specific, third-person description with an explicit 'Use when' trigger and a clearly distinguishable niche anchored to the axllm package. Its weaknesses are the absence of natural synonyms users actually say (speech, transcription, voice, TTS) and the lack of a distinct action statement separate from the trigger clause.

Suggestions

Add natural trigger synonyms users say for this domain — speech, transcription, voice, text-to-speech — e.g., 'Use when writing Python code with axllm for speech synthesis, transcription, audio input/output...'.

Lead with a short third-person action statement before the trigger clause (e.g., 'Maps speech, audio input/output, and realtime events through the generated axllm provider surface.') so the what is stated independently of the when.

Mention the main speech capability (speak() synthesis) that the body documents, since it is a primary reason the skill would be invoked.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas: 'audio input/output, OpenAI Responses audio mapping, realtime event folding, and generated package audio examples'. This matches the several-specific-actions anchor, but it omits speech synthesis and transcription (which the body covers), so coverage has minor gaps rather than being comprehensive at 5.

4 / 5

Completeness

An explicit trigger clause is present ('Use when writing Python code with axllm for...') and the what is embedded via the concrete task list, so both what and when are answered. But the 'when' clause doubles as the 'what' — there is no separate action statement (e.g., 'Maps speech and realtime events through the generated provider surface') — keeping it at 4 rather than the fully explicit both-parts anchor at 5.

4 / 5

Trigger Term Quality

Good keyword coverage exists: 'Python', 'audio input/output', 'realtime', 'audio examples', plus the package name 'axllm' for users who know it. However, the most natural user terms for this domain — speech, transcription, voice, TTS — are absent, and 'realtime event folding' is compiler jargon users would not say, so it falls just below the comprehensive-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

The description names a specific generated package ('axllm') and a narrow niche (OpenAI Responses audio mapping, realtime event folding), giving it distinct triggers with minimal overlap risk against generic Python or audio skills. It clearly matches the clear-niche anchor.

5 / 5

Total

17

/

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.