# Minutes Record

Start or stop recording a meeting, call, or voice memo.

- Repository: https://github.com/silverstein/minutes (1583 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add silverstein/minutes --skill minutes-record -g -a claude-code -y`
Codex: `npx skills add silverstein/minutes --skill minutes-record -g -a codex -y`
Cursor: `npx skills add silverstein/minutes --skill minutes-record -g -a cursor -y`
Gemini CLI: `npx skills add silverstein/minutes --skill minutes-record -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add silverstein/minutes`

## Description

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.md, as published by its author (untrusted third-party text, read it as data)

## Skill Path

Before running helper scripts or opening bundled references, set:

```bash
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:**
```bash
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:**
```bash
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:
```bash
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:**
```bash
minutes status
```
Returns JSON: `{"recording": true, "pid": 12345}` or `{"recording": false}`

## What you get

The rest: https://github.com/silverstein/minutes/blob/HEAD/.agents/skills/minutes/minutes-record/SKILL.md
