# minutes — full agent reference

> Generated file. Do not edit by hand.
> Source: manifest.json + crates/mcp/src/index.ts + site/lib/skills-catalog.json
> Last generated: 2026-05-20

## Product

Minutes is an open-source meeting corpus you own. Record, transcribe, search, and query every meeting and voice memo on your own disk. No cloud, no vendor to outlive. Output is structured markdown in `~/meetings/` that Claude Desktop, Claude Code, Codex, Gemini CLI, Cursor, OpenCode, Pi, and any MCP-compatible client read from the same folder, without a proprietary SDK or API key. Ten years from now, `grep` still works on your corpus.

29 tools • 7 resources • Interactive MCP App dashboard • Prompt templates

**What's new in 0.18.2:**
• **Manual meeting ingest accepts normal YAML dates.** `minutes ingest` now accepts hand-authored frontmatter like `date: 2024-05-14` and local timestamps without an offset, while keeping existing RFC3339 timestamps working.
• **Manual files no longer need a synthetic duration.** Ingested markdown that omits `duration` now defaults to `0s`, which is enough for knowledge-base extraction and avoids a second confusing validation failure.

**Also new in 0.18.1:**
• **Native-call recovery no longer strands usable audio.** If macOS native capture leaves recoverable `.voice.wav` / `.system.wav` stems but the primary `.mov` is missing, empty, or incomplete, Minutes now queues a processable recovery input instead of leaving the capture under `~/.minutes/native-captures`.
• **Recovered native captures stay native.** Successful jobs preserve the source `.mov` artifact beside the meeting markdown rather than renaming it to `.wav`, so future reprocessing can rediscover and mix the sibling native-call stems correctly.
• **Manual recovery is less confusing.** `minutes import <audio-file>` now accepts ordinary audio paths as a recovery alias for meeting processing, while `minutes process <path> --type meeting` remains supported.
• **Artifact cleanup understands native sidecars.** Delete, archive, and retention logic now include preserved `.mov` artifacts and their native stem sidecars without double-counting shared stems.

**Also new in 0.18.0:**
• **More honest failed-capture output.** Near-silent recordings and long silent tails are guarded so Minutes does not present hallucinated non-speech markers or unrelated YouTube-style filler as real transcript content.
• **Dual-AAC native-call .mov files transcribe correctly.** macOS call captures with separate voice/system AAC tracks are mixed before transcription instead of producing doubled-duration garble.
• **Summarization timeouts degrade explicitly.** Meetings with transcript output but failed summary generation now show structured degraded status instead of pretending the meeting is complete.

**Known follow-ups:** call-end auto-stop reliability (#129) and multi-party remote-speaker diarization quality (#169) remain open. This release focuses on manual ingest/frontmatter compatibility. Native-capture recovery remains covered by 0.18.1; call-end auto-stop reliability and multi-party remote-speaker diarization are still separate field reports.

**Setup:** `npx minutes-mcp` gets you search, browsing, and the dashboard right away. For recording and transcription, Minutes can auto-install the CLI on first use, or you can install it yourself with `brew install silverstein/tap/minutes` or `cargo install minutes-cli`, then run `minutes setup --model tiny`, `minutes setup --parakeet`, or `minutes setup --demo`.

**What Minutes already gives you:**
• Filesystem-as-API: meetings land as YAML-frontmatter markdown in `~/meetings/`. Every agent reads the same source of truth. No vendor lock-in.
• Start/stop live meeting recordings
• Process audio files (WAV, M4A, MP3, OGG), Looms, and ScreenPal recordings
• Local transcription with Whisper or Parakeet. Nothing leaves your machine.
• Speaker diarization, native, no Python required
• Dictation mode for clipboard and daily notes
• Live transcript reads for mid-meeting AI coaching
• Desktop-context rewind and activity summaries around recordings and live sessions
• Full-text search across every meeting and memo
• Decisions, commitments, questions, and relationship context across meetings
• Agent Event Bus for local workflow automation
• An interactive MCP App dashboard inside Claude conversations

**Privacy:** all audio processing happens locally via whisper.cpp or parakeet.cpp plus pyannote-rs. Summarization is opt-in; the OpenAI-compatible backend points wherever you tell it (including local servers). No audio is sent anywhere unless you explicitly enable a cloud summary backend, and even then only the transcript text travels. Agent Event Bus entries are local files on your disk.


## Choose your surface

- MCP server
  - When: User has Claude Desktop, Codex, Gemini CLI, Cursor, or any MCP client.
  - Install: `npx minutes-mcp`
  - Best for: Best for agent-first search, recall, and meeting-memory workflows.
  - Notes: No Rust needed. Search, browse, and dashboard tools work with zero setup. Recording and transcription need the CLI binary on PATH or to be auto-installed on first use.
- CLI
  - When: User wants terminal-first recording, search, import, and vault sync.
  - Install: `brew tap silverstein/tap && brew install minutes`
  - Best for: Best for local operator workflows and scripting.
  - Notes: Also available via cargo install minutes-cli. Requires Rust + cmake for source builds. Linux needs libasound2-dev and libpipewire-0.3-dev.
- Claude Code plugin
  - When: User works in Claude Code and wants meeting lifecycle skills and proactive hooks.
  - Install: `claude plugin marketplace add silverstein/minutes`
  - Best for: Best for workflow guidance, prep, debrief, and meeting coaching.
  - Notes: 19 skills (brief, prep, debrief, graph, video review, and the rest of the meeting lifecycle) plus a meeting-analyst agent and SessionStart/PostToolUse hooks.
- Pi coding agent
  - When: User works in Pi or wants Minutes to use pi as an opt-in local summarization agent.
  - Install: `pi`
  - Best for: Pi users who want the same local meeting memory without a Pi-specific skill export.
  - Notes: Pi auto-discovers the existing .agents/skills/minutes skill pack. Set [summarization] engine = "agent" and agent_command = "pi" to use it for post-recording summaries.
- Desktop app
  - When: User wants a menu bar app with one-click recording, Recall, and artifact drafting.
  - Install: `brew install --cask silverstein/tap/minutes`
  - Best for: Best for first recording, live capture, and post-meeting artifact work.
  - Notes: Tauri v2, macOS only today. Includes command palette, dictation hotkey, live mode toggle, and auto-updates from GitHub Releases.

## Canonical entry points

- Website: https://useminutes.app
- Agent entry point: https://useminutes.app/for-agents
- Proof and eval caveats: https://useminutes.app/proof
- Concise agent index: https://useminutes.app/llms.txt
- MCP tools reference (HTML): https://useminutes.app/docs/mcp/tools
- MCP tools reference (Markdown): https://useminutes.app/docs/mcp/tools.md
- Error reference (HTML): https://useminutes.app/docs/errors
- Error reference (Markdown): https://useminutes.app/docs/errors.md
- Support: https://github.com/silverstein/minutes/discussions

## Tool surface

- `start_recording` — Start recording audio from the default input device Docs: https://useminutes.app/docs/mcp/tools#tool-start-recording
- `stop_recording` — Stop the current recording and process it Docs: https://useminutes.app/docs/mcp/tools#tool-stop-recording
- `get_status` — Check if a recording is currently in progress Docs: https://useminutes.app/docs/mcp/tools#tool-get-status
- `list_processing_jobs` — List background processing jobs for recent recordings Docs: https://useminutes.app/docs/mcp/tools#tool-list-processing-jobs
- `list_meetings` — List recent meetings and voice memos Docs: https://useminutes.app/docs/mcp/tools#tool-list-meetings
- `search_meetings` — Search meeting transcripts and voice memos Docs: https://useminutes.app/docs/mcp/tools#tool-search-meetings
- `get_meeting` — Get full transcript of a specific meeting Docs: https://useminutes.app/docs/mcp/tools#tool-get-meeting
- `activity_summary` — Summarize meeting-adjacent desktop context for a linked artifact, context session, or time window Docs: https://useminutes.app/docs/mcp/tools#tool-activity-summary
- `search_context` — Search desktop-context events across app focus and captured window titles, including opted-in browser titles Docs: https://useminutes.app/docs/mcp/tools#tool-search-context
- `get_moment` — Show the local desktop-context rewind around a linked artifact, session, or timestamp Docs: https://useminutes.app/docs/mcp/tools#tool-get-moment
- `process_audio` — Process an audio file through the transcription pipeline Docs: https://useminutes.app/docs/mcp/tools#tool-process-audio
- `add_note` — Add a timestamped note to the current recording or an existing meeting Docs: https://useminutes.app/docs/mcp/tools#tool-add-note
- `consistency_report` — Flag conflicting decisions and stale commitments Docs: https://useminutes.app/docs/mcp/tools#tool-consistency-report
- `get_person_profile` — Build a profile for a person across all meetings Docs: https://useminutes.app/docs/mcp/tools#tool-get-person-profile
- `research_topic` — Research a topic across meetings, decisions, and follow-ups Docs: https://useminutes.app/docs/mcp/tools#tool-research-topic
- `qmd_collection_status` — Check if the Minutes output directory is registered as a QMD collection Docs: https://useminutes.app/docs/mcp/tools#tool-qmd-collection-status
- `register_qmd_collection` — Register the Minutes output directory as a QMD collection Docs: https://useminutes.app/docs/mcp/tools#tool-register-qmd-collection
- `start_dictation` — Start dictation mode — speech to clipboard and daily notes Docs: https://useminutes.app/docs/mcp/tools#tool-start-dictation
- `stop_dictation` — Stop dictation mode Docs: https://useminutes.app/docs/mcp/tools#tool-stop-dictation
- `track_commitments` — List open and stale commitments, optionally filtered by person Docs: https://useminutes.app/docs/mcp/tools#tool-track-commitments
- `relationship_map` — All contacts with relationship scores and losing-touch alerts Docs: https://useminutes.app/docs/mcp/tools#tool-relationship-map
- `list_voices` — List enrolled voice profiles for speaker identification Docs: https://useminutes.app/docs/mcp/tools#tool-list-voices
- `confirm_speaker` — Confirm or correct speaker attribution in a meeting transcript Docs: https://useminutes.app/docs/mcp/tools#tool-confirm-speaker
- `get_meeting_insights` — Query structured meeting insights (decisions, commitments, questions) with confidence filtering Docs: https://useminutes.app/docs/mcp/tools#tool-get-meeting-insights
- `start_live_transcript` — Start a live transcript session for real-time meeting transcription Docs: https://useminutes.app/docs/mcp/tools#tool-start-live-transcript
- `read_live_transcript` — Read utterances from the active live transcript with optional cursor or time window Docs: https://useminutes.app/docs/mcp/tools#tool-read-live-transcript
- `open_dashboard` — Open the Meeting Intelligence Dashboard in the browser — visual overview of conversation memory Docs: https://useminutes.app/docs/mcp/tools#tool-open-dashboard
- `ingest_meeting` — Extract facts from a meeting and update the knowledge base (person profiles, log, index) Docs: https://useminutes.app/docs/mcp/tools#tool-ingest-meeting
- `knowledge_status` — Show the current state of the knowledge base — configuration, adapter, people count, log entries Docs: https://useminutes.app/docs/mcp/tools#tool-knowledge-status

## Resource surface

- `ui://minutes/dashboard` — Interactive meeting dashboard and detail viewer Docs: https://useminutes.app/docs/mcp/tools#resource-minutes-dashboard
- `minutes://meetings/recent` — List of recent meetings and memos Docs: https://useminutes.app/docs/mcp/tools#resource-recent-meetings
- `minutes://status` — Current recording status Docs: https://useminutes.app/docs/mcp/tools#resource-recording-status
- `minutes://actions/open` — All open action items across meetings Docs: https://useminutes.app/docs/mcp/tools#resource-open-actions
- `minutes://events/recent` — Recent pipeline events (recordings, processing, notes) Docs: https://useminutes.app/docs/mcp/tools#resource-recent-events
- `minutes://events/agent-annotations` — Recent append-only agent.annotation events, separate from human meeting markdown Docs: https://useminutes.app/docs/mcp/tools#resource-agent-annotations
- `minutes://ideas/recent` — Recent voice memos and ideas captured from any device (last 14 days) Docs: https://useminutes.app/docs/mcp/tools#resource-recent-ideas
- `minutes://meetings/{slug}` — Get a specific meeting by its filename slug Docs: https://useminutes.app/docs/mcp/tools#resource-meeting

## Claude Code Plugin skill surface

Workflow-level skills that wrap MCP tools into operator motions. Install in Claude Code via `claude plugin marketplace add silverstein/minutes` then `/plugin install minutes@minutes`. The same skills ship as a portable pack at `.agents/skills/minutes/` for Codex / Gemini CLI and at `.opencode/skills/` + `.opencode/commands/` for OpenCode. New skills must declare `metadata.site_category`, `metadata.site_example`, and `metadata.site_best_for` in `tooling/skills/sources/<name>/skill.md`.

### Artifacts

- `/minutes-video-review` — Turn a Loom, ScreenPal, or local walkthrough video into a durable artifact bundle for agent review.
  - Description: Review a demo, walkthrough, or bug video into a durable brief.
  - Example: `/minutes-video-review https://go.screenpal.com/watch/...`
  - Docs: https://useminutes.app/for-agents#minutes-video-review

### Capture

- `/minutes-cleanup` — Archive or delete old recordings when storage starts piling up.
  - Description: Manage old recordings — find large files, archive old meetings, delete processed originals.
  - Example: `/minutes-cleanup`
  - Docs: https://useminutes.app/for-agents#minutes-cleanup
- `/minutes-list` — Browse recent meetings and voice memos when you need to find the right artifact first.
  - Description: List recent meetings and voice memos.
  - Example: `/minutes-list`
  - Docs: https://useminutes.app/for-agents#minutes-list
- `/minutes-note` — Drop a timestamped note into the current recording or annotate a past one.
  - Description: Add a note to the current recording or annotate a past meeting. Use whenever the user says "note that", "remember this", "mark this as important", "add a note about", "annotate the meeting", or wants to capture a thought during or after a recording. Plain text input — no markdown needed.
  - Example: `/minutes-note Alex wants monthly billing`
  - Docs: https://useminutes.app/for-agents#minutes-note
- `/minutes-recap` — Get a same-day digest across meetings and voice memos.
  - Description: Generate a daily digest of today's meetings and voice memos — key decisions, action items, and themes across all recordings.
  - Example: `/minutes-recap`
  - Docs: https://useminutes.app/for-agents#minutes-recap
- `/minutes-record` — Start or stop a meeting, call, or voice memo recording.
  - 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.
  - Example: `/minutes-record`
  - Docs: https://useminutes.app/for-agents#minutes-record
- `/minutes-setup` — Walk a first-time user through getting Minutes ready to record.
  - Description: Guided first-time setup for Minutes — download whisper model, create directories, configure audio input.
  - Example: `/minutes-setup`
  - Docs: https://useminutes.app/for-agents#minutes-setup
- `/minutes-verify` — Health-check the install, models, mic, and stale state before trusting it in production.
  - Description: Verify that Minutes is properly set up and working — model downloaded, mic accessible, directories exist, no stale state.
  - Example: `/minutes-verify`
  - Docs: https://useminutes.app/for-agents#minutes-verify

### Coaching

- `/minutes-mirror` — Review your own talk-time, hedging, and performance patterns across meetings.
  - Description: Self-coaching analysis of your own behavior across meetings — talk-time ratio, filler words, hedging language, monologue length, energy patterns, and (when meetings are tagged via /minutes-tag) what your behavior in winning meetings looks like vs losing ones. Use this whenever the user says "how did I do", "review my last meeting", "mirror", "self-review", "show my patterns", "coach me", "where am I weak", "talk time", "am I improving", "what do I do in meetings I win", "feedback on me", or asks for any kind of personal feedback on their own meeting behavior. This is the rare skill that gives the user a mirror to their own habits — surface it whenever they show curiosity about their own performance, even if they don't use the word "mirror".
  - Example: `/minutes-mirror`
  - Docs: https://useminutes.app/for-agents#minutes-mirror
- `/minutes-tag` — Label a meeting outcome in five seconds so later coaching gets smarter.
  - Description: Lightweight outcome tagging for meetings — won, lost, stalled, great, or noise. Use whenever the user says "tag this meeting", "mark that as a win", "that one was a loss", "tag yesterday's call as stalled", "mark this great", "that meeting was noise", "label that meeting", or any time they describe a meeting outcome in passing. Tagging takes 5 seconds and unlocks /minutes-mirror correlation analysis — the more meetings get tagged, the smarter mirror gets at telling the user what behavior patterns lead to wins. Surface this skill any time the user mentions a meeting result, win, loss, or wasted time.
  - Example: `/minutes-tag won`
  - Docs: https://useminutes.app/for-agents#minutes-tag

### Intelligence

- `/minutes-graph` — Query who mentioned what across all meetings as a relationship graph.
  - Description: Cross-meeting entity graph — query who/what/when across all your meetings as structured data, with co-occurrence and cross-entity queries that text search can't answer. Use whenever the user says "show me everyone who mentioned X", "all mentions of Y across meetings", "who knows about Z", "graph", "across all meetings", "entity search", "first time we talked about", "trend for X over time", "who's been mentioned alongside", or wants to query meetings as an index rather than full-text search. Builds a JSON entity index on first run (one-time slow), then answers queries instantly. Surface this skill for relationship intelligence, due diligence, or any "across all my history" question that text search alone can't answer.
  - Example: `/minutes-graph everyone who mentioned Stripe`
  - Docs: https://useminutes.app/for-agents#minutes-graph

### Knowledge

- `/minutes-ideas` — Surface recent voice memos and loose ideas captured from any device.
  - Description: Surface recent voice memos and ideas captured from any device.
  - Example: `/minutes-ideas`
  - Docs: https://useminutes.app/for-agents#minutes-ideas
- `/minutes-ingest` — Extract structured facts from meetings into an external knowledge base.
  - Description: Extract facts from meetings and update your knowledge base — person profiles, chronological log, and index.
  - Example: `/minutes-ingest`
  - Docs: https://useminutes.app/for-agents#minutes-ingest
- `/minutes-lint` — Audit meeting memory for contradictions, stale commitments, and decision conflicts.
  - Description: Health-check your meeting knowledge for contradictions, stale commitments, and decision conflicts.
  - Example: `/minutes-lint`
  - Docs: https://useminutes.app/for-agents#minutes-lint

### Lifecycle

- `/minutes-brief` — Get a fast one-page brief before an upcoming meeting.
  - Description: Fast meeting briefing from your conversation memory.
  - Example: `/minutes-brief`
  - Docs: https://useminutes.app/for-agents#minutes-brief
- `/minutes-debrief` — Turn the latest meeting into decisions, follow-ups, and what changed from prep.
  - Description: Post-meeting debrief tied back to prep and decisions.
  - Example: `/minutes-debrief`
  - Docs: https://useminutes.app/for-agents#minutes-debrief
- `/minutes-prep` — Do a deeper relationship brief and talking-point prep before an important call.
  - Description: Interactive meeting prep from your conversation history.
  - Example: `/minutes-prep Alex`
  - Docs: https://useminutes.app/for-agents#minutes-prep
- `/minutes-weekly` — See weekly themes, stale commitments, and what deserves attention next.
  - Description: Weekly meeting synthesis — themes, decision arcs, stale commitments, and what deserves your attention next week.
  - Example: `/minutes-weekly`
  - Docs: https://useminutes.app/for-agents#minutes-weekly

### Search

- `/minutes-search` — Find a topic, quote, person, or decision across past transcripts.
  - Description: Search past meeting transcripts and voice memos for specific topics, people, decisions, or ideas. Use this whenever the user asks "what did we discuss about X", "find that meeting where we talked about Y", "what did Alex say", "did we decide on", "what was that idea about", or any question that could be answered by searching their meeting history. Also use for "do I have any notes about" or "check my meetings for".
  - Example: `/minutes-search pricing strategy`
  - Docs: https://useminutes.app/for-agents#minutes-search
