meeting-minutes-taker
Transforms raw meeting transcripts into high-fidelity, structured meeting minutes (notes / summaries). Use when (1) a meeting transcript is provided and meeting minutes, notes, or a summary are requested; (2) multiple versions of minutes must be merged without losing content; (3) existing minutes need review against the original transcript for missing items; (4) the transcript has anonymous speakers like "Speaker 1/2/3" or "发言人1" that need identifying (optionally mapped via a context.md team directory). Triggers on 会议纪要 / 会议记录 / 整理纪要 / 妙记转纪要, "write meeting minutes", "summarize this meeting", "merge these minutes", "what's missing from these notes". For fixing ASR/STT recognition errors in the raw transcript first, use transcript-fixer; this skill structures clean transcripts into minutes.
1How It Works & Mechanism
The core mechanism to counter the premise that 'a single pass inevitably loses content' is parallel redundant full read-throughs combined with a UNION merge: three subagents in isolated Task contexts each generate a full set of minutes from the complete transcript, followed by a union merge.
MUST use the Task tool to spawn multiple subagents with **isolated context**, each generating **complete minutes**
Filesystem context offloading: Each pass writes its output to <output_dir>/intermediate/<transcript-name>/, and the merge phase reads only the required files, preventing long transcripts from exhausting the conversation context while leaving an auditable trail.
**Critical: Write each pass output to files, not conversation context.**
Retrieval self-test (Step 3.5): A subagent in a fresh context reviews only the transcript (never the drafts) to reverse-extract 'future query claims', tests hit rates against the retrievable layer, conducts revocation scans, and outputs a quantitative report instead of a binary pass/fail.
4. **Report, never a binary "passed"**. Output: `enumerated N / hits M / promoted K / uncertain list` and show it alongside the draft.
Speaker identification follows 'source-side labeling priority': If the transcript comes from a platform supporting manual labeling (e.g., Feishu Minutes / Tencent Meeting), the process pauses to have the user label speakers at the source and re-export, treating text-based inference strictly as a fallback.
**stop and ask the user to label the speakers at the source, then re-export/re-ingest the labeled transcript** before generating minutes
Multi-turn human-AI iteration drives output quality: Initial drafts must be reviewed line-by-line by a human, as terminology conflicts and domain knowledge are known only to humans. Cross-AI outputs (e.g., Gemini/ChatGPT) can be cross-referenced to reduce bias, but must be verified against the transcript before merging.
Meeting minutes are **not one-shot outputs**. High-quality minutes emerge through multiple review cycles
Intelligent file naming requires user confirmation: Uses YYYY-MM-DD-<topic>-<type>.md, where topic is a 2–4 word theme and type is review/sync/planning/retro/kickoff.
**Pattern**: `YYYY-MM-DD-<topic>-<type>.md`
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | markitdown(可选,.docx→md 转换) |
| cli | Task/sub-agent(宿主能力,非第三方) |
4Recommended Governance & Evidence
- 本地工作目录: File read/write and artifact output: Outputs minutes and intermediate files via agent file tools into a user-specified <output_dir> (final filename confirmed with the user beforehand)
5Second-Pass Verification
- [ok] 无脚本/无资产面外文件 — glob 全量清单仅 SKILL.md + 3 references;无 tests/evals/scripts/agents。
- [ok] 无网络外发/无凭证接触 — 目录 token 扫描零命中(URL/curl/API_KEY/secret/subprocess/os.system);唯一命令示例为可选 markitdown。
- [ok] 并行 3 完整 pass + UNION 机制描述一致 — Step 2 与 Checklist 均写『3 Task subagents IN PARALLEL』;Anti-Patterns 反向禁止『Sequential subagent execution』与『Divided sections』,正反一致。
- [ok] Retrieval Self-Test 独立性(抽取器不见 draft) — Step 3.5 原文『Spawne ONE fresh-context subagent that reads ONLY the transcript — it must NOT see the draft』存在。
- [ok] 发言人识别:源侧优先 + 不静默假设 — Phase 0 ALWAYS TRY FIRST 段落与『CRITICAL: Never silently assume speaker identity.』原文均在。
- [ok] 文件名确认闸 — 『**Ask user to confirm** the suggested filename before writing.』原文存在。
- [ok] 引用格式纪律与决策要素识别规则 — blockquote 格式要求、『Decisions are identified by elements, not phrasing』、不确定→Open Questions 均有原文。
- [ok] 功能声明 vs 夸大检查 — description 四用途逐一对应工作流;『high-fidelity, evidence-based』由证据引语+自测+人审流程支撑;无越界承诺。
6Verdict & Scenarios
28192c17a4ef62ce…