Meeting notes to actions
@opsdesk/meeting-notes-to-actions
Turn messy meeting notes into a clean list of decisions and action items, each with one owner and a real due date, plus a CSV you can paste into any tracker or spreadsheet.
- Activity
- New: be the first to try it
- Installs
- 0 installs
- Likes
- 0 likes
- Clones
- 0 clones
- 1---
- 2name: meeting-notes-to-actions
- 3description: Turn meeting notes or a transcript into decisions and action items, each with one owner and a real due date, plus a CSV for any tracker. Use right after a meeting, or when someone says "pull the action items out of these notes", "who owns what from this meeting", "turn this transcript into next steps", or "make a follow-up email from the notes".
- 4license: MIT
- 5---
- 7# Meeting notes to actions
- 9Meetings end with "we should" and no owner. This kit turns notes into a short list where every item has one named owner, a date, and a clear finish line, and it writes a CSV you can paste into a spreadsheet or tracker.
- 11## Inputs
- 131. **The notes or transcript.** Pasted, or a file. Save pasted text to `notes/<meeting-slug>-<date>.md` so the CSV can point back to source lines.
- 142. **The meeting date.** Needed to turn "by Friday" into a date. Use the date in the notes; otherwise ask.
- 153. **Attendees and roles**, if not in the notes. Owners should be roles or names the team uses, never a group like "Eng" or "everyone".
- 17## Steps
- 191. **Read the whole thing first.** Separate three kinds of lines:
- 20 - **Decisions:** something was agreed. Write it as a sentence in past tense.
- 21 - **Action items:** someone has to do something after the meeting.
- 22 - **Open questions:** raised but not settled. These usually need an action item too ("Head of Finance: bring a recommendation on X").
- 232. **Rewrite each action item** into the standard line, keeping the speaker's intent:
- 25 ```markdown
- 26 - [ ] Owner: verb-first task with a clear finish line (due 2026-11-07)
- 27 ```
- 29 - **One owner per item.** If two people were named, pick the one who will drive it and add the other as "with Head of X" in the text.
- 30 - **Verb first, done is visible:** "Send the revised hiring budget to the ELT", not "Hiring budget".
- 31 - **Real dates.** Convert "next week" and "after the offsite" into dates. If no date was said, leave it blank; the script will flag it.
- 323. **Save** the cleaned list under `## Action items` in the notes file, then build the CSV:
- 34 ```bash
- 35 node scripts/actions-to-csv.mjs notes/weekly-ops-2026-11-04.md out/actions.csv --meeting-date 2026-11-04
- 36 ```
- 38 The script reads `- [ ]` checkboxes and lines starting with `Action:`, `TODO:`, `AI:`, `Next step:`, or `Follow-up:`. It finds owners written as `Owner:`, `@Owner`, `Owner to ...`, or `(owner: Name)`, and resolves `by Friday`, `tomorrow`, `end of week`, `end of month`, `next week`, and ISO dates. Columns: `id,owner,action,due,status,meeting,meeting_date,source_line,due_note`.
- 394. **Fix the gaps it reports.** For each `UNASSIGNED` owner or open item with no due date, propose one and ask the user to confirm. Rerun until both counts are zero, or the user says to leave them.
- 405. **Write the follow-up** (format below) and show it. Offer a version for chat and one for email. The user sends it.
- 42## Output format
- 44```markdown
- 45# <Meeting name>: <date>
- 47**Decisions**
- 48- Hold the second sales req until December bookings are in.
- 50**Action items**
- 51| # | Owner | Action | Due |
- 52| - | ----- | ------ | --- |
- 53| 1 | Head of Finance | Send the revised Q4 hiring budget | Fri 2026-11-07 |
- 55**Open questions**
- 56- Do we renew the analytics tool? (Head of Finance brings a recommendation, due 2026-11-12)
- 58Next meeting: <date>. Reply here if an owner or date is wrong.
- 59```
- 61## Guardrails
- 63- Never assign an owner the notes do not support. When unsure, mark it `UNASSIGNED` and ask.
- 64- Do not record side comments about people's performance, health, or pay. Leave them out of the summary and mention to the user that you left something sensitive out.
- 65- Keep quotes short and only when the wording matters for a decision.
- 66- The CSV and the summary are drafts. The user decides where they go.
