Marketplace @knack meeting-minutes

Meeting Minutes

Convert a transcript or notes into structured minutes: decisions (past tense), action items with owner + date, open questions with a path to resolution.

v0.1.0 by @knack (Knack) meeting-minutes

Install with the knack CLI: knack pull @knack/meeting-minutes — then it runs in Claude Code, Cursor, Codex, or any agent that reads the open Anthropic Skills format.

Convert a raw meeting transcript into the three things that matter post-meeting: decisions made, action items owed, and questions left open. Skip "Tom said X then Mary said Y" — that's the transcript, not the minutes.

When to use

  • Transcript from Otter / Granola / Fireflies / Zoom auto-transcript
  • Hand-typed notes from a meeting the user attended
  • Recording the user wants summarized for stakeholders who didn't attend

Skip for: 1:1s (different rhythm — usually no shared minutes), brainstorming where the goal was generation not decision (capture the ideas list, not "minutes"), legally-significant meetings (board, M&A, performance — those need precise wording, not summary).

Workflow

  1. Identify the attendees and the timestamp. Top of minutes: who was there, who was missing-but-relevant, date, duration. The header makes minutes searchable later.

  2. Find the decisions, not the discussion. Read once through. Highlight every line that's a decision — past tense, declarative. "We're going to ship the v2 API next quarter." Not "Maya thinks we should ship the v2 API."

    If you can't tell whether something was decided or just discussed, flag it in the "open questions" section.

  3. Find the commitments. Every "I'll do X" / " will Y" / "we should follow up on Z" is an action item. Each needs:

    • Owner — one name. Co-ownership = no ownership. If two people share, pick one as the driver.
    • Specific deliverable — "draft the proposal" not "look into it."
    • Date — explicit. If the transcript doesn't include one, write "(date TBD — confirm with )".
  4. Find the open questions. Things raised but not resolved. Don't pretend they were decided. "Open: pricing for the enterprise tier — to revisit next week."

  5. Anything else is summary fluff and gets cut. A meeting that produced 0 decisions, 0 action items, 0 open questions probably didn't need to happen — say so quietly: "No decisions or action items captured." That's useful signal.

Output shape

# <Meeting title> — <YYYY-MM-DD>

**Attendees**: <names>
**Missing**: <names if relevant>
**Duration**: <minutes>

## Decisions
- <one-line decision>
- <one-line decision>

## Action items
| # | Item | Owner | Due |
|---|---|---|---|
| 1 | <deliverable> | <name> | <date> |
| 2 | <deliverable> | <name> | <date> |

## Open questions
- <question + who needs to decide it + by when>

## Notes (optional)
<Anything load-bearing that didn't fit above. Cap at 100 words.>

Definition of done

  • Attendees listed
  • Every decision in one line, past tense
  • Every action item has owner + due date (or explicit "date TBD")
  • Open questions are tagged with a path to resolution (who decides, by when)
  • Total length: ~200 words for a 30-min meeting. ~500 words max for a 90-min meeting

Gotchas

  1. "Action: discuss further" is not an action item. It's a non-decision. Either there's a real next step (with owner + date) or there isn't. Capture the truth.

  2. Don't paraphrase the transcript. Minutes aren't a summary of what people SAID — they're a record of what the meeting PRODUCED. The reader doesn't care that Tom raised concerns about timeline; they care that the team committed to the date or pushed it.

  3. One owner per item. Always. "Maya / Jordan to draft" creates the diffusion-of-responsibility shape where neither will do it. Pick one driver; the second person is a "review by" instead.

  4. If you weren't sure who committed to something, ask. Don't assume. A transcript saying "we should do X" with no name attached is an UNASSIGNED item — surface it explicitly so it gets owned in followup, not silently dropped.

  5. Beware the "circle back" trap. "Let's circle back next week" without a specific next-Tuesday-1pm slot becomes "we never followed up." Make the circle-back a calendar invite, not a phrase.

  6. Don't include verbatim quotes unless they're load-bearing. "Maya said 'I think we need to revisit the schema'" is theater. "Decision: revisit the schema before the v2 freeze" is signal.

  7. Distribution: send within 24 hours. Minutes from last week's meeting are dead text. The point of minutes is to give the team a single source of truth for action items WHILE THEY ARE STILL ACTIONABLE.

  8. Auto-transcripts mishear technical terms. "Kubernetes" becomes "communities," "Postgres" becomes "post grass." Skim once for obvious corruption before publishing.