CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

transcript-fixer

Corrects ASR/STT transcription errors — homophones, garbled terms, person-name errors, mixed Chinese/English — with dictionary rules plus Claude's built-in AI, no external API key required. Use to clean meeting notes, lecture transcripts, interviews or speech-recognition text, even when the user only says "fix this transcript". Not for structuring a clean transcript into minutes (use meeting-minutes-taker).

75

Quality

94%

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.

The body is a strong, well-structured operating contract: executable quick-start commands, a fully specified JSON result contract, route/conditional-action routing tables, an explicit validation-gated checklist, and a verified one-level-deep reference bundle. Its one real weakness is conciseness at the margin — core invariants are restated many times and a few policy bullets are over-compressed to the point of being hard to parse, trading clarity for density.

Suggestions

State the 'Stage 1 alone is incomplete' invariant once in the Operating contract and refer back to it from the JSON contract, the caller contract, and the route table instead of restating it six times.

Split the ~200-word batch-rung bullet (verify_queue_audio.py / 'A backlog of exhausted pendings is the batch form of this rung') into a one-sentence rule plus a pointer to advanced_correction_evidence.md, matching how the other Conditional actions route details to references.

Consolidate the 'read the full file with bounded, non-truncated reads before acting' instruction — currently repeated in the Operating contract, Native correction checklist, and Conditional actions — into a single Run context rule.

DimensionReasoningScore

Conciseness

The body teaches no concepts Claude already knows and wastes no tokens on fluff, but it restates the same invariants repeatedly — 'Stage 1 alone is incomplete' appears at least six times (e.g. "Do not report a transcript clean after Stage 1 alone", "stage1_only_incomplete … must remain true", "Script-path integration alone is therefore a Stage 1 prefilter, not transcript correction"), and the read-in-full-before-acting rule appears three times (Operating contract, Native correction checklist, Conditional actions). Bullets like the ~200-word batch-rung bullet ("A backlog of exhausted pendings is the batch form of this rung: …") are over-compressed to the point of obscurity, so brevity does not always preserve clarity. This fits anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') better than 4 — the repetition is more than 'minor instances' — but better than 2, since there is no padded or already-known-content filler.

3 / 5

Actionability

The Quick start gives copy-paste-ready commands ("uv run scripts/fix_transcription.py --init", the --stage 1 --domain … --apply-domain --json invocation, --scan-traps usage), the JSON output contract is reproduced field-by-field with semantics for every field, and the canonical caller call is executable verbatim. Route and conditional-action tables map every situation to concrete required reading, matching anchor 5 ('Fully executable; copy-paste ready code or commands; specific examples cover the common cases'). Score 4 would require 'minor gaps', but the common cases (init, Stage 1 run, dry-run, trap scan, caller integration) all have ready commands.

5 / 5

Workflow Clarity

The two-phase loop is stated up front ("Stage 1 applies deterministic…; Native AI Correction reads the complete transcript…"), followed by a 6-step checklist with explicit validation gates: "run Stage 1 and inspect its diff", "Run the trap scan; complete Full-tier cold review and adjudicate its residuals", "require zero pending for final/high-quality claims", and the hard gate "A final/high-quality claim requires exact-file stats.pending_total == 0". Feedback loops for error recovery are present (cold-review recovery, pending queue, ask-once escalation), matching anchor 5 ('explicit validation steps; feedback loops for error recovery; checklists for complex processes'). Since this batch-edit skill has thorough validation, the destructive/batch cap at 3 does not apply.

5 / 5

Progressive Disclosure

The body is an overview that explicitly guarantees one-level depth ("All references are one level from this file") — verified against the actual bundle: all 35 referenced files exist in references/, deep-linked anchors resolve (native_review_packets.md#occurrence-specific-evidence, native_ai_full_workflow.md#evidence-selection-and-escalation), and the entry-point scripts it names (fix_transcription.py, scan_numeric_consistency.py, fetch_minute_audio.py, review-dashboard/server.py, verify_queue_audio.py) exist. Content is split by need (Reference map), action (Conditional actions), and route (Choose the route), with scripts explicitly 'executed, not loaded'. This matches anchor 5 ('clear overview with well-signaled one-level-deep references; easy navigation') with no organization gaps.

5 / 5

Total

18

/

20

Passed

Description

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

The description is an exemplary trigger description: it states a concrete multi-category capability (homophones, garbled terms, person-name errors, mixed Chinese/English), a mechanism and constraint (dictionary rules plus built-in AI, no external API key), explicit 'Use to…' triggers with natural synonyms and a modeled lazy phrase, and an explicit non-goal that disambiguates the nearest sibling skill. It is written in third person and concise.

DimensionReasoningScore

Specificity

Quotes: "Corrects ASR/STT transcription errors — homophones, garbled terms, person-name errors, mixed Chinese/English — with dictionary rules plus Claude's built-in AI, no external API key required." It names multiple concrete correction categories, the mechanism (dictionary rules + built-in AI), a hard constraint (no external API key), and an explicit non-goal. This matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' rather than 4, whose 'minor gaps in coverage' don't apply — the what, how, and boundary are all covered.

5 / 5

Completeness

The 'what' is explicit ("Corrects ASR/STT transcription errors… with dictionary rules plus Claude's built-in AI") and the 'when' is explicit with concrete trigger phrases ("Use to clean meeting notes, lecture transcripts, interviews or speech-recognition text, even when the user only says 'fix this transcript'"), plus a boundary clause ("Not for structuring a clean transcript into minutes"). This is the anchor-5 pattern (cf. the good example 'Extract text and tables from PDF files… Use when working with PDF files or when the user mentions…'), not 4, because the 'when' clause is already maximally explicit with concrete trigger phrases.

5 / 5

Trigger Term Quality

Quotes: "ASR/STT", "transcription errors", "meeting notes, lecture transcripts, interviews or speech-recognition text", "even when the user only says 'fix this transcript'". Natural synonyms (transcription/transcript/speech-recognition/ASR/STT) plus common artifacts (meeting notes, lecture transcripts, interviews) and an explicitly modeled lazy-user trigger phrase give comprehensive coverage per the anchor; no natural phrasing a user would say is plausibly missing, so 4's 'a few natural terms missing' does not fit.

5 / 5

Distinctiveness Conflict Risk

Quotes: "Corrects ASR/STT transcription errors" with a clear niche and "Not for structuring a clean transcript into minutes (use meeting-minutes-taker)" — an explicit disambiguation from the nearest neighboring skill. Trigger terms (homophones, ASR/STT, speech-recognition) are domain-specific, so minimal conflict risk; matches anchor 5 ('Clear niche with distinct triggers; minimal conflict risk') rather than 4, which requires residual overlap with closely related skills.

5 / 5

Total

20

/

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/transcript-fixer/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.