Agent skill

Meeting Notes

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when a meeting just ended and a transcript or rough notes must become a record the absent can act on — decisions with their why, actions with an owner and a real date, open…

MITAuto-check passedProductivity & Automation

Install Meeting Notes

skills CLI
$ npx skills add ericrisco/rsc-harness --skill meeting-notes -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness meeting-notes --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/meeting-notes .claude/skills/meeting-notes && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
meeting-notes
GitHub stars
174
Token cost
~3.1k tokens
SKILL.md length
1,484 words
Files
4 (incl. references)
Skills in repo
233
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a meeting just ended and a transcript or rough notes must become a record the absent can act on — decisions with their why, actions with an owner and a real date, open…

  • Works in 6 steps: Consent & setup — if it's being… → Capture in real time — record context →… → Sort signal from noise — a useful record… → …
  • A meeting just ended and a transcript
  • SKILL.md covers Not this skill, The capture loop, The record skeleton and Action items done right, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Meeting Notes is an agent skill from ericrisco/rsc-harness. Use when a meeting just ended and a transcript or rough notes must become a record the absent can act on — decisions with their why, actions with an owner and a real date, open questions, a recap inside 24–48h — or to clean an AI-notetaker draft that invented tasks or swapped speakers. NOT the durable ADR with alternatives weighed (that is decision-records).

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/templates.md`).

It sits in Productivity & Automation, covering Meeting notes and agendas and Architecture decision records. It works with Notion. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • A meeting just ended and a transcript
  • Rough notes must become a record the absent can act on — decisions with their why
  • Actions with an owner and a real date
  • A recap inside 24–48h —

Example prompts

  • “/meeting-notes”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Consent & setup — if it's being recorded, announce it and get consent before capture (see Consent below). Note attendees, date, purpose.
  2. Capture in real time — record context → decision → action as the discussion happens. Don't reconstruct from memory hours later; you'll…
  3. Sort signal from noise — a useful record filters to decisions, commitments, and open questions. It is not a transcript. (Fellow.app /…
  4. Extract decisions + actions + open questions — into the skeleton below.
  5. Verify — confirm each owner accepts their task while everyone is still present. For AI drafts this step is mandatory and heavier (see…
  6. Ship the recap within 24–48h — as a draft, invite corrections, then finalize. (VoiceType / Wrike, accessed 2026-06-02.)

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • cdn.openai.com
    • justia.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Meeting Notes loads about 3.1k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 94 tokens; SKILL.md has 1,484 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,484 words, ~3,086 tokens.

Download SKILL.mdSave it as .claude/skills/meeting-notes/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
meeting-notes
description
Use when a meeting just ended and a transcript or rough notes must become a record the absent can act on — decisions with their why, actions with an owner and a real date, open questions, a recap inside 24–48h — or to clean an AI-notetaker draft that invented tasks or swapped speakers. NOT the durable ADR with alternatives weighed (that is decision-records).
tags
meeting-notes, action-items, decisions, recap, transcript-cleanup, minutes, standup, business-ops
recommends
decision-records, sop-builder, project-ops, calendar-scheduling, notion-connector, automation-flows, document-processing
origin
risco

Meeting Notes — Make the Meeting Count

The meeting just ended. Pull the decisions and the why, assign the actions with owners and real dates, flag what's still open, and ship a record someone who missed it can act on.

You own the point-in-time meeting record: take a transcript or raw notes, separate signal from noise, and emit a curated artifact — decisions (with rationale), action items (owner + due date), open questions, and a one-screen TL;DR. The output is human-readable judgment, not a code file.

Not this skill

If the ask is…Route to
The durable decision record — full rationale, alternatives weighed, reversibility argued, review cadencedecision-records. This skill captures a decision in its meeting context and hands the heavy ADR off; it does not maintain the long-lived artifact
A reusable step-by-step procedure / runbooksop-builder. A SOP is a repeatable how-to; meeting notes are a point-in-time record
Tracking the emitted tasks across a board / sprintproject-ops. This skill emits action items; their lifecycle is not its job
Scheduling the meeting, finding a slot, sending the invitecalendar-scheduling
Building the integration that pushes notes into Notion/Slack/a trackernotion-connector / automation-flows
Summarizing an arbitrary document that is not a meetingdocument-processing

The capture loop

This is the spine. Six steps, in order:

  1. Consent & setup — if it's being recorded, announce it and get consent before capture (see Consent below). Note attendees, date, purpose.
  2. Capture in real time — record context → decision → action as the discussion happens. Don't reconstruct from memory hours later; you'll lose the why and invent the rest. (Umbrex, accessed 2026-06-02.)
  3. Sort signal from noise — a useful record filters to decisions, commitments, and open questions. It is not a transcript. (Fellow.app / VoiceType, accessed 2026-06-02.)
  4. Extract decisions + actions + open questions — into the skeleton below.
  5. Verify — confirm each owner accepts their task while everyone is still present. For AI drafts this step is mandatory and heavier (see Working with AI transcripts).
  6. Ship the recap within 24–48h — as a draft, invite corrections, then finalize. (VoiceType / Wrike, accessed 2026-06-02.)

Your first move depends on the source. Branch here:

You have…First moveWhy
A live meeting / you're the note-takerCapture in real time, then verbal-confirm each owner before closeMemory decays fast; the room is the cheapest place to fix attribution
An AI-notetaker transcript (Otter, Fireflies, Granola…)Verify first — speakers, hallucinated tasks, quotes vs. source — before you trust any lineAI drafts misattribute speakers and invent tasks; a clean-looking draft is the trap
Raw bullet notes someone typedSort signal from noise, then chase the gaps (missing owners/dates)The notes already filtered; your job is structure + completeness

The record skeleton

Curated record, not a transcript (don't dump the conversation flow). Canonical sections, in this order:

markdown
# <Meeting> — <Date>
**Attendees:** Ana, Marc, Júlia (note-taker: Ana) · **Purpose:** decide Q3 launch scope

## TL;DR
One screen the absent can act on: we cut feature X from the launch, Marc owns the
go/no-go by Jun 12, payments integration is still open.

## Decisions
- Cut feature X from the Q3 launch. *Why:* QA can't cover it in time; ships in Q4.
  *Reversibility:* partially-reversible (re-add in Q4). Dissent: Júlia wanted a flag.

## Action items
- [ ] Spike the Stripe webhook retry — Marc — by Tue Jun 9
- [ ] Send revised launch scope to stakeholders — Ana — by Thu Jun 11

## Open questions
- Who signs off on the payments contract? (raised by Marc, unresolved)

## Parking lot
- Revisit pricing tiers next sync (not in scope today)

Four filled versions of this skeleton — decision meeting, standup/sync, retro, 1:1 — plus copy-paste action-item and decision rows are in references/templates.md.

Action items done right

A complete action item is verb, owner, by <real date>: verb-first ("Draft…", "Spike…", "Send…", "Confirm…"), one named person — not "the team", not "we", since shared ownership means nobody owns it — and a real date ("by Tue Jun 9", never "next week", "soon", or "ASAP"). Explicit dates and named owners raise completion and ownership. (Umbrex, accessed 2026-06-02.)

Bad → Good:

BadGood
"Look into the API stuff — team — soon""Spike the Stripe webhook retry path — María — by Tue Jun 9"
"Follow up on the contract""Send the signed vendor contract to legal — Marc — by Thu Jun 11"
"Everyone review the doc""Leave inline comments on the launch doc — Ana, Júlia — by Mon Jun 8"

Verbal-confirm before the meeting ends. Ask each owner to confirm they accept the task while everyone is still present. (Umbrex, accessed 2026-06-02.) An unaccepted task is a wish.

Add a status field ([ ] open / [~] in progress / [x] done) so the same record can be re-read as a tracker until the tasks migrate to project-ops.

Add RACI only when ownership is genuinely contested — a cross-team decision with unclear accountability. Don't bolt a Responsible/Accountable/Consulted/Informed grid onto a five-person standup; it's overhead nobody reads.

Decisions + the one-line why

For each real decision capture three things:

  1. The decision — what was decided, stated as a fact.
  2. One sentence of why — the trade-off or context. Every major decision gets one; a decision with no why rots, and six weeks later nobody remembers what trade-off it solved. (Umbrex / Fellow.app, accessed 2026-06-02.)
  3. Dissent or unresolved issue — if someone disagreed or it's conditional, note it. A record that hides dissent will be re-litigated.

Tag each decision by reversibility — reversible / partially-reversible / irreversible — as a single field. Reversible calls can be made fast on imperfect info; irreversible ones warrant slowing down and recording more context, and the tag helps later review. (fs.blog / Reflect OS, accessed 2026-06-02.)

Bad → Good:

BadGood
"Decided to use Postgres.""Adopt Postgres over DynamoDB for the events store. Why: relational queries we need; team already knows it. Reversibility: partially-reversible. Dissent: none."

When a decision needs the full ADR — alternatives weighed, reversibility argued, a review date — that is decision-records' job. Capture it here in context, then hand it off. Don't grow an ADR inside the meeting notes.

Show full SKILL.md (635 more words)Show less

Working with AI transcripts

AI transcripts hallucinate and misattribute speakers, and even strong ASR is not error-free — Whisper reports ~2.5–3% word error on clean read speech (LibriSpeech test-clean) and ~4.7% on TED talks (TED-LIUM), and real meeting audio with crosstalk and accents is worse. A human verification pass is mandatory before any task or quote ships. (OpenAI Whisper, Robust Speech Recognition via Large-Scale Weak Supervision, arXiv 2212.04356, https://cdn.openai.com/papers/whisper.pdf, accessed 2026-06-02.) Never let an AI-extracted action item or quote go out unverified against the source.

Run three checks before you trust a draft:

  1. Speaker attribution — does each commitment trace to the right person? AI notetakers swap speakers, especially on overlapping talk or after a silence.
  2. Hallucinated task — does each action item correspond to something actually said? If you can't find it in the audio/transcript, drop it or flag it — don't ship it.
  3. Quote vs. source — any verbatim quote you keep must match the source. Paraphrase if unsure; never present an unverified quote as exact.

When a line is suspect, flag it for verification rather than asserting it — and never invent a missing owner or date. The full checklist is in references/templates.md.

Recording a conversation carries real legal and confidentiality exposure. (Justia, Recording Phone Calls and Conversations — 50-State Survey, https://www.justia.com/50-state-surveys/recording-phone-calls-and-conversations/, accessed 2026-06-02; ABA GPSolo eReport "AI and You", Sept 2025.)

  • Announce + get consent before recording. Roughly a dozen US states require all-party (two-party) consent — per Justia's 50-state survey, CA, CT, DE, FL, IL, MD, MA, MT, NV, NH, PA, WA — but the canonical list is contested (some sources classify MI, OR, or NV differently). Verify the current rule for your jurisdiction; don't assert a fixed count. Under GDPR, recording is data processing — you need a basis and to inform attendees.
  • A cloud AI notetaker grants a third party access to the conversation, which can waive privilege. Don't auto-record sensitive or privileged meetings (legal, HR, M&A, incident reviews).
  • Redact names, secrets, and confidential details before distribution if the audience is wider than the room — and tighten distribution on anything sensitive.

Distribution

Ship within 24–48h while memory is fresh. (VoiceType / Wrike, accessed 2026-06-02.)

  1. Draft — send the record as a draft, not a finalized minute.
  2. Invite corrections — let attendees fix attribution and dates; this is your accuracy pass.
  3. Finalize — lock it once corrections land, still inside 48h.

Then route, don't fork. Action items → a tracker via project-ops (or pushed by automation-flows / notion-connector). Durable decisions → decision-records. Keep one canonical home for the record and link to it — don't paste three diverging copies into Slack, Notion, and email.

Anti-patterns

Anti-patternWhy it failsDo instead
Paste the whole transcript as "the notes"Nobody re-reads a wall of dialogue; the decisions drownCurate to decisions, actions, open questions + a TL;DR
Action item with no owner ("the team will…")Shared ownership = nobody owns it; it diesOne named person per task
Owner but no real date ("soon", "next week")Not a deadline; can't be tracked or chasedverb, owner, by <real date>
Ship the AI draft unverifiedHallucinated tasks and swapped speakers go out as factRun the 3 verification checks first
Auto-record a sensitive/privileged meetingConsent and privilege exposure; can waive privilegeAnnounce + consent; hand-note sensitive meetings
Decision with no whyRots — re-litigated when nobody recalls the trade-offOne sentence of rationale per decision
Send the recap a week laterMemory's gone; corrections are guesses; team already driftedDraft within 24–48h, invite corrections, finalize
Fork the notes into three placesVersions diverge; people act on the stale oneOne canonical home, link don't copy
Invent a missing owner or dateA fabricated commitment is worse than a flagged gapFlag it as "needs confirmation" — never guess
Bolt RACI onto a standupOverhead nobody reads; slows a simple syncRACI only when ownership is genuinely contested

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/meeting-notes of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/templates.md

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Meeting Notes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Meeting Notes compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Meeting Notes this skillericrisco/rsc-harness174—~3.1kAutomated safety check: PassMIT
Notion Docheyman333/agent-notion-template-docs105—~1.1kAutomated safety check: PassMIT
Claap Weekly RecapOthmane-Khadri/YALC-the-GTM-operating-system317—~5.4kAutomated safety check: PassMIT
Find In Notionsuperset-sh/superset15k—~763Automated safety check: PassCustom licence
Meeting Preptechwolf-ai/ai-first-toolkit132—~1kAutomated safety check: PassMIT
Granola Core Workflow Bjeremylongshore/tons-of-skills-marketplace2.8k—~1.7kAutomated safety check: PassMIT

Similar skills

  • Notion Doc

    heyman333/agent-notion-template-docs

    Notion design skill that MUST be used whenever creating documents.

    105 GitHub stars~1.1k tokensUpdated 12 days ago
    Productivity & AutomationAuto-check passed
  • Claap Weekly Recap

    Othmane-Khadri/YALC-the-GTM-operating-system

    Turns a week of Claap-recorded sales calls into action items and focus blocks on a Notion Kanban, delivered with a Slack summary.

    317 GitHub stars~5.4k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Find In Notion

    superset-sh/superset

    Find what the workspace already says before you answer or write — search Notion, tell the canonical page from the stale copy, and cite what you used.

    15k GitHub stars~763 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Meeting Prep

    techwolf-ai/ai-first-toolkit

    Comprehensive pre-meeting briefing that gathers all relevant context from Slack, email, Google Docs, Notion, and calendar.

    132 GitHub stars~1k tokensUpdated 9 days ago
    Productivity & AutomationAuto-check passed
  • Granola Core Workflow B

    jeremylongshore/tons-of-skills-marketplace

    Post-meeting note processing, sharing, and follow-up workflows in Granola.

    2.8k GitHub stars~1.7k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Async Standup Compiler

    mohitagw15856/pm-claude-skills

    Compile the team's REAL updates into one async standup — pull what people posted in Slack (and moved in Notion/Linear), not a template for running standups.

    1.4k GitHub stars~1k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed

More from ericrisco/rsc-harness

All 233 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    174 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    174 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    174 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    174 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    174 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    174 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Meeting Notes

What does Meeting Notes do?

A skill your agent uses when a meeting just ended and a transcript or rough notes must become a record the absent can act on — decisions with their why, actions with an owner and a real date, open…. Meeting Notes is an agent skill from ericrisco/rsc-harness. Use when a meeting just ended and a transcript or rough notes must become a record the absent can act on — decisions with their why, actions with an owner and a real date, open questions, a recap inside 24–48h — or to clean an AI-notetaker draft that invented tasks or swapped speakers.

When should I use Meeting Notes?

Meeting Notes fits situations like: A meeting just ended and a transcript; rough notes must become a record the absent can act on — decisions with their why; actions with an owner and a real date; A recap inside 24–48h —.

How do I install Meeting Notes in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill meeting-notes -a claude-code`. Or copy the skill folder (skills/meeting-notes in ericrisco/rsc-harness) into .claude/skills/meeting-notes in your project. Claude Code loads it when a task matches its description.

