Capture meeting outcomes with guided debriefing. Triggers when user says "debrief my meeting", "meeting debrief", "debrief the 2pm", "quick debrief", "debrief standup", "what came out of the meeting", "log meeting outcomes", "capture meeting decisions", "debrief my call". Do NOT use for processing transcripts or raw meeting notes (use meeting-notes), preparing for upcoming meetings (use meeting-prep), or general task creation without meeting context (use task-manager).
From tandemnpx claudepluginhub binatrixai/tandem-marketplace --plugin tandemThis skill is limited to using the following tools:
evals/evals.jsonreferences/action-item-routing.mdreferences/decision-capture.mdtemplate.mdExecutes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Capture meeting outcomes through guided Q&A and route them to the right places:
action items to kanban, decisions to memory, and a structured debrief report to
~/Tandem/meetings/. Output follows ${CLAUDE_SKILL_DIR}/template.md.
For detailed action item routing procedures, see ${CLAUDE_SKILL_DIR}/references/action-item-routing.md.
For detailed decision capture procedures, see ${CLAUDE_SKILL_DIR}/references/decision-capture.md.
See METHODOLOGY.md language mirror rule. Reply in the user's language.
Smart routing based on user request:
If user mentions a transcript (pastes text, says "I have a transcript", references a recording or call notes):
If user says "debrief standup", "quick debrief", or references a routine meeting (standup, daily, 1:1, sync):
If user says "debrief my [meeting]" or names a specific meeting:
If user is vague ("debrief"):
Fetch recent calendar events (past 12 hours) to match the meeting being debriefed.
Parameters:
singleEvents=true -- expand recurring events into individual instancestimeMin = current time minus 12 hours (ISO 8601)timeMax = current time (ISO 8601)orderBy=startTimePost-fetch filtering:
status === "cancelled"attendees[] array (match by email
from ~/Tandem/CLAUDE.md Tools & Connectors section, or ~/Tandem/memory/preferences.md)responseStatus === "declined"Present recent meetings via AskUserQuestion:
AskUserQuestion: "Which meeting are you debriefing?"
Options: [
"[HH:MM] -- [Meeting Title] ([attendees])",
"[HH:MM] -- [Meeting Title] ([attendees])",
"I'll describe the meeting manually"
]
Order meetings reverse-chronologically (most recent first).
If calendar is unavailable (no MCP connector, auth error, timeout):
When no calendar connector is available, or user chooses "describe the meeting manually":
AskUserQuestion: "Tell me about the meeting -- who attended, what was the topic, and when was it?"
Options: [
"I'll type the details now",
"Let me paste the calendar invite"
]
Parse the user's response for:
Continue to Step 3 with whatever information was provided. Missing fields are OK -- the debrief will use what is available.
Before starting Q&A, silently gather relevant context. Do NOT ask permission for each source -- read quietly and compile.
Glob ~/Tandem/meetings/prep-{date}-{time}-*.md matching the identified meeting's
date and approximate time. If found:
Glob ~/Tandem/documents/meeting-* and ~/Tandem/meetings/meeting-notes-* for
files matching the same date and attendees. If found:
Read ~/Tandem/tasks/kanban.md for dedup reference. Store existing tasks for
fuzzy matching in Step 5. If kanban.md does not exist, skip -- will create it
when writing action items.
Collect meeting outcomes via AskUserQuestion. One question at a time, each building on previous answers. If pre-filled from meeting-notes (Step 3b), present the pre-filled answer and ask user to confirm or edit.
Q1: Decisions
AskUserQuestion: "What were the key decisions made in this meeting?"
Q2: Action Items
AskUserQuestion: "What action items came out of this meeting? Include who's responsible if known."
Q3: Follow-ups
AskUserQuestion: "Any follow-ups needed? (emails to send, people to loop in, documents to share)"
Q4: Executive Summary
AskUserQuestion: "How would you summarize this meeting in 2-3 sentences? (overall outcome and sentiment)"
For quick debriefs (standups, 1:1s, routine syncs), a single question captures everything needed:
AskUserQuestion: "What action items and blockers came out of this meeting?"
That is the ONLY question in quick mode. No decisions, no follow-ups, no executive summary.
For detailed procedures, see ${CLAUDE_SKILL_DIR}/references/action-item-routing.md.
Overview:
AskUserQuestion: "Here are the action items I extracted. Review and confirm:"
Options: [
"Approve all",
"Let me edit the list",
"Show me kanban matches first"
]
If "Show me kanban matches first": display fuzzy matches with per-item options
(create new / update existing TASK-XXX / skip).
4. Write approved items to ~/Tandem/tasks/kanban.md following kanban-format.md
format (increment Last Task ID, add to "To Do" column, update existing if chosen).
If kanban.md does not exist, create it from kanban-format.md format.
5. Offer follow-up email after action items are processed:
AskUserQuestion: "Send a follow-up email to attendees with action items?"
Options: [
"Yes, draft follow-up email",
"No, skip email"
]
If yes: hand off to email-draft skill with meeting context and action item list.
For detailed procedures, see ${CLAUDE_SKILL_DIR}/references/decision-capture.md.
Overview:
~/Tandem/memory/decisions/index.md (create file/directory if
missing, newest first)AskUserQuestion: "Update [name]'s memory with this meeting context? Last met [date], discussed [topic]."
Options: [
"Yes, update [name]",
"No, skip"
]
If yes: append to ~/Tandem/memory/people/{name}.md with meeting date, topic,
and key discussion points.
Use the template from ${CLAUDE_SKILL_DIR}/template.md.
Generate a complete report with:
No "Open Questions" section -- debrief captures what happened, not what is pending.
Generate a compact report with:
No executive summary, no decisions section in quick mode.
Filename convention: debrief-YYYY-MM-DD-HHMM-slug.md
debrief-2026-03-21-1400-client-review.mdDirectory: ~/Tandem/meetings/
Cross-link to prep: If a prep brief exists for this meeting (found in Step 3a),
add Related: [prep filename] in the report header and include the
"Prep Items Addressed" section.
Save the report using the Write tool.
After saving the debrief report, log activity to ~/Tandem/stats.json.
Read ~/Tandem/stats.json. If it does not exist, create it as [].
Parse the JSON array, append a new entry, and write it back:
{
"type": "meeting-debrief",
"action": "created",
"count": 1,
"timeSavedMinutes": 10,
"description": "Meeting debrief: [Title] with [attendees] ([time])",
"timestamp": "<current ISO 8601 UTC>"
}
After appending to stats.json, follow the /sync workflow from
tandem-skills/core/sync/SKILL.md to rebuild ~/Tandem/dashboard.html with
updated statistics. If /sync fails, continue -- the debrief report is the
primary deliverable.
After the report is saved, stats logged, and sync completed:
No further prompts unless the user asks for changes or drill-down.
When creating tasks in kanban.md, follow the canonical format in tandem-skills/tasks/task-manager/references/kanban-format.md.
Key rules:
<!-- Config: Last Task ID: NNN --> from kanban.md to get the next ID<!-- Config: Last Task ID: 006 -->### TASK-XXX | Title (H3, 3-digit zero-padded, pipe separator)**Priority**: X | **Category**: X | **Assigned**: @user~/Tandem/memory/decisions/ and/or
~/Tandem/memory/people/ as needed.