Minutes Record
Start or stop recording a meeting, call, or voice memo.
Install
npx skills add silverstein/minutes --skill minutes-record -g -a claude-code -y- Repository
- silverstein/minutes1.6k
- Category
- Writing
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 1,047 tokens
- Runs scripts
- No, instructions only
What it does
Start 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.
Skill Path
Before running helper scripts or opening bundled references, set:
export MINUTES_SKILLS_ROOT="$(git rev-parse --show-toplevel)/.agents/skills/minutes"
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}