How do I install Meeting Notes in Codex?

Run `npx skills add ericrisco/rsc-harness --skill meeting-notes -a codex`. Or copy the skill folder (skills/meeting-notes in ericrisco/rsc-harness) into .agents/skills/meeting-notes in your project. Codex loads it when a task matches its description.

Can I use Meeting Notes in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill meeting-notes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/meeting-notes, .gemini/skills/meeting-notes, .github/skills/meeting-notes and .opencode/skills/meeting-notes in your project.

What does Meeting Notes need to run?

SKILL.md names no scripts, command-line tools or credentials: Meeting Notes is instructions for the agent only.

Does Meeting Notes access the network?

SKILL.md names 2 domains. As links in the text: cdn.openai.com and justia.com. This is read from the text; nothing was executed.

Is Meeting Notes safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Meeting Notes use?

Meeting Notes is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Meeting Notes use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 940 tokens, read only when the agent opens those files.

What are the alternatives to Meeting Notes?

Skills that share tags, products or a category with Meeting Notes: Notion Doc (heyman333/agent-notion-template-docs, 105 stars), Claap Weekly Recap (Othmane-Khadri/YALC-the-GTM-operating-system, 317 stars), Find In Notion (superset-sh/superset, 15k stars) and Meeting Prep (techwolf-ai/ai-first-toolkit, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Meeting Notes?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.