# Minutes Recap

Generate a daily digest of today's policy-authorized meetings and voice memos, key...

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

## Install

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

## Description

Generate a daily digest of today's policy-authorized meetings and voice memos, key decisions, action items, and themes across available recordings. Use when the user asks "recap my day", "what happened in my meetings today", "daily summary", "what did I discuss today", "any action items from today", or wants a consolidated view of the day's conversations.

## 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-recap"
```

# /minutes-recap

Synthesize today's policy-authorized normal meetings and voice memos into a
single daily brief. Restricted history is excluded from this agent workflow by
default and must never be treated as absent evidence.

## How to generate the recap

1. **Find today's recordings** from the bounded live list:
   ```bash
   minutes list --limit 50
   ```
   Require exit status 0, parse the JSON written to stdout, and select entries
   whose `date` is today. A date string is not a search query.

2. **Read each selected recording** with
   `minutes get "<exact path>" --json`. Require exit status 0 and use only the
   returned content. Never reopen list paths through the host filesystem.

3. **Synthesize into a daily brief**, use the template in `templates/daily-recap.md` as a starting point, adapting sections based on what actually exists in the day's recordings.

4. Present the recap directly in the conversation, don't save it to a file unless asked.

## What makes a good recap

- **Cross-reference** across meetings: if pricing came up in two different calls, note that
- **Surface conflicts**: if Meeting A decided X but Meeting B discussed doing Y, flag it
- **Prioritize action items**: these are the things the user needs to act on
- **Include voice memos**: ideas captured on the go are easy to forget, surface them
- If there are no meetings or memos today, say so clearly rather than making something up

## Interactive conflict detection

When you find conflicts between meetings (e.g., different decisions on the same topic, contradictory action items, or shifted priorities), don't just note them, ask the user about them.

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