Recap a Meeting
Process meeting input into a polished recap and update the action ledger. The input arrives via $ARGUMENTS — it may be a file path, a folder path, or pasted notes. If $ARGUMENTS is empty, ask the user to paste their notes or give a path.
Follow the shared conventions in the meeting-notes core skill: file layout (./Meetings/), extraction rules, the action-item line format, and the templates. Read them if they're not already in context.
Steps
1. Locate and read the input
- File path → read it. Handle
.txt, .md, .vtt, .srt, .docx, and exported transcripts.
- Folder path → process every meeting file in it (batch mode). Produce one recap per file and reconcile all action items into the ledger in a single pass.
- Pasted text → use it directly.
- If a single file actually contains multiple meetings, split and treat each separately.
2. Extract structure
Pull metadata, TL;DR, decisions, action items (owner + task + due date), open questions/risks, and cleaned notes — per the core skill's extraction rules. Do not fabricate attendees, dates, owners, or due dates; mark unknowns as (unassigned) / (no date).
3. Write the recap file
- Read
${CLAUDE_PLUGIN_ROOT}/skills/meeting-notes/templates/recap.md for structure on first use.
- Create
./Meetings/ and ./Meetings/recaps/ if they don't exist.
- Save to
./Meetings/recaps/YYYY-MM-DD-<slug>.md (slug = kebab-case title). If the date isn't in the content, use today's date and note that under the header.
4. Update the action ledger
This is the important part — see the actions skill for the full reconcile logic. In short:
- Open
./Meetings/ACTIONS.md (create from ${CLAUDE_PLUGIN_ROOT}/skills/meeting-notes/templates/ACTIONS.md if missing).
- For each new action item, check whether it already exists (same owner + substantially the same task). If yes, update its due date / carry it forward instead of duplicating. If no, add it under 🟡 Open with the
· _Source Meeting (date)_ suffix.
- Recompute the 🔴 Overdue section against today's date.
- Update the
_Last updated_ line.
5. Report back
Give the user a tight summary in chat:
- Where the recap was saved (clickable path).
- Counts: decisions, action items added, items carried forward/updated, anything
(unassigned) or (no date) that needs their input.
- Offer the obvious next step: "Want me to draft follow-ups? Run
/meeting-notes:followup."
Example
User: /meeting-notes:recap Meetings/raw/product-sync.txt
You:
- Read the transcript, strip timestamps, attribute commitments to speakers.
- Write
Meetings/recaps/2026-06-29-product-sync.md.
- Add 2 new items to
ACTIONS.md, carry forward 1 from last week (its due date slipped), flag 1 (unassigned).
- Reply: "Recap saved to
Meetings/recaps/2026-06-29-product-sync.md. 3 decisions, 2 new actions (1 carried forward). ⚠️ One item — 'prepare migration plan' — had no owner; who should own it? Want follow-ups drafted?"
1---2name: recap3description: Turn one meeting's notes or transcript (a file, a folder of files, or pasted text) into a clean recap and add its action items to the tracked ledger. Use when the user wants to write up, summarize, or take minutes from a meeting.4---56# Recap a Meeting78Process meeting input into a polished recap and update the action ledger. The input arrives via `$ARGUMENTS` — it may be a file path, a folder path, or pasted notes. If `$ARGUMENTS` is empty, ask the user to paste their notes or give a path.910> Follow the shared conventions in the **meeting-notes** core skill: file layout (`./Meetings/`), extraction rules, the action-item line format, and the templates. Read them if they're not already in context.1112## Steps1314### 1. Locate and read the input15- **File path** → read it. Handle `.txt`, `.md`, `.vtt`, `.srt`, `.docx`, and exported transcripts.16- **Folder path** → process every meeting file in it (batch mode). Produce one recap per file and reconcile all action items into the ledger in a single pass.17- **Pasted text** → use it directly.18- If a single file actually contains multiple meetings, split and treat each separately.1920### 2. Extract structure21Pull metadata, TL;DR, decisions, action items (owner + task + due date), open questions/risks, and cleaned notes — per the core skill's extraction rules. **Do not fabricate** attendees, dates, owners, or due dates; mark unknowns as `(unassigned)` / `(no date)`.2223### 3. Write the recap file24- Read `${CLAUDE_PLUGIN_ROOT}/skills/meeting-notes/templates/recap.md` for structure on first use.25- Create `./Meetings/` and `./Meetings/recaps/` if they don't exist.26- Save to `./Meetings/recaps/YYYY-MM-DD-<slug>.md` (slug = kebab-case title). If the date isn't in the content, use today's date and note that under the header.2728### 4. Update the action ledger29This is the important part — see the **actions** skill for the full reconcile logic. In short:30- Open `./Meetings/ACTIONS.md` (create from `${CLAUDE_PLUGIN_ROOT}/skills/meeting-notes/templates/ACTIONS.md` if missing).31- For each new action item, check whether it already exists (same owner + substantially the same task). If yes, update its due date / carry it forward instead of duplicating. If no, add it under **🟡 Open** with the `· _Source Meeting (date)_` suffix.32- Recompute the **🔴 Overdue** section against today's date.33- Update the `_Last updated_` line.3435### 5. Report back36Give the user a tight summary in chat:37- Where the recap was saved (clickable path).38- Counts: decisions, action items added, items carried forward/updated, anything `(unassigned)` or `(no date)` that needs their input.39- Offer the obvious next step: "Want me to draft follow-ups? Run `/meeting-notes:followup`."4041## Example4243**User:** `/meeting-notes:recap Meetings/raw/product-sync.txt`4445**You:**461. Read the transcript, strip timestamps, attribute commitments to speakers.472. Write `Meetings/recaps/2026-06-29-product-sync.md`.483. Add 2 new items to `ACTIONS.md`, carry forward 1 from last week (its due date slipped), flag 1 `(unassigned)`.494. Reply: *"Recap saved to `Meetings/recaps/2026-06-29-product-sync.md`. 3 decisions, 2 new actions (1 carried forward). ⚠️ One item — 'prepare migration plan' — had no owner; who should own it? Want follow-ups drafted?"*