Corrects speech-to-text transcription errors in meeting notes, lectures, and interviews using dictionary rules and AI. Learns patterns to build personalized correction databases. Use when working with transcripts containing ASR/STT errors, homophones, or Chinese/English mixed content requiring cleanup.
Install with Tessl CLI
npx tessl i github:fernandezbaptiste/claude-code-skills --skill transcript-fixer94
Does it follow best practices?
Validation for skill structure
Correct speech-to-text transcription errors through dictionary-based rules, AI-powered corrections, and automatic pattern detection. Build a personalized knowledge base that learns from each correction.
Python execution must use uv - never use system Python directly.
If uv is not installed:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Recommended: Use Enhanced Wrapper (auto-detects API key, opens HTML diff):
# First time: Initialize database
uv run scripts/fix_transcription.py --init
# Process transcript with enhanced UX
uv run scripts/fix_transcript_enhanced.py input.md --output ./correctedThe enhanced wrapper automatically:
ANTHROPIC_BASE_URL)Alternative: Use Core Script Directly:
# 1. Set API key (if not auto-detected)
export GLM_API_KEY="<api-key>" # From https://open.bigmodel.cn/
# 2. Add common corrections (5-10 terms)
uv run scripts/fix_transcription.py --add "错误词" "正确词" --domain general
# 3. Run full correction pipeline
uv run scripts/fix_transcription.py --input meeting.md --stage 3
# 4. Review learned patterns after 3-5 runs
uv run scripts/fix_transcription.py --review-learnedOutput files:
*_stage1.md - Dictionary corrections applied*_stage2.md - AI corrections applied (final version)*_对比.html - Visual diff (open in browser for best experience)Generate word-level diff (recommended for reviewing corrections):
uv run scripts/generate_word_diff.py original.md corrected.md output.htmlThis creates an HTML file showing word-by-word differences with clear highlighting:
japanese 3 pro → 🟢 Gemini 3 Pro (complete word replacements)Input transcript (meeting.md):
今天我们讨论了巨升智能的最新进展。
股价系统需要优化,目前性能不够好。After Stage 1 (meeting_stage1.md):
今天我们讨论了具身智能的最新进展。 ← "巨升"→"具身" corrected
股价系统需要优化,目前性能不够好。 ← Unchanged (not in dictionary)After Stage 2 (meeting_stage2.md):
今天我们讨论了具身智能的最新进展。
框架系统需要优化,目前性能不够好。 ← "股价"→"框架" corrected by AILearned pattern detected:
✓ Detected: "股价" → "框架" (confidence: 85%, count: 1)
Run --review-learned after 2 more occurrences to approveThree-stage pipeline stores corrections in ~/.transcript-fixer/corrections.db:
uv run scripts/fix_transcription.py --init--add "错误词" "正确词" --domain <domain>--input file.md --stage 3--review-learned and --approve high-confidence suggestionsStages: Dictionary (instant, free) → AI via GLM API (parallel) → Full pipeline
Domains: general, embodied_ai, finance, medical, or custom names including Chinese (e.g., 火星加速器, 具身智能)
Learning: Patterns appearing ≥3 times at ≥80% confidence move from AI to dictionary
See references/workflow_guide.md for detailed workflows, references/script_parameters.md for complete CLI reference, and references/team_collaboration.md for collaboration patterns.
MUST save corrections after each fix. This is the skill's core value.
After fixing errors manually, immediately save to dictionary:
uv run scripts/fix_transcription.py --add "错误词" "正确词" --domain generalSee references/iteration_workflow.md for complete iteration guide with checklist.
When GLM API is unavailable (503, network issues), the script outputs [CLAUDE_FALLBACK] marker.
Claude Code should then:
--addMUST read references/database_schema.md before any database operations.
Quick reference:
# View all corrections
sqlite3 ~/.transcript-fixer/corrections.db "SELECT * FROM active_corrections;"
# Check schema version
sqlite3 ~/.transcript-fixer/corrections.db "SELECT value FROM system_config WHERE key='schema_version';"| Stage | Description | Speed | Cost |
|---|---|---|---|
| 1 | Dictionary only | Instant | Free |
| 2 | AI only | ~10s | API calls |
| 3 | Full pipeline | ~10s | API calls |
Scripts:
ensure_deps.py - Initialize shared virtual environment (run once, optional)fix_transcript_enhanced.py - Enhanced wrapper (recommended for interactive use)fix_transcription.py - Core CLI (for automation)generate_word_diff.py - Generate word-level diff HTML for reviewing correctionsexamples/bulk_import.py - Bulk import exampleReferences (load as needed):
database_schema.md (read before DB operations), iteration_workflow.md (dictionary iteration best practices)installation_setup.md, glm_api_setup.md, workflow_guide.mdquick_reference.md, script_parameters.md, dictionary_guide.mdsql_queries.md, file_formats.md, architecture.md, best_practices.mdtroubleshooting.md, team_collaboration.mdVerify setup health with uv run scripts/fix_transcription.py --validate. Common issues:
--initexport GLM_API_KEY="<key>" (obtain from https://open.bigmodel.cn/)~/.transcript-fixer/ ownershipSee references/troubleshooting.md for detailed error resolution and references/glm_api_setup.md for API configuration.
4f0eae8
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.