CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

stepfun-asr

Transcribes Chinese/English audio with StepFun's stepaudio-3-asr-max via its SSE endpoint (not /v1/audio/transcriptions) — one call handles long-form audio with no chunking. Use when migrating from step-asr/stepaudio-2.5-asr, or hitting the misleading "model not supported" error (actually wrong endpoint). Triggers on 阶跃 ASR, 语音识别. Not for TTS with the sibling model (use stepfun-tts).

Quality

89%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

An excellent operationally-focused skill body: copy-paste commands for every route, a decision table and error-recovery table that make the workflow unambiguous, and a well-signaled one-level-deep reference bundle confirmed to exist on disk. The one weakness is token efficiency — pervasive date-stamped volatile facts outside any old-patterns section, a trap restated four times, and a full dialog template inlined in the Next Step section.

Suggestions

Consolidate the wrong-endpoint trap to one canonical statement plus the error-table row; the intro, trap 1, and decision table currently restate it four times.

Move date-stamped volatile facts (release/verified/measurement dates, the 2026-11-08 pricing promotion) into a single 'Volatile facts (re-verify)' or old-patterns section so the main body stays evergreen and cheaper to load.

Trim the duplicated timestamp-gap backstory in the params section (one line in each of the two guards) to a single sentence, and shorten the inlined Next-Step dialog to a one-line description of the two suggested follow-up skills.

DimensionReasoningScore

Conciseness

The body is dense with hard-won operational detail and never tutorials concepts Claude already knows, but it could be tightened: time-sensitive date-stamped info is pervasive ("released 2026-09-15, verified 2026-09-16", "measured 2026-09-18", pricing promo "through 2026-11-08") with none confined to an old-patterns/deprecated section, the wrong-endpoint trap is stated four times (intro, trap 1, decision table, error table), and the timestamp-gap story is told twice in the params section. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' better than the 'minor instances' bar for a 4.

3 / 5

Actionability

Every route has copy-paste-ready commands: `python3 scripts/asr_transcribe.py /path/to/audio.mp3 --json`, `--language en`, `--model stepaudio-2.5-asr`, the Plan invocation with `--key-env STEPFUN_PLAN_TOKEN --endpoint ... --model ...`, the first-time-setup heredoc, `python3 scripts/asr_file.py https://example.com/talk.mp3` with real sample output, and `check_params.py --selftest`. The decision table maps each scenario to an exact command and the error table maps exact error strings to fixes — common cases fully covered.

5 / 5

Workflow Clarity

The sequence is explicit: numbered fail-fast key resolution (env var → plugin config), a stated Plan-vs-wallet routing procedure ("Record the reason and actual route; this script never retries against the wallet automatically"), then a single unambiguous primary command. Validation feedback loops are present in both directions — `check_params.py --selftest` "calibrates both ways" and the parser reports `unhandled_response_fields` — and the common-error-pattern table provides recovery paths for each failure mode.

5 / 5

Progressive Disclosure

Verified against the actual bundle: the two referenced files (references/api_reference.md, references/known_issues.md) exist, are substantive, and are one level deep (cross-linked to each other and the scripts, never nested further); all three cited scripts exist. The dedicated "When to read references" section signals exactly when to consult each file, and the split is appropriate — exact JSON body/SSE shapes live in api_reference.md, edge cases in known_issues.md.

5 / 5

Total

18

/

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: concrete, third-person, with an explicit 'Use when' clause, natural trigger terms in both English and Chinese, and a clear negative boundary against the sibling TTS skill. The only gaps are minor — a few missing natural synonyms (speech-to-text, file extensions) and a single-action capability list that omits secondary features like timestamps and speaker labels.

DimensionReasoningScore

Specificity

"Transcribes Chinese/English audio with StepFun's stepaudio-3-asr-max via its SSE endpoint", "one call handles long-form audio with no chunking", and endpoint/error diagnostics are several concrete, specific capabilities. It falls short of a 5 because the capability set is one core action (transcription) — no mention of timestamps, speaker labels, or formats — and above a 3 because it goes well beyond naming the domain with 1-2 generic actions.

4 / 5

Completeness

Both halves are explicit: what ("Transcribes Chinese/English audio ... via its SSE endpoint — one call handles long-form audio with no chunking") and when ("Use when migrating from step-asr/stepaudio-2.5-asr, or hitting the misleading 'model not supported' error ... Triggers on 阶跃 ASR, 语音识别"). This mirrors the anchor-5 pattern of concrete trigger phrases attached to a clear what.

5 / 5

Trigger Term Quality

"Transcribes", "Chinese/English audio", "migrating from step-asr", the pasted-error trigger "model not supported", and the Chinese synonyms "阶跃 ASR, 语音识别" give good natural-term coverage. Not a 5: misses common variations like "speech-to-text", "transcription" as a standalone phrase, and any audio file extensions (.mp3, .wav).

4 / 5

Distinctiveness Conflict Risk

Model- and vendor-specific naming ("stepaudio-3-asr-max", exact endpoints) carves a clear niche, and the explicit negative boundary "Not for TTS with the sibling model (use stepfun-tts)" prevents the most likely wrong-skill trigger. Minimal conflict risk.

5 / 5

Total

18

/

20

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

daymade/claude-code-skills

Path

daymade-audio/stepfun-asr/SKILL.md

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.