Meeting Minutes Your Agent Writes in 3 Buckets: Decisions, Actions, Open Questions A developer published an MIT-licensed agent skill that turns raw meeting notes into minutes organized into three buckets — decisions, action items, and open questions — with a conclusion-first format capped at one-third the length of the source notes. The skill explicitly forbids inventing owners or dates, requiring gaps to be marked with placeholders like [unassigned] and [TBD], and runs a self-check on ownership and deadlines before output. It is one of five SKILL.md-based skills in the developer's agent-skills-en repository, alongside commit messages, code review, proofreading, and deep research. I pasted two pages of raw meeting notes into my coding agent and asked for minutes. What came back was a tidy chronological summary: who spoke first, what they said, who replied, what they said next. It read well. It was also useless — nobody could tell what the meeting had actually decided, and the three follow-ups mentioned in passing had no owners and no dates. The problem was not the agent. "Write up the minutes" is a vibe, not a procedure. So I wrote the procedure down as a skill, and the agent has followed it since. Minutes are not a transcript with better formatting. They exist so that someone who missed the meeting can catch up in 3 minutes — and so attendees know exactly what they owe. That means everything gets sorted into exactly three buckets: And the whole thing opens conclusion-first: at most 3 lines on what the meeting decided, before any detail. Raw notes are messy. "Draft the proposal by next Wednesday" — whose job is that? The notes don't say. A helpful-sounding agent will guess a name, or quietly drop the deadline, and the minutes become fiction with good formatting. The skill forbids that, explicitly: unassigned . If no deadline, mark TBD . to confirm . Marking a gap is more useful than hiding one. unassigned in the minutes is a to-do for the team; an invented owner is a bug nobody notices until the deadline passes. Input raw notes excerpt : ...James said the login page is too slow, Maria suggested adding a cache layer, everyone agreed it's worth a pilot; draft the proposal by next Wednesday; pricing strategy still open, invite Finance next time... Output: Meeting minutes example Bottom line : Pilot a cache layer to speed up the login page; pricing strategy undecided, pending a session with Finance. Decisions - Adopt a cache layer for login-page performance pilot first, not a full rollout . Action items - Maria: draft the caching proposal, due next Wednesday date to confirm - unassigned : schedule pricing discussion with Finance time TBD Open questions - Pricing strategy: no decision reached; the action-item owner will book a dedicated session with Finance. Notice what the output refuses to do: it does not turn "next Wednesday" into a calendar date, and it does not assign the Finance meeting to whoever was mentioned last. The brackets are the honest part. Length control. The minutes body must be at most 1/3 the length of the raw notes. Longer means the agent summarized instead of distilling — redo it. This single ratio kills most chronological bloat. Self-check before output. Before returning anything, the agent verifies: does every action item have an owner? A deadline? Are decisions affirmative statements? Do open questions have a next step? Any "no" gets flagged in the output, not glossed over. This is one of five free, MIT-licensed skills in a small pack I maintain — the others cover commit messages, code review, technical-writing proofreading, and structured deep research. Each one is a single SKILL.md file: copy the folder into your agent's skills directory and it applies the workflow without being re-explained every session. Repo: https://github.com/alapha888/agent-skills-en https://github.com/alapha888/agent-skills-en — the meeting-notes skill is under skills/meeting-notes/ , including the full anti-pattern list chronological minutes, ownerless action items, invented details, decisions written as discussion . If your team has a different minutes format, fork the file and change the buckets. The format is the easy part; the discipline — conclusion first, owners or brackets, nothing invented — is the part worth keeping.