Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says \"capture this meeting\", \"here are my notes from the call\". See also: `meeting-prep` for pre-call briefings; `follow-up-draft` for post-meeting emails.
Installs into .claude/skills of the current project.
Are you the author of Capture Meeting?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/kbanc85-capture-meeting-claudia)
---
name: capture-meeting
description: "Process meeting notes or transcript to extract decisions, commitments, and insights. Use when user shares transcript or says \"capture this meeting\", \"here are my notes from the call\". See also: `meeting-prep` for pre-call briefings; `follow-up-draft` for post-meeting emails."
effort-level: medium
---
# Capture Meeting
Process meeting notes or transcript to extract decisions, commitments, and insights.
## Trigger
- "Here's a transcript from [client/person]"
- "Process these meeting notes"
- "Here are my notes from the call with [person]"
- "Capture this meeting"
- `/capture-meeting`
## Input
User provides one of:
- Full transcript (from Otter, Granola, etc.)
- Meeting notes (manual)
- Voice memo summary
- Memory/verbal recap
## Processing Steps
### 1. File the Source Material (MANDATORY)
**Always file the raw transcript/notes FIRST.** This is not optional. Source preservation creates provenance: every extracted fact can trace back to where it came from.
Call the `memory_file` MCP tool with:
- `filename`: "YYYY-MM-DD-[person]-[topic].md"
- `source_type`: "transcript"
- `summary`: "Brief 1-line summary of the meeting"
- `about`: ["participant1", "participant2"]
- `content`: The FULL raw transcript/notes text (do not summarize)
The file is automatically routed to the right folder:
- `people/sarah-chen/transcripts/2026-02-04-kickoff.md`
- `clients/acme-corp/transcripts/2026-02-04-quarterly.md`
**Even for brief notes:** If the user shared more than a few sentences, file it. Better to have it than wish you did.
### 2. Identify Participants
- Who was in the meeting?
- Which person files to update?
- Any new people to track?
### 3. Extract Key Information (Agent-Accelerated)
**Preferred: Dispatch Document Processor for extraction.** Instead of composing memory operations manually (which takes 2+ minutes of thinking time), dispatch the Document Processor agent (Haiku) with the transcript content and `extraction_type: "memory_operations"`. The agent returns ready-to-store operations in ~10-20 seconds.
**Agent pipeline workflow:**
```
1. Dispatch Document Processor (Haiku) with:
- The full transcript text
- extraction_type: "memory_operations"
- Context: participant names, meeting topic, date
2. Agent returns memory_operations[] array with:
- Facts, preferences, observations
- Commitments with deadlines
- Entity definitions
- Relationship links
3. Review agent output (judgment layer):
- Verify commitment wording is accurate
- Check importance scores are reasonable
- Confirm entity names match existing entities
- Adjust or remove any questionable extractions
4. Call the `memory_batch` MCP tool with the reviewed operations array
```
**Fallback: Manual extraction** (use when agent is unavailable or for very short notes)
**Decisions Made:**
- What was decided?
- Who made the decision?
- Any conditions or context?
**Commitments Created:**
- What did you promise? (β `context/commitments.md`)
- What did they promise? (β `context/waiting.md`)
- Deadlines (explicit or implied)
**Blockers Surfaced:**
- What's in the way?
- Who can unblock?
**Sentiment Signals:**
- Enthusiasm, concern, resistance
- Energy level
- Relationship health indicators
**Key Topics:**
- Main themes discussed
- Important context shared
### 4. Link Provenance
After extracting memories (facts, commitments) via the `memory_batch` or `memory_remember` MCP tools:
Call the `memory_file` MCP tool with the `memory_ids` parameter set to the IDs of the memories you extracted. This links the stored transcript to the memories extracted from it, creating the provenance chain: memory -> document -> file on disk.
Now the user can ask "where did you learn that Sarah prefers async communication?" and you can point to the exact transcript.
### 5. Downstream Updates
After extracting information, propagate changes to the files that depend on it. These updates ensure that summaries stay in sync with source material.
#### 5a. Update person files
For each participant in the meeting:
1. Check if `people/[name-slug].md` exists
2. If it exists:
- Update "Last Contact" date to today
- Add this meeting to "Our History" or interaction log
- Update "Current Context" if new information was shared
- Add any new commitments to the person's section
3. If it does not exist and this person seems important (mentioned multiple times, has commitments, or has a working relationship):
- Offer to create a new person file: "I'd like to create a file for [person]. They [reason]. Should I?"
#### 5b. Update commitment and waiting files
- Add new commitments to `context/commitments.md` (ask for confirmation on wording and deadline)
- Add new waiting items to `context/waiting.md`
- If memory MCP tools are available, also store via the `memory_remember` MCP tool
#### 5c. Update workspace files (if applicable)
Check if this meeting belongs to an active workspace:
1. Does the meeting topic match a workspace in `workspaces/`?
2. Is a meeting participant associated with a workspace project?
If yes:
- File the meeting notes in `workspaces/[slug]/meetings/`
- Update `workspaces/[slug]/Dashboard.md` if the meeting changed project status or phase
- If the meeting created new deliverables or items, add them to the relevant workspace subdirectory
If no workspace match, file in the standard location per the document store routing.
### 6. Synthesize
Create a summary that captures:
- What happened (brief)
- What was decided
- What's next (actions)
- How it went (sentiment)
## Output Format
```
**π Meeting Capture: [Meeting Name/Person]**
### [Date]
**Attendees:** [Names]
**Duration:** [Approximate]
**Context:** [Brief β what was this meeting about?]
### π Summary
[2-3 sentence overview of what happened]
### π¨ Decisions Made
- [Decision] β decided by [who]
- [Decision]
### β Action Items
**You:**
- [ ] [Action] β by [date]
- [ ] [Action] β by [date]
**Them:**
- [ ] [Action] β by [date]
### π¬ Key Discussion Points
- [Point 1]
- [Point 2]
- [Point 3]
### π‘οΈ Sentiment
[Brief read on how the meeting went, relationship health]
### π Updates Made
**Person files:**
- Updated [person]'s last contact and history
- Added [commitment] to [person]'s commitments section
- ? Create file for [new person]? They [reason]. (Your call.)
**Commitments added:**
- "[Commitment]" β due [date] (added to tracking)
- Waiting on "[item]" from [person] (added to waiting)
**Workspace:** [if applicable]
- Meeting filed in workspaces/[slug]/meetings/
- Dashboard updated: [what changed]
*Anything I should adjust?*
*Meeting notes saved to: [location]*
---
```
## Judgment Points
Proceed automatically with:
- Updating last contact dates in person files (factual, low-risk)
- Adding meeting to history tables in person files (factual, low-risk)
- Filing meeting notes in workspace directories (organizational, low-risk)
Ask for confirmation on:
- Adding commitments (user must own promises)
- Adding waiting items (setting expectations)
- Creating NEW person files (new entity in the system)
- Updating sentiment in person files (subjective)
- Changing project phase/status in workspace Dashboard (consequential)
- Flagging concerns (interpretation required)
- File location (if ambiguous)
## Quality Checklist
- [ ] **Raw transcript/notes filed** (`memory_file` MCP tool called with full content)
- [ ] Memories linked to source document (provenance chain complete)
- [ ] Every action item has an owner
- [ ] Every commitment has a deadline (even approximate)
- [ ] Sentiment signals noted but not over-interpreted
- [ ] Summary is actionable, not just descriptive
- [ ] Related person files flagged for update
- [ ] No unexplained jargon or unclear references
- [ ] All markdown tables render correctly (header, separator, and data rows on separate lines)
- [ ] Person files updated for all participants with existing files
- [ ] Workspace files updated if meeting belongs to an active project
- [ ] No stale counts left in any summary file that was updated
## Tone
- Efficient β respect user's time
- Accurate β don't add or assume
- Helpful β surface the useful parts
- Action-oriented β what needs to happen next