meeting-minutes
Skill1 starsChanged 4 months agoMITView on GitHub
Turn a meeting transcript (or pre-transcribed text) plus a Markdown minute template into a clean, structured meeting minute. Use when the user asks to summarize a meeting, write meeting notes/minutes from a transcript, or fill a minutes template. Triggers on: "会议纪要", "整理会议纪要", "meeting minutes", "summarize the meeting", "写会议纪要", "根据录音整理", "fill the minutes template", "把会议记录整理成模板". The assistant reads the transcript, extracts attendees/agenda/discussion/decisions/action items, and fills the Markdown template. Source transcript and template are never modified.
43 other projects use a version of this.
Adopted by
Most recently taken up by
- methylo/claude-skill-booktheir own version, first seen Nov 8, 2026
- Vantus-ai/construction-ai-librarytheir own version, first seen Nov 8, 2026
- ActuallyNodejam/openpaperworktheir own version, first seen Nov 8, 2026
- tang1693/yunduan-ai-skillstheir own version, first seen Nov 8, 2026
- CatCatUncle/openworkbuddytheir own version, first seen Nov 5, 2026
- Suryanandx/qvac-uitheir own version, first seen Nov 1, 2026
Used with
Projects with it also use weekly-report, contract-review and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Microsoft AzureSkillweekly-report
**WORKFLOW SKILL** — Generate weekly executive reports for the azd team. Pulls PR/issue/release data from GitHub, reads changelogs, combines with team notes, and produces a polished markdown report.
Also in 7 projects that use this
AnthropicSkillcontract-review
Lightweight NDA, MSA, and vendor contract review for SMBs without legal on staff. Reads contracts from local files, mail attachments (Gmail or M365), a connected file store (Google Drive or M365), or DocuSign envelopes; flags non-standard terms; explains risks in plain English; and outputs a marked-up redline as a separate DOCX. Use when the user says "review this contract," "what am I signing," "red flags," "flag any concerns," "check the payment terms," or uploads/forwards a contract or legal agreement.
Also in 4 projects that use this
shanggqmSkilldata-analysis
数据分析技能,提供结构化的数据查询、统计分析和报告生成工作流。当用户需要查询数据库、进行数据统计分析、生成分析报告时使用。按规范输出原始数据、计算结果、Markdown报告和HTML可视化报告。
Also in 3 projects that use this
asterkinSkilladr
Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.
Also in 3 projects that use this
Google CloudSkilltriage
Gather context on a change or bug and plan the implementation.
Also in 3 projects that use this
SentrySkillskill-creator
Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.
Also in 4 projects that use this
Other versions43 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 43
- github/awesome-copilot★ 41ksame name
- genspark-ai/genoffice★ 12ksame name
- CatCatUncle/openworkbuddy★ 398same name
- AlpacaLabsLLC/skills-for-architects★ 390same name
- bam-bam-2/solo-skills★ 366same name
- modimihir07/agentic-os★ 209same name
- cookyman74/llmwiki-harness★ 34same name
- ulises-jeremias/agent-toolkit★ 19same name
- marc-ing/marc-skills★ 14same name
- z-Zihan/Evir★ 11same name
33 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- eddx-translateSkill
- kb-ingestSkill
- meeting-minutes-exportSkill
- pptx-translateSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 3 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 24 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Do not use for: transcribing raw audio/video (out of scope — ask the user to provide a transcript first).
- Very specific: line 46
Read the transcript and produce a JSON data object with these keys.
- Very specific: line 82
If the transcript is partial, mark uncertain fields TBD and note it in the minute (e.g.
- Distinctive: line 123
If the user also needs a Word (.docx) copy, use the
- Distinctive: line 131
Input transcript / template: Read-only. Never modified.
“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Meeting Minutes
Convert a meeting transcript (or any pre-transcribed text) plus a Markdown minute template into a clean, structured meeting minute. No audio processing is involved — the user supplies text.
When to use
- The user pastes a transcript, or points to a
.md/.txttranscript file, and wants a structured meeting minute. - The user has a minutes template (Markdown) they want filled, or wants the skill's default template.
- The user says "整理会议纪要", "summarize the meeting", "fill the minutes template", etc.
Do not use for: transcribing raw audio/video (out of scope — ask the user to provide a transcript first).
Inputs / outputs
| Item | Rule |
| Transcript | Read-only text source (.md / .txt, or pasted). Never modified. |
| Template | Markdown minute template (yours, or the bundled default). Never modified. |
| Output | Filled minute, saved to CWD: YYYYMMDD_{MeetingPurpose}_Minutes.md <br>MeetingPurpose comes from meeting_purpose/meeting_title, kept short (≤5 words; safety cap prevents lengthy names). Falls back to {MeetingPurpose}_Minutes.md if no date is found. |
The skill ships references/minutes_template.md as the default template.
Workflow
Step 1: Gather inputs
- Get the transcript — a file path, or pasted text.
- Get the template — a user template, or use the default:
references/minutes_template.md. - Confirm the desired output path (default:
meeting-minutes.mdin CWD).
Step 2: Extract structured data from the transcript
Read the transcript and produce a JSON data object with these keys. Use null
or [] when a section is absent — do not invent content.
| Key | Type | Notes |
meeting_title | string | From subject/opening, else infer a short title |
meeting_purpose | string | Optional. Short purpose/theme used in the output filename (YYYYMMDD_{MeetingPurpose}_Minutes.md). Keep it short (aim for ≤5 words; the script applies a safety cap so the filename stays brief). Defaults to meeting_title when omitted. |
date | string | YYYY-MM-DD when stated |
time | string | Start–end, e.g. 14:00–15:00 |
location | string | Room / platform (Zoom, Teams…) |
note_taker | string | Person recording minutes |
language | string | Output language code: "en" (default) or "zh" (or any label the assistant understands, e.g. "中文"). Localizes the script's generated labels/headers so the minute matches the transcript's language. |
attendees | list[str] | Name (role) — from speaker labels (Alice:) or roll-call. Unlabeled or "not present" mentions — note under Open Issues or the relevant discussion point; no separate absent field is exposed. |
agenda | list[str] | Topics planned / announced |
discussion | list[obj] | { "topic": str, "summary": str } — 2–4 concise bullets of key points, options considered, disagreements |
decisions | list[str] | Explicit decisions / approvals, with rationale when given |
action_items | list[obj] | { "action": str, "owner": str, "due": str, "status": "Open" } — owner/due TBD if not stated |
open_issues | list[str] | Risks, blockers, parking-lot items |
next_meeting | obj | { "date": str, "topics": str } — if absent, the ## Next Meeting section is omitted entirely from the output |
Extraction rules (opinionated):
- Map
Speaker:labels in the transcript →attendees. Unlabeled or "not present" mentions — note underOpen Issuesor the relevant discussion point; no separateabsentfield is exposed. - Pull explicit decisions, approvals, and "we will / let's / agreed to" phrasing
→
action_itemswith owner + due when stated, elseTBD. - Summarize each agenda topic into 2–4 bullets; preserve numbers, dates, names, and technical terms verbatim — do not paraphrase metrics.
- Language: Detect the transcript's language and set
languageto match (e.g.zhfor a Chinese transcript). Write all extracted content in that language. For Path A also localize the template's section headers/labels; for Path B pass a localized template — the script localizes its own generated action-items table headers and the(None)/(TBD)labels vialanguage. Empty sections ({{next_meeting}}with no data) are automatically removed from the rendered output. - If the transcript is partial, mark uncertain fields
TBDand note it in the minute (e.g. under Open Issues).
Step 3: Fill the template
Two equivalent paths — pick whichever fits:
A. Direct (recommended): Fill the template in place from the JSON you just
built. Replace each {{placeholder}} with the rendered value, and remove any
leftover {{...}} tokens. Section headers in the template stay as-is.
B. Scripted (deterministic): Save the JSON to a file and render with the bundled script. This guarantees consistent formatting/tables:
python "<skill_dir>/scripts/fill_minutes.py" <data.json> <template.md> <output.md><template.md>and<output.md>are optional; they default to the bundled template andYYYYMMDD_<MeetingPurpose>_Minutes.mdin CWD (named from thedate+meeting_purpose/meeting_titlefield;<MeetingPurpose>_Minutes.mdif no date).- To scaffold a sample JSON, run:
python "<skill_dir>/scripts/fill_minutes.py" --init-skeleton skeleton.json
The script renders {{attendees}}/{{decisions}}/{{open_issues}}
as bullet lists, {{agenda}} as a numbered list, {{discussion}} as
### topic sub-sections, {{action_items}} as a Markdown table, and
{{next_meeting}} as a key/value block. When {{next_meeting}} data is
absent, the entire ## Next Meeting heading and its content are
removed from the output — no placeholder or fallback remains.
Step 4: Verify & present
- Confirm no
{{placeholder}}tokens remain in the.mdoutput. - Confirm the
.mdfile was written. - Confirm the source transcript and template are untouched.
- Present the output path and a short summary: # attendees, # decisions, #
action items, and any
TBD/open items needing follow-up.
If the user also needs a Word (.docx) copy, use the meeting-minutes-export orchestrator skill.
For the full end-to-end workflow (.md → .docx), see
meeting-minutes-export/SKILL.md.
File organization rules
- Input transcript / template: Read-only. Never modified.
- Output minute: Saved to CWD. Never overwrites the template.
Bundled resources
references/minutes_template.md— default Markdown template with{{placeholder}}tokens.scripts/fill_minutes.py— deterministic renderer (JSON → templated.md).
Typical user prompts
| Language | Example |
| Chinese | "把这份会议记录整理成会议纪要" |
| Chinese | "根据录音整理成模板格式的纪要" |
| English | "Summarize this meeting transcript into minutes" |
| English | "Fill my minutes template from this transcript" |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

