minutes-record
SkillDocs & knowledgeStart or stop recording a meeting, call, or voice memo. Use this whenever the user says "record", "start recording", "capture this meeting", "stop recording", "I'm in a meeting", "take notes on this call", or wants to transcribe live audio. Also use when they ask about recording status or want to know if something is being recorded.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the minutes-record skill
What this skill tells your AI
The instructions your AI receives, as published by silverstein/minutes in .opencode/skills/minutes-record/SKILL.md and read by ahel’s review.
Skill Path
Before running helper scripts or opening bundled references, set:
export MINUTES_SKILLS_ROOT="$(git rev-parse --show-toplevel)/.opencode/skills"
export MINUTES_SKILL_ROOT="$MINUTES_SKILLS_ROOT/minutes-record"
/minutes-record
Record audio from the microphone, transcribe it locally with whisper.cpp, and save as searchable markdown.
How it works
Recording is a two-step process — start and stop. Between those two commands, audio is captured continuously from the default input device.
Start recording:
minutes record
# Or with a title:
minutes record --title "Weekly standup with Alex"
The process runs in the foreground. It captures audio from whatever input device is active — the built-in MacBook mic for in-person conversations, or a BlackHole virtual audio device for system audio (Zoom, Meet, Teams calls).
Stop recording:
minutes stop
This sends a signal to the recording process, which then:
- Stops audio capture
- Transcribes the audio locally via whisper.cpp (no cloud, no data leaves the machine)
- Saves the transcript as a markdown file in
~/meetings/ - Prints the output path and word count as JSON
Live transcript during recording:
While recording, Minutes streams a real-time transcript to ~/.minutes/live-transcript.jsonl. You can read it with:
minutes transcript # all lines
minutes transcript --since 42 # lines after cursor
minutes transcript --since 5m # last 5 minutes
minutes transcript --status # check if active
This lets you follow what's being discussed mid-meeting. The live output is rougher than the final transcript produced after stop -- it prioritizes speed over accuracy.
Check status:
minutes status
Returns JSON: {"recording": true, "pid": 12345} or {"recording": false}
What you get
A markdown file at ~/meetings/YYYY-MM-DD-title.md with:
- YAML frontmatter (title, date, duration, type)
- Timestamped transcript
- Summary, decisions, and action items (if LLM summarization is configured)
File permissions are set to 0600 (owner-only) because transcripts contain sensitive content.
First-time setup
If the user hasn't set up minutes before, they need a speech model:
Whisper (default):
minutes setup --model small
This downloads a ~466MB model. For faster but lower quality: --model tiny (75MB). For best quality: --model large-v3 (3.1GB).
Parakeet preferences currently resolve to Whisper on every platform. The pathname-only helper cannot safely receive Minutes' sealed private audio, so setup and selection fail closed until a secure byte transport lands. Do not send users through the Parakeet setup guide as a recording prerequisite.
Gotchas
- "model not found" → Run
minutes setup --model small. This is the most common first-run error. - "already recording" → Run
minutes stopfirst, orminutes statusto check. If the PID file is stale (process crashed),minutes stopwill clean it up. - No audio captured / empty transcript → Check that the right input device is selected in System Settings > Sound. On MacBooks, the default mic works for in-person conversations but won't capture system audio.
- For Zoom/Meet/Teams audio → You need BlackHole to capture system audio. See
references/audio-devices.mdin this skill folder for the full setup guide. - Recording runs but transcription is garbage → The
tinymodel is fast but low quality. Upgrade tosmallormediumfor real meetings:minutes setup --model small. - "permission denied" on output file → Output files are
0600(owner-only). This is intentional — transcripts contain sensitive content. Don't chmod them to be world-readable. - Long meetings (>2 hours) → Transcription time scales with duration. A 2-hour meeting with the
smallmodel takes ~3-5 minutes on Apple Silicon. Thetinymodel is ~4x faster but much less accurate. - Recording process disappeared → If you close the terminal tab where
minutes recordis running, the recording stops but may not process. Always useminutes stopfrom another terminal.
Signals
- GitHub stars
- 1k
- Forks
- 162
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
minutes-record- Source
- github.com/silverstein/minutes