nweii/agent-stuff

transcribe-audio

Transcribe audio or video to text with a locally-run speech-to-text model. Use when the user wants a transcript or captions from a recording, wants to run speech-to-text locally instead of a cloud service, or wants to set up or switch their local transcription model.

First seen Jun 16, 2026

Installation

$ npx skills add nweii/agent-stuff --skill transcribe-audio

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from nweii/agent-stuff · top by installs.

npx skills add nweii/agent-stuff

Browse all from nweii/agent-stuff

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 9
License LICENSE
Default branch master
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
CompatibilityNeeds a shell, Python 3, and ffmpeg. Default models target Apple Silicon (MLX via uvx); other platforms work but supply their own model command in the config.
More metadata
author
nweii
version
1.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,855 B
  • docs SUMMARY.md 291 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 8 installs

SKILL.md

Transcribe audio

Produce a transcript from an audio or video file using the model configured on this machine.

Check for a config first

Settings live in ~/.config/transcribe-audio/config.json.

  • Missing — the machine isn't set up. Read references/setup.md and run setup (staging area, then model choice) before transcribing. Don't pick a model unprompted: the right one depends on the user's hardware, languages, and whether they want speed or accuracy, and a wrong guess wastes a large download.
  • Present — go straight to transcribing.

When the user asks to change or upgrade their model, route to references/setup.md as well.

Transcribe

Run the bundled script on the file:

python3 <skill-dir>/scripts/transcribe.py /path/to/recording.mp4

The script extracts a 16kHz mono WAV (so audio and video files are handled the same way), runs the configured model, and writes the transcript to the staging area.

  • --outdir DIR — write the WAV and transcript somewhere other than the staging area.
  • --format srt — timestamped captions instead of prose; txt (default), vtt, and json also work.

Run it in the foreground and let its output stream. Throughput is high, but a multi-hour file still takes real time, and a silent run reads as stalled.

Offer to fix errors when accuracy matters

Auto-transcripts fail in predictable spots: proper nouns — names, products, jargon — get misheard, and audio over music or crosstalk garbles. Whether to fix this depends on use. A transcript the user skims once needs nothing; one they'll quote, publish, or keep as a record is worth a pass.

Flag, don't silently correct: you're inferring what was said, and a confident wrong fix buries the error where the user won't catch it. Read the whole transcript first, and ground proper nouns in whatever context exists — project notes, a glossary, the surrounding conversation — rather than substituting a similar-sounding name from your own knowledge. Then triage what you find:

  • A term misheard the same way throughout (a name rendered as a consistent non-word) — propose one find-and-replace.
  • A garbled clause that context can recover — propose your reading as a question ("I think this is X — does that match?"), don't just rewrite it.
  • A stretch where several words are nonsense and context doesn't pin it down — flag it as garbled and leave the original; don't fabricate a clean version.

Surface the flags as a list and let the user confirm; each correction is context for the rest of the pass. A dedicated audit can go further — building a domain glossary, wrapping unrecoverable spans in callouts that preserve the original — but this much is useful on its own.

Offer to structure a long transcript

Raw output is one unbroken block of text. For anything long, offer to make it navigable: break it into paragraphs at natural shifts in topic, and add brief subheadings that summarize each section. This doesn't change the words, so it's worth doing even on a transcript you don't correct — keep it separate from the error pass.

Switching models

Follow the "Swapping models later" section of references/setup.md. It re-checks the landscape, installs the replacement, and updates the config; the staging area is untouched.