Skills

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:

  1. Stops audio capture
  2. Transcribes the audio locally via whisper.cpp (no cloud, no data leaves the machine)
  3. Saves the transcript as a markdown file in ~/meetings/
  4. 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

Read the whole SKILL.md on GitHub

More in Writing