audio-transcription
Installation
SKILL.md
Use this skill whenever the user asks to transcribe an audio/video file, a Voice Memos export, dictation, lecture, meeting recording, or "bad audio".
Core rules
- Preserve temporary inputs immediately. Voice Memo share-sheet paths under
~/Library/Containers/com.apple.VoiceMemos/Data/tmp/.com.apple.uikit.itemprovider...can disappear. Before probing or experimenting, copy the file to stable/private/tmp/audio-transcription-inputs/. - Use cached local models, not cloud APIs. Prefer MLX Whisper via
uvx --from mlx-whisper mlx_whisper; Hugging Face models must be cached in~/.cache/huggingface/hub/. - Force language when known. For Armin's own dictations this is usually English with an Austrian/German accent, even when the filename is German. Do not infer language from filename alone.
- For bad audio, run a hallucination-resistant pass. Use
--condition-on-previous-text False,--word-timestamps True, and--hallucination-silence-threshold 2. - Deliver a cleaned best-effort transcript. Compare model output with timestamps/JSON, remove obvious Whisper loops, and mark uncertain spans as
[unclear]rather than inventing words.
Fast path
Run from this skill directory:
cd /Users/mitsuhiko/Development/agent-stuff/skills/audio-transcription
./transcribe-audio.py "/path/to/audio.m4a" --language en --quality balanced