transcribe
Skill0 starsChanged 5 months agoMITView on GitHub
Transcribe audio or video files. Two methods: local Whisper (default, free, runs on your machine), or OpenAI Whisper API (faster, needs OPENAI_API_KEY). Use when the user asks to transcribe audio, video, podcasts, interviews, or any media with speech.
- Reads credentials
- Installs packages
47 other projects use a version of this.
Adopted by
Most recently taken up by
- linxule/carreltheir own version, first seen Nov 8, 2026
- overment/skillstheir own version, first seen Nov 8, 2026
- TserenTserenov/FMT-exocortex-templatetheir own version, first seen Nov 2, 2026
- iwesys/IWEtheir own version, first seen Nov 1, 2026
- thesammykins/skillstheir own version, first seen Nov 1, 2026
- DojoCodingLabs/remotion-superpowerstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use spreadsheet, think and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
JetBrainsSkillspreadsheet
Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`, `.csv`, `.tsv`) with formula-aware workflows, cached recalculation, and visual review.
Also in 3 projects that use this
vltingSkillthink
Lightweight plan-to-execution pipeline. Explores codebase, runs council deliberation, presents plan for approval, then executes via /run.
Also in 3 projects that use this
robzolkosSkilldone
Reset the working directory for the next task by ensuring no uncommitted changes exist, then switching to the main branch and pulling latest.
Also in 3 projects that use this
JaimeGBASkillingest
Digest an external source (article, paper, transcript, URL, book chapter) and integrate its content into the knowledge base
Also in 3 projects that use this
AnthropicSkillonboarding
Generate an onboarding checklist and first-week plan for a new hire. Use when someone has a start date coming up, building the pre-start task list (accounts, equipment, buddy), scheduling Day 1 and Week 1, or setting 30/60/90-day goals for a new team member.
Also in 3 projects that use this
MicrosoftSkilldiagnose
Use to systematically diagnose why scenarios fail — identifies root causes by analyzing agent traces, codebase, and behavioral patterns
Also in 3 projects that use this
Other versions47 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 47
- openai/skills★ 27ksame name
- gnekt/My-Brain-Is-Full-Crew★ 3.9ksame name
- badlogic/pi-skills★ 2.5ksame name
- greatSumini/cc-system★ 438same name
- JetBrains/skills★ 386same name
- bholmesdev/skills★ 179same name
- DojoCodingLabs/remotion-superpowers★ 153same name
- thiagofinch/mega-brain★ 95same name
- TserenTserenov/FMT-exocortex-template★ 63same name
- jftuga/transcript-critic★ 40same name
37 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- carouselSkill
- classifier-dashboardSkill
- cleanupSkill
- decisionsSkill
- handoffSkill
- obsidian-launcherSkill
- one-pagerSkill
- proofSkill
- session-summarySkill
- usage-trackerSkill
- video-analysisSkill
- web-image-optimizerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 6 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 40 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
If method is not specified, default to local.
- Distinctive: line 25
If no file path is present after parsing, ask the user for the file path.
- Distinctive: line 31
Check the file exists and show basic info:
- Distinctive: line 37
If the file doesn't exist, tell the user and stop.
- Distinctive: line 41
If the user mentioned the language, use that.
- Very specific: line 47
If unsure, ask the user, or use auto to let Whisper detect the language.
- Very specific: line 77
Run with timeout up to 600000ms — the large model takes roughly ~4x realtime on CPU.
- Very specific: line 85
If you prefer to offload transcription to a more powerful machine, you can run the same steps over SSH.
- Very specific: line 104
If ffmpeg or whisper are installed in a non-default location on the remote host, prepend the appropriate directory to PATH inside the SSH …
- Very specific: line 112
If you keep it in a secrets manager (e.g.
- Very specific: line 118
If OPENAI_API_KEY is not set, ask the user to provide it (or to set it in their secrets manager) before continuing.
- Distinctive: line 147
Read the transcript file and show a preview (first ~30 lines)
- Distinctive: line 149
Ask if the user wants the full transcript displayed or any post-processing (summary, translation, formatting, etc.)
- Very specific: line 153
local: ensure ffmpeg and whisper are on your PATH before running
- Very specific: line 154
local: if whisper fails with memory errors on the large model, retry with medium (or small) and warn the user
- Very specific: line 157
api: read the key from OPENAI_API_KEY (or from your secrets manager).
“Common” is measured: kept by at least 6 in 10 of the 40 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Transcribe Skill
Transcribes audio/video files using one of two methods:
- local (default) — OpenAI Whisper running on your machine. Free, slower, great quality for many languages. Can optionally run on a remote host over SSH.
- api — OpenAI Whisper API (
whisper-1). Fast, usesOPENAI_API_KEY.
Input parsing
$ARGUMENTS may contain up to two parts: [filepath] [method]
- Parse the last word of $ARGUMENTS. If it is
localorapi, that is the method; the rest is the file path. - If method is not specified, default to
local. - Examples:
/transcribe interview.mp3→ file=interview.mp3, method=local/transcribe interview.mp3 api→ file=interview.mp3, method=api/transcribe interview.mp3 local→ file=interview.mp3, method=local
If no file path is present after parsing, ask the user for the file path.
Supported formats: .mp3, .m4a, .wav, .ogg, .flac, .aac, .wma, .mp4, .mov, .mkv, .webm, .avi
Step 1 — Validate input
Check the file exists and show basic info:
ls -lh "FILEPATH"If the file doesn't exist, tell the user and stop.
Step 2 — Ask for language (if not obvious)
If the user mentioned the language, use that. Common options:
en— Englishpt— Portuguesees— Spanishauto— auto-detect (mixed languages)
If unsure, ask the user, or use auto to let Whisper detect the language.
Method: local (Whisper on your machine)
By default this runs locally. It can optionally run on a remote host over SSH (see "Running on a remote host" below).
Prerequisites:
- OpenAI Whisper installed:
pip install -U openai-whisper(verify withpython3 -m whisper --help) - FFmpeg installed and on your
PATH(e.g.brew install ffmpegon macOS, or your distro's package manager)
The first run of a model will download its weights. The large model gives the best quality; use medium/small/base for less memory or faster runs.
Step 3.5L — Convert to WAV
Whisper works best with WAV input. Always convert:
ffmpeg -i "FILEPATH" -ar 16000 -ac 1 -c:a pcm_s16le "FILEPATH_WITHOUT_EXT.wav" -yStep 4L — Transcribe
python3 -m whisper "FILEPATH_WITHOUT_EXT.wav" --model large --language LANG --output_dir "LOCAL_OUTPUT_DIR" --output_format txtFor auto language detection, omit the --language flag.
Run with timeout up to 600000ms — the large model takes roughly ~4x realtime on CPU.
Step 5L — Locate transcript
The transcript is written to LOCAL_OUTPUT_DIR/FILENAME_WITHOUT_EXT.txt. Place it in the same directory as the original file.
Running on a remote host (optional)
If you prefer to offload transcription to a more powerful machine, you can run the same steps over SSH. Replace <your-remote-host> with your SSH host (as configured in ~/.ssh/config or user@hostname):
# 1. Send the file
scp "FILEPATH" <your-remote-host>:/tmp/
# 2. Convert to WAV on the remote host
ssh <your-remote-host> "ffmpeg -i '/tmp/FILENAME' -ar 16000 -ac 1 -c:a pcm_s16le '/tmp/FILENAME_WITHOUT_EXT.wav' -y"
# 3. Transcribe on the remote host
ssh <your-remote-host> "python3 -m whisper '/tmp/FILENAME_WITHOUT_EXT.wav' --model large --language LANG --output_dir /tmp/ --output_format txt"
# 4. Retrieve the transcript
scp <your-remote-host>:/tmp/FILENAME_WITHOUT_EXT.txt "LOCAL_OUTPUT_DIR/"
# 5. Clean up the remote host
ssh <your-remote-host> "rm -f '/tmp/FILENAME' '/tmp/FILENAME_WITHOUT_EXT.wav' '/tmp/FILENAME_WITHOUT_EXT.txt'"If ffmpeg or whisper are installed in a non-default location on the remote host, prepend the appropriate directory to PATH inside the SSH command (e.g. export PATH=/path/to/bin:$PATH && ...).
Method: api (OpenAI Whisper API)
Prerequisites:
- An OpenAI API key available in the
OPENAI_API_KEYenvironment variable. - If you keep it in a secrets manager (e.g. a password manager,
pass, your OS keychain, a.envfile), read it from there and export it before running:
export OPENAI_API_KEY="sk-..." # or load it from your secrets managerIf OPENAI_API_KEY is not set, ask the user to provide it (or to set it in their secrets manager) before continuing. Never hard-code or print the key.
Step 3A — Call Whisper API
The file must be ≤ 25MB. If larger, warn the user and suggest splitting or using the local method instead.
curl -s https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F file="@FILEPATH" \
-F model="whisper-1" \
-F language="LANG" \
-F response_format="text"For auto language detection, omit the -F language parameter.
Step 4A — Save transcript
Save the API response (plain text) to a .txt file alongside the original:
FILEPATH_WITHOUT_EXT.txtStep 7 — Show result (both methods)
- Read the transcript file and show a preview (first ~30 lines)
- Report: file path of the saved transcript, approximate word count, method used
- Ask if the user wants the full transcript displayed or any post-processing (summary, translation, formatting, etc.)
Notes
- local: ensure
ffmpegandwhisperare on yourPATHbefore running - local: if whisper fails with memory errors on the
largemodel, retry withmedium(orsmall) and warn the user - local: for very large files (> 500MB) sent to a remote host, warn the user that the SCP transfer may take a while
- api: 25MB limit — suggest
localfor larger files - api: read the key from
OPENAI_API_KEY(or from your secrets manager); never expose it in logs or responses
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

