
Meeting Notes to Action Items
Convert raw meeting notes or a transcript into a clean, assigned action-item list with owners, due dates, and the decisions that drove them. Extracts the actions and decisions FIRST (every commitment, ask, and decision lifted verbatim-ish into a structured list with source quotes), then a planner assigns owners and due dates and prioritizes — separating extraction from assignment so nothing said in the meeting is lost before triage. The extract-then-assign ordering is what stops a small model from silently dropping commitments or inventing owners. Use for meeting follow-ups, action-item extraction, turning transcripts into to-dos, decision logs, and post-meeting recaps.
Steps
Entry step: extract. Each step names the specialist role it wants; the full working prompt is expandable.
- Extract actions & decisionsdeveloperentry
lift every commitment, ask, and decision with source quotes
Show working prompt
Read the meeting notes/transcript end to end and extract — do not yet assign or prioritize. (1) Pull EVERY action item: anything phrased as a commitment, follow-up, ask, or 'someone should…'. For each, capture the action verbatim-ish, any owner/date mentioned, and the source quote it came from. (2) Pull every DECISION (a choice the group landed on) and every OPEN QUESTION left unresolved, each with its source quote. (3) Lock the output schema for the next phase: action | owner | due | priority | source-quote. Be exhaustive — recall matters more than precision here; a borderline item is kept, not dropped. Write an acceptance-criteria checklist ('every commitment in the notes is captured', 'each action cites a source quote', 'decisions and open questions separated from actions', 'no owner/date invented beyond what the notes state') plus the raw extracted lists to notes/extract.md via write_task_note AND the produces path. - Assign & prioritizeplanner
set owners, due dates, and priority into the final list
Show working prompt
Turn the extracted items into actions.md, the deliverable. (1) Render a table: Action | Owner | Due | Priority | Source. (2) Assign the owner stated in the notes; where the notes name no owner, write 'UNASSIGNED — [proposed: name]' rather than guessing silently. (3) Set due dates from the notes; where none exists, leave 'TBD' (do not fabricate dates). (4) Assign priority (P1/P2/P3) using a stated, simple rule (P1 = explicit deadline or blocker, else P2, nice-to-haves P3) and note the rule at the top. (5) Below the table add a Decisions section and an Open questions section from the extraction. Every extracted action must appear — none dropped in triage. On a loop-back fix only the flagged rows. Write the path and a count (actions, unassigned, decisions) to notes via write_task_note.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
QA actions.md against the locked criteria. (1) Cross-check every action in notes/extract.md against the final table — all present? FAIL on any dropped commitment. (2) Confirm each row has a source reference and that no owner or due date was invented beyond what the notes state (unstated owners marked UNASSIGNED, unstated dates TBD). (3) Confirm Decisions and Open-questions sections exist and match the extraction. (4) Confirm the priority rule is stated and applied consistently on 2-3 rows. (5) Re-scan the original notes for any commitment the extraction missed. Write PASS/FAIL per criterion with the specific items. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "assign" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- meeting notes to action items
- extract action items
- meeting follow-up
- turn transcript into tasks
- post-meeting recap
Source
View this craftbook on GitHub · MIT license