Meeting Notes to Actions: Never Lose a Decision Again
Paste messy meeting notes, get back decisions, an owner-tagged action table, and a ready-to-send follow-up email — in your voice, nothing invented.
I'll tell you exactly where good decisions go to die: page 47 of a notebook, or a note called "Untitled 23" on someone's phone.
You had the meeting. Someone made the call. Three people agreed to do three things. And a week later, in the follow-up meeting, everyone spends the first fifteen minutes reconstructing what was decided last time. I've watched this happen at every company I've worked with, at every level, from startup stand-ups to board reviews. The problem isn't that people take bad notes. It's that notes and actions are two different things, and almost nobody has a reliable process for turning one into the other.
That process is what this skill is. It's called meeting-notes-to-actions, it's a single file you download once, and it turns any raw meeting record — a transcript, a voice-memo dump, a page of half-sentences — into a structured, shareable output in about thirty seconds. Repeatable, same format every time, nothing invented.
The real problem: notes die in notebooks
Let me be specific about why meeting notes fail, because the skill is designed against each failure mode.
Notes capture conversation, not commitment. A typical note says "discussed pricing." It doesn't say who decided what, or whether anything was decided at all. Two weeks later, "discussed pricing" is useless.
Action items don't have owners. "We should update the deck" is not an action item. It's a wish. If no name is attached, the task belongs to everyone, which means it belongs to no one. Most meeting notes are full of these orphan tasks, and nobody notices until the deadline passes.
The follow-up email never gets sent. Everyone knows a short written recap after a meeting is the single highest-leverage habit in professional life. Everyone also knows that writing it takes twenty minutes you don't have between back-to-back calls. So it doesn't happen, and the meeting effectively never occurred as far as the record is concerned.
Formats are inconsistent. Monday's notes are bullet points, Wednesday's are a transcript from a recorder app, Friday's are four words typed during the call. You can't build a habit on top of chaos.
The fix isn't better note-taking discipline. You'll never out-discipline back-to-back meetings. The fix is to lower the bar for the input — capture anything, however messy — and let a repeatable workflow raise the bar for the output.
What the skill actually does
You paste in whatever you've got. The skill returns six things, always in the same order:
- A five-line executive summary. What the meeting was, what mattered, where things landed. Readable in fifteen seconds by someone who wasn't there.
- Decisions made — each one with who made or ratified it. If the notes show a decision but not the decider, it says so instead of guessing.
- An action items table — owner, task, due date, blocked-by. Any item with no owner gets flagged loudly with
⚠ NO OWNER, because those are the tasks that silently die. - Open questions — the things raised but not resolved, so they don't vanish.
- A ready-to-send follow-up email, written in your voice as a participant, not in AI-speak. You should be able to paste it into your mail client, glance at it, and hit send.
- Optional: task-tool format — the action items reformatted as one-line entries you can paste into Todoist, Linear, Asana, or a plain checklist.
It also detects what kind of meeting it was — 1:1, project sync, client call, or interview — and adjusts. A 1:1 recap shouldn't read like a project status report, and an interview debrief needs an assessment section, not a client-facing email.
And the rule I care most about: the skill never invents facts. If a due date wasn't mentioned, the table says "not specified" — it doesn't helpfully hallucinate "Friday." Where the skill draws a reasonable inference (say, matching "Sarah will handle it" to the Sarah in the attendee list), it marks it (inferred) so you can check it. Summarization tools that quietly make things up are worse than no tool at all, because they're confidently wrong in writing.
A worked example: messy in, clean out
Here's the kind of input the skill is built for. This is fictional, but I promise you've written notes exactly like this.
What you paste in:
proj sync – atlas launch, tues
here: me (Alex), Dana, Priya, Tom (partial)
launch date — dana says push to sept 12, priya ok with it, done deal
tom flagged the billing bug again?? still open, eng hasn't sized it
priya to send revised copy to legal by fri
need someone to own the launch checklist — parked
dana: budget for paid ads approved, 15k, she signed off
qs: do we translate the landing page? no answer
tom dropped at :20
someone should book the retro
What you get back (abridged — the real output includes all six sections):
Executive summary Project sync on the Atlas launch (Tuesday) with Alex, Dana, Priya, and Tom (partial attendance). The launch date was moved to September 12, decided by Dana with Priya's agreement. A $15k paid-ads budget was approved by Dana. The billing bug remains open and unsized by engineering. Ownership of the launch checklist was raised but not assigned. Landing-page translation is an unresolved question.
Decisions
- Launch moved to September 12 — decided by Dana, agreed by Priya.
- Paid-ads budget of $15k approved — decided by Dana.
Action items
Owner Task Due Blocked by Priya Send revised copy to legal Friday — ⚠ NO OWNER Own and complete the launch checklist Not specified — ⚠ NO OWNER Get engineering to size the billing bug Not specified Eng capacity (inferred from "eng hasn't sized it") ⚠ NO OWNER Book the retro Not specified — Open questions
- Do we translate the landing page? (raised, no answer recorded)
Follow-up email (draft)
Subject: Atlas sync — decisions & next steps
Hi all,
Quick recap from Tuesday's Atlas sync. Two decisions: launch moves to September 12 (Dana's call, Priya agreed), and Dana approved the $15k paid-ads budget.
Actions: Priya sends revised copy to legal by Friday. Three items still need an owner — the launch checklist, sizing the billing bug with eng, and booking the retro. Can I get names on those by tomorrow?
Still open: whether we translate the landing page.
Tom — you dropped at :20, so flag anything above that needs revisiting.
Thanks, Alex
Notice what happened. Three of the four action items got flagged as ownerless — which was true, and which is exactly the information you need today, not at the deadline. The email even nudges the group to assign them. The vague "someone should book the retro" didn't get assigned to a random name; it got surfaced as a gap. And nothing appears in the output that wasn't in the notes.
That thirty-second paste just replaced the twenty-minute recap you weren't going to write.
How to install it
The skill is one markdown file. Download it from this page, then put it here:
~/.claude/skills/meeting-notes-to-actions/SKILL.md
Or from the terminal:
mkdir -p ~/.claude/skills/meeting-notes-to-actions
mv ~/Downloads/SKILL.md ~/.claude/skills/meeting-notes-to-actions/SKILL.md
That's it. Next time you're in Claude Code, paste your notes and say "turn these meeting notes into actions" — the skill picks it up automatically. If you're new to how skills and Claude Code work, my plain-English explainer is linked at the bottom of this page.
No Claude Code? It still works. Open the SKILL.md file, copy everything below its frontmatter, paste it into a Claude or ChatGPT conversation as your first message, then paste your notes. The instructions are the product; the file location is just convenience.
Making it a daily habit
A tool you use once is a demo. A tool you use after every meeting is a system. Here's the routine I actually follow:
- Block five minutes after every meeting on your calendar. Not mentally — literally. If your meetings are 30 minutes, book them as 25 and protect the buffer. This is the single change that makes everything else stick.
- In that block: paste, read, send. Paste whatever you captured, skim the output, fix anything the skill flagged as inferred or ownerless, send the email. Five minutes, done.
- Chase the ⚠ flags first. The no-owner flags are the whole game. An action item that leaves the five-minute block without a name attached will not get done.
- Keep the outputs in one place. One folder, one doc, one channel — doesn't matter which. In a month you'll have a searchable decision log for free, and "wait, what did we agree in June?" becomes a ten-second lookup.
The repeatable part matters more than the AI part. Because the output format never changes, your team learns to read it in seconds, and the recap email stops being a chore and starts being your reputation: you're the person whose meetings produce decisions.
FAQ
Does it work on raw transcripts from Zoom, Meet, or a voice recorder? Yes — that's the primary use case. Transcripts are messier than notes (crosstalk, filler, mislabeled speakers) and the skill's extraction rules are written for exactly that.
What if my notes cover two meetings in one dump? The skill detects it and processes each meeting separately, clearly labeled. If it can't tell where one ends and the next begins, it asks instead of guessing.
Will the follow-up email sound like a robot wrote it? The email rules ban AI-speak, keep it short, and write from your perspective as a participant. If you want it even closer to your natural voice, run it through my humanize-writing skill after — they chain well.
Can it push tasks directly into Asana or Linear? It formats them for pasting; it doesn't connect to those tools itself. Keeping the skill a plain file means it works everywhere with zero setup. Wiring it into your task tool is a nice next step once the habit exists.
What does it do with confidential meetings? The same thing as any AI conversation — the content goes to the model. Use the same judgment you'd use pasting notes into any cloud tool, and check your company's policy for client or HR material.
Why not just use my meeting app's built-in AI summary? Two reasons. Built-in summaries summarize; they don't enforce owners, flag gaps, or draft your email. And they only work in that one app — this works on anything you can paste, which is the point of a repeatable workflow.
Resources & links
- Six Claude prompts that put you ahead of 99% of users — the prompt patterns this skill is built on.
- Claude Code explained for normal people — if "put a file in ~/.claude/skills" sounded like a foreign language.
- My Claude workflow template — the bigger system this skill slots into.
- Twelve ways to make money with Claude — meeting ops is #4; here are the other eleven.
- Deep research brief — same repeatable-output philosophy, applied to research instead of meetings.
- Humanize writing — chain it after this skill to polish the follow-up email into your exact voice.
- Context engineering — why giving the model rules and structure beats clever one-off prompts.
- GSD core — my base getting-stuff-done skill; the action-table format here was born there.
If this saved you a meeting's worth of confusion, I write up one practical workflow like this every week — subscribe at alexandrrich.substack.com.
Keep reading
🤖Agentic AutomationThe Claude Workflow Template
A reusable system for turning one real task into a repeatable Claude workflow. Everything is fill-in-the-blank: copy the blocks, replace the bracketed text, delete what doesn't apply. The 30-minute setup is most of the improvement.
🤖Agentic AutomationEvery Claude Code Concept Explained for Normal People
Claude Code isn't just for programmers. Here are all the concepts — skills, sessions, CLAUDE.md, MCP, plan mode — explained in plain English with business examples.
