一键导入
audio-transcription
Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network activity. Use when an agent needs a real browser. Prefer headless Chrome unless visible browser interaction is required.
Trigger native web search. Use when you need quick internet research with concise summaries and full source URLs.
Access Google Workspace APIs (Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, People) via local helper scripts without MCP. Handles OAuth login and direct API calls.
Fetch a URL or convert a local file (PDF/DOCX/HTML/etc.) into Markdown using `uvx markitdown`, optionally it can summarize
Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs. Fetches gists, decodes embedded session data, and extracts conversation history.
Use `uv` instead of pip/python/venv. Run scripts with `uv run script.py`, add deps with `uv add`, use inline script metadata for standalone scripts.
| name | audio-transcription |
| description | Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio. |
Use this skill whenever the user asks to transcribe an audio/video file, a Voice Memos export, dictation, lecture, meeting recording, or "bad audio".
~/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/.uvx --from mlx-whisper mlx_whisper; Hugging Face models must be cached in ~/.cache/huggingface/hub/.--condition-on-previous-text False, --word-timestamps True, and --hallucination-silence-threshold 2.[unclear] rather than inventing words.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
The script:
/private/tmp/audio-transcription-inputs/txt, srt, vtt, tsv, and json to /private/tmp/audio-transcriptions/<name>-<timestamp>/balanced mode, reruns with the full model if neededUseful variants:
# Quick draft, fastest cached model
./transcribe-audio.py audio.m4a --language en --quality fast
# Bad/important audio, slower full model
./transcribe-audio.py audio.m4a --language en --quality best \
--prompt "Armin Ronacher dictating about AI, data centers, Vienna, Donauinsel, shareholder value."
# Auto language detection when language is genuinely unknown
./transcribe-audio.py audio.m4a --language auto --quality balanced
Default model IDs:
mlx-community/whisper-large-v3-turbomlx-community/whisper-large-v3-mlxPre-cache / refresh both models:
cd /Users/mitsuhiko/Development/agent-stuff/skills/audio-transcription
./precache-models.py
Verify cache manually:
find ~/.cache/huggingface/hub -maxdepth 1 -type d -name 'models--mlx-community--whisper-large-v3*' -print
If a model is already cached, mlx_whisper should say Fetching 4 files: 100% almost instantly.
If the helper script is not suitable, use this command directly:
mkdir -p /private/tmp/audio-transcriptions/manual
uvx --from mlx-whisper mlx_whisper "/stable/copy/of/audio.m4a" \
--model mlx-community/whisper-large-v3-turbo \
--language en \
--condition-on-previous-text False \
--word-timestamps True \
--hallucination-silence-threshold 2 \
--output-format all \
--output-dir /private/tmp/audio-transcriptions/manual \
--output-name transcript \
--verbose False
For especially rough audio, replace the model with mlx-community/whisper-large-v3-mlx.
Inspect the generated .txt first, then the .srt/.json around suspicious areas.
Red flags that require rerun or cleanup:
in nature loops)avg_logprob is NaN or compression ratios are very high in JSONWhen finalizing, lightly punctuate and paragraph the transcript, but do not over-edit uncertain content.