From minutes
Prepares for meetings by searching conversation history to synthesize relationship briefs and talking points. Auto-detects upcoming events from Google Calendar, gog CLI, or Apple Calendar.
npx claudepluginhub silverstein/minutes --plugin minutesThis skill uses the workspace's default tool permissions.
Interactive meeting preparation that searches your entire conversation history with someone, synthesizes a relationship brief, and produces talking points — before you walk into the room.
Prepares structured meeting briefs by gathering participant context, related emails, past notes, and vault references. Multilingual triggers in EN, IT, FR, ES, DE, PT.
Gathers context from Slack, Gmail, Google Drive, Notion, and Google Calendar for specific meetings to produce structured prep briefs with attendee and topic details.
Prepares meeting agendas for Product Managers with goals, prioritized talking points, Q&A anticipation, materials lists, and strategies for true agendas and strong openings.
Share bugs, ideas, or general feedback.
Interactive meeting preparation that searches your entire conversation history with someone, synthesizes a relationship brief, and produces talking points — before you walk into the room.
This is a multi-phase interactive flow, not a single command. Walk the user through each phase using AskUserQuestion, pushing back on vague answers.
Before asking who the user is meeting with, check if upcoming meetings are available from any calendar source. Try these in order — use the first that works:
1. Google Calendar MCP (best — most Minutes users have Claude + MCP):
If mcp__claude_ai_Google_Calendar__gcal_list_events is available, query today's remaining events:
gcal_list_events(
timeMin: "<now ISO, e.g. 2026-03-19T14:00:00>",
timeMax: "<end of day, e.g. 2026-03-19T23:59:59>",
condenseEventDetails: false
)
Do NOT hardcode a timezone — omit the timeZone parameter so the MCP uses the user's calendar default. This returns attendees, event titles, and times. Parse the results to find the next upcoming meeting with other people (skip all-day events and events with no attendees).
2. gog CLI (if installed):
gog calendar list --today --json -a <account> 2>/dev/null
3. Apple Calendar (osascript) (every Mac, zero install):
osascript -e 'tell application "Calendar" to get {summary, start date} of (every event of every calendar whose start date >= (current date) and start date < ((current date) + 1 * days))'
4. None available — skip to Phase 1 and ask manually.
If upcoming meetings are found: Present via AskUserQuestion: "I see you have these meetings coming up today:
Which one are you prepping for?"
Options: list each meeting + "None of these — I want to prep for something else"
If the user picks a meeting, auto-populate the person name and skip Phase 1. Pull attendee names from the calendar event directly.
If no upcoming meetings or calendar unavailable: Silently skip to Phase 1. Don't error or apologize — just ask manually.
If Phase 0 already identified the person, skip this phase.
Otherwise, ask via AskUserQuestion: "Who are you meeting with?"
If the answer is specific (a name like "Alex" or "Case"): → Search all past meetings:
minutes search "<name>" --limit 50
Also search common variations — first name, last name, nickname.
If the answer is vague ("the team", "everyone", "my usual meeting"): → Push back: "Be specific. Name one person who'll be in the room. I'll search everything you've discussed with them."
If the answer is a topic ("the pricing meeting", "the Q2 planning call"): → Adapt to topic-based prep:
minutes search "<topic>" --limit 20
Skip the relationship brief and go straight to a topic brief instead.
Read each matching meeting file with Read. Build a relationship brief:
Meeting history:
Recurring topics:
Open commitments:
action_items where assignee matches the user)action_items where assignee matches the other person)open)Decision history:
decisions: frontmatter)Present the relationship brief to the user. Don't ask for approval — just show it and move to Phase 3.
If there are zero past meetings: Say: "I don't have any recorded meetings with [name]. This will be your first meeting on record. What's the context — how do you know them?"
Then skip the relationship brief and go straight to Phase 3 with whatever context the user provides.
Ask via AskUserQuestion: "What's the one thing you'd regret not discussing in this meeting?"
If the answer is specific ("finalize the pricing at monthly billing", "get a commitment on the hire"): → Frame talking points around that goal. Connect it to relationship data — e.g., "Alex's mentioned pricing 3 times recently. She's ready for this conversation."
If the answer is vague ("just catch up", "the usual"): → Push back with evidence: "Based on your last 3 meetings with Alex, these topics are active: [list]. Which one matters most today?"
If the user skips ("I don't know yet" / "nothing specific"): → Accept it. Frame as an open-ended catch-up. Still produce talking points based on open items and recent topics.
Save the prep brief to ~/.minutes/preps/ for later pickup by /minutes debrief:
mkdir -p ~/.minutes/preps
Write the file as ~/.minutes/preps/YYYY-MM-DD-{person-first-name}.prep.md with this structure:
---
person: {full name}
date: {today ISO}
goal: {what they want to accomplish}
meeting_count: {total past meetings}
---
## Relationship Brief
{the brief from Phase 2}
## Talking Points
{the talking points}
## Goal
{their stated goal, quoted}
Set permissions to 0600:
chmod 600 ~/.minutes/preps/YYYY-MM-DD-{slug}.prep.md
Use the person's first name (lowercase) as the slug — e.g., sarah, not sarah-chen — because transcript attendee names are often abbreviated.
End with three beats:
Signal reflection — Quote a specific thing the user said during the session. "You said '[exact quote from their AskUserQuestion answers]' — that's your north star for this call."
Assignment — One concrete real-world action before the meeting. Not "go build it" — something specific. Examples: "Text Alex before your call that you want to finalize pricing." "Review the competitor grid Case sent you — it's still in your action items."
Next skill nudge — "After your call, run /minutes debrief to capture what you decided and compare it to what you planned."
gcal.mcp.claude.com/mcp) is the recommended source for Claude users.sarah not sarah-chen. Transcript attendees are often abbreviated. Debrief matches on first name.