meeting-minutes-taker
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMeeting Minutes Taker
会议纪要生成工具
Transform raw meeting transcripts into comprehensive, evidence-based meeting minutes through iterative review.
通过迭代审查,将原始会议转录文本转换为全面、有循证依据的会议纪要。
Quick Start
快速开始
Pre-processing (Optional but Recommended):
- Document conversion: Use skill to convert .docx/.pdf to Markdown first (preserves tables/images)
markdown-tools - Transcript cleanup: Use skill to fix ASR/STT errors if transcript quality is poor
transcript-fixer - Context file: Prepare with team directory for accurate speaker identification
context.md
Core Workflow:
- Read the transcript provided by user
- Load project-specific context file if provided by user (optional)
- Intelligent file naming: Auto-generate filename from content (see below)
- Speaker identification: If transcript has "Speaker 1/2/3", identify speakers before generation
- Multi-turn generation: Use multiple passes or subagents with isolated context, merge using UNION
- Self-review using references/completeness_review_checklist.md
- Present draft to user for human line-by-line review
- Cross-AI comparison (optional): Human may provide output from other AI tools (e.g., Gemini, ChatGPT) - merge to reduce bias
- Iterate on feedback until human approves final version
预处理(可选但推荐):
- 文档转换:先使用技能将.docx/.pdf文件转换为Markdown格式(保留表格/图片)
markdown-tools - 转录文本清理:如果转录文本质量不佳,使用技能修复ASR/STT错误
transcript-fixer - 上下文文件:准备文件,包含团队目录以实现准确的发言者识别
context.md
核心工作流:
- 读取用户提供的转录文本
- 若用户提供了项目特定的上下文文件,则加载该文件(可选)
- 智能文件名生成:根据内容自动生成文件名(详见下文)
- 发言者识别:如果转录文本中存在“Speaker 1/2/3”这类标识,在生成纪要前先识别发言者身份
- 多轮生成:使用多轮处理或子代理,结合独立上下文,通过UNION方式合并结果
- 使用references/completeness_review_checklist.md进行自我审查
- 将草稿提交给用户,供用户逐行人工审查
- 跨AI对比(可选):用户可能提供其他AI工具(如Gemini、ChatGPT)的输出,合并结果以减少偏差
- 根据反馈迭代优化,直到用户批准最终版本
Intelligent File Naming
智能文件名生成
Auto-generate output filename from transcript content:
Pattern:
YYYY-MM-DD-<topic>-<type>.md| Component | Source | Examples |
|---|---|---|
| Date | Transcript metadata or first date mention | |
| Topic | Main discussion subject (2-4 words, kebab-case) | |
| Type | Meeting category | |
Examples:
2026-01-25-order-api-design-review.md2026-01-20-q1-sprint-planning.md2026-01-18-onboarding-flow-sync.md
Ask user to confirm the suggested filename before writing.
根据转录文本内容自动生成输出文件名:
格式:
YYYY-MM-DD-<topic>-<type>.md| 组成部分 | 来源 | 示例 |
|---|---|---|
| 日期 | 转录文本元数据或首次提及的日期 | |
| 主题 | 主要讨论主题(2-4个单词,短横线分隔) | |
| 类型 | 会议类别 | |
示例:
2026-01-25-order-api-design-review.md2026-01-20-q1-sprint-planning.md2026-01-18-onboarding-flow-sync.md
在写入前请确认用户认可建议的文件名。
Core Workflow
核心工作流
Copy this checklist and track progress:
Meeting Minutes Progress:
- [ ] Step 0 (Optional): Pre-process transcript with transcript-fixer
- [ ] Step 1: Read and analyze transcript
- [ ] Step 1.5: Speaker identification (if transcript has "Speaker 1/2/3")
- [ ] Analyze speaker features (word count, style, topic focus)
- [ ] Match against context.md team directory (if provided)
- [ ] Present speaker mapping to user for confirmation
- [ ] Step 1.6: Generate intelligent filename, confirm with user
- [ ] Step 1.7: Quality assessment (optional, affects processing depth)
- [ ] Step 2: Multi-turn generation (PARALLEL subagents with Task tool)
- [ ] Create transcript-specific dir: <output_dir>/intermediate/<transcript-name>/
- [ ] Launch 3 Task subagents IN PARALLEL (single message, 3 Task tool calls)
- [ ] Subagent 1 → <output_dir>/intermediate/<transcript-name>/version1.md
- [ ] Subagent 2 → <output_dir>/intermediate/<transcript-name>/version2.md
- [ ] Subagent 3 → <output_dir>/intermediate/<transcript-name>/version3.md
- [ ] Merge: UNION all versions, AGGRESSIVELY include ALL diagrams → draft_minutes.md
- [ ] Final: Compare draft against transcript, add omissions
- [ ] Step 3: Self-review for completeness
- [ ] Step 4: Present draft to user for human review
- [ ] Step 5: Cross-AI comparison (if human provides external AI output)
- [ ] Step 6: Iterate on human feedback (expect multiple rounds)
- [ ] Step 7: Human approves final version
Note: <output_dir> = directory where final meeting minutes will be saved (e.g., project-docs/meeting-minutes/)
Note: <transcript-name> = name derived from transcript file (e.g., 2026-01-15-product-api-design)复制以下清单并跟踪进度:
会议纪要进度:
- [ ] 步骤0(可选):使用transcript-fixer预处理转录文本
- [ ] 步骤1:读取并分析转录文本
- [ ] 步骤1.5:发言者识别(若转录文本存在“Speaker 1/2/3”)
- [ ] 分析发言者特征(字数、风格、话题聚焦)
- [ ] 对照context.md团队目录进行匹配(若已提供)
- [ ] 将发言者映射结果提交给用户确认
- [ ] 步骤1.6:生成智能文件名,与用户确认
- [ ] 步骤1.7:质量评估(可选,影响处理深度)
- [ ] 步骤2:多轮生成(使用Task工具的并行子代理)
- [ ] 创建转录文本专属目录:<output_dir>/intermediate/<transcript-name>/
- [ ] 并行启动3个Task子代理(单条消息,3次Task工具调用)
- [ ] 子代理1 → <output_dir>/intermediate/<transcript-name>/version1.md
- [ ] 子代理2 → <output_dir>/intermediate/<transcript-name>/version2.md
- [ ] 子代理3 → <output_dir>/intermediate/<transcript-name>/version3.md
- [ ] 合并:合并所有版本,主动包含所有图表 → draft_minutes.md
- [ ] 最终:将草稿与转录文本对比,补充遗漏内容
- [ ] 步骤3:自我审查内容完整性
- [ ] 步骤4:将草稿提交给用户进行人工审查
- [ ] 步骤5:跨AI对比(若用户提供外部AI输出)
- [ ] 步骤6:根据人工反馈迭代优化(预计多轮)
- [ ] 步骤7:用户批准最终版本
注意:<output_dir> = 最终会议纪要的保存目录(例如:project-docs/meeting-minutes/)
注意:<transcript-name> = 从转录文本文件名衍生的名称(例如:2026-01-15-product-api-design)Step 1: Read and Analyze Transcript
步骤1:读取并分析转录文本
Analyze the transcript to identify:
- Meeting topic and attendees
- Key decisions with supporting quotes
- Action items with owners
- Deferred items / open questions
分析转录文本以识别:
- 会议主题与参会人员
- 附带支持引用的关键决策
- 明确负责人的行动项
- 延迟讨论事项/未解决问题
Step 1.5: Speaker Identification (When Needed)
步骤1.5:发言者识别(必要时)
Trigger: Transcript only has generic labels like "Speaker 1", "Speaker 2", "发言人1", etc.
Approach (inspired by Anker Skill):
触发条件:转录文本仅包含“Speaker 1”、“Speaker 2”、“发言人1”这类通用标识。
方法(灵感来自Anker Skill):
Phase A: Feature Analysis (Pattern Recognition)
阶段A:特征分析(模式识别)
For each speaker, analyze:
| Feature | What to Look For |
|---|---|
| Word count | Total words spoken (high = senior/lead, low = observer) |
| Segment count | Number of times they speak (frequent = active participant) |
| Avg segment length | Average words per turn (long = presenter, short = responder) |
| Filler ratio | % of filler words (对/嗯/啊/就是/然后) - low = prepared speaker |
| Speaking style | Formal/informal, technical depth, decision authority |
| Topic focus | Areas they discuss most (backend, frontend, product, etc.) |
| Interaction pattern | Do others ask them questions? Do they assign tasks? |
Example analysis output:
Speaker Analysis:
┌──────────┬────────┬──────────┬─────────────┬─────────────┬────────────────────────┐
│ Speaker │ Words │ Segments │ Avg Length │ Filler % │ Role Guess │
├──────────┼────────┼──────────┼─────────────┼─────────────┼────────────────────────┤
│ 发言人1 │ 41,736 │ 93 │ 449 chars │ 3.6% │ 主讲人 (99% of content)│
│ 发言人2 │ 101 │ 8 │ 13 chars │ 4.0% │ 对话者 (short responses)│
└──────────┴────────┴──────────┴─────────────┴─────────────┴────────────────────────┘
Inference rules:
- 占比 > 70% + 平均长度 > 100字 → 主讲人
- 平均长度 < 50字 → 对话者/响应者
- 语气词占比 < 5% → 正式/准备充分
- 语气词占比 > 10% → 非正式/即兴发言针对每位发言者,分析以下特征:
| 特征 | 分析要点 |
|---|---|
| 字数 | 总发言字数(字数多 = 资深/负责人,字数少 = 观察者) |
| 发言段数 | 发言次数(频繁发言 = 活跃参与者) |
| 平均段长 | 每次发言的平均字数(段长长 = 主讲人,段长短 = 回应者) |
| 语气词占比 | 语气词占比(对/嗯/啊/就是/然后) - 占比低 = 准备充分的发言者 |
| 发言风格 | 正式/非正式、技术深度、决策权限 |
| 话题聚焦 | 主要讨论领域(后端、前端、产品等) |
| 互动模式 | 其他人是否向其提问?是否分配任务? |
示例分析输出:
发言者分析:
┌──────────┬────────┬──────────┬─────────────┬─────────────┬────────────────────────┐
│ 发言者 │ 字数 │ 发言段数 │ 平均长度 │ 语气词占比 │ 角色推测 │
├──────────┼────────┼──────────┼─────────────┼─────────────┼────────────────────────┤
│ 发言人1 │ 41,736 │ 93 │ 449字符 │ 3.6% │ 主讲人 (99%的内容)│
│ 发言人2 │ 101 │ 8 │ 13字符 │ 4.0% │ 对话者 (简短回应)│
└──────────┴────────┴──────────┴─────────────┴─────────────┴────────────────────────┘
推理规则:
- 占比 > 70% + 平均长度 > 100字 → 主讲人
- 平均长度 < 50字 → 对话者/响应者
- 语气词占比 < 5% → 正式/准备充分
- 语气词占比 > 10% → 非正式/即兴发言Phase B: Context Mapping (If Context File Provided)
阶段B:上下文映射(若提供上下文文件)
When user provides a project context file (e.g., ):
context.md- Load team directory section
- Match feature patterns to known team members
- Cross-reference roles with speaking patterns
Context file should include:
markdown
undefined当用户提供项目上下文文件(如)时:
context.md- 加载团队目录部分
- 将特征模式与已知团队成员匹配
- 对照角色与发言模式进行交叉验证
上下文文件应包含:
markdown
undefinedTeam Directory
团队目录
| Name | Role | Communication Style |
|---|---|---|
| Alice | Backend Lead | Technical, decisive, assigns backend tasks |
| Bob | PM | Product-focused, asks requirements questions |
| Carol | TPM | Process-focused, tracks timeline/resources |
undefined| 姓名 | 角色 | 沟通风格 |
|---|---|---|
| Alice | 后端负责人 | 技术导向、决策果断、分配后端任务 |
| Bob | 产品经理 | 聚焦产品、询问需求问题 |
| Carol | 技术项目经理 | 聚焦流程、跟踪时间线/资源 |
undefinedPhase C: Confirmation Before Proceeding
阶段C:处理前确认
CRITICAL: Never silently assume speaker identity.
Present analysis summary to user:
Speaker Analysis:
- Speaker 1 → Alice (Backend Lead) - 80% confidence based on: technical focus, task assignment pattern
- Speaker 2 → Bob (PM) - 75% confidence based on: product questions, requirements discussion
- Speaker 3 → Carol (TPM) - 70% confidence based on: timeline concerns, resource tracking
Please confirm or correct these mappings before I proceed.After user confirmation, apply mappings consistently throughout the document.
关键注意事项:切勿擅自假设发言者身份。
向用户提交分析摘要:
发言者分析:
- Speaker 1 → Alice(后端负责人)- 80%置信度,依据:技术聚焦、任务分配模式
- Speaker 2 → Bob(产品经理)- 75%置信度,依据:产品问题讨论、需求相关提问
- Speaker 3 → Carol(技术项目经理)- 70%置信度,依据:时间线关注、资源跟踪
请在我继续处理前确认或修正这些映射关系。获得用户确认后,在整个文档中统一应用映射关系。
Step 1.7: Transcript Quality Assessment (Optional)
步骤1.7:转录文本质量评估(可选)
Evaluate transcript quality to determine processing depth:
Scoring Criteria (1-10 scale):
| Factor | Score Impact |
|---|---|
| Content volume | >10k chars: +2, 5-10k: +1, <2k: cap at 3 |
| Filler word ratio | <5%: +2, 5-10%: +1, >10%: -1 |
| Speaker clarity | Main speaker >80%: +1 (clear presenter) |
| Technical depth | High technical content: +1 |
Quality Tiers:
| Score | Tier | Processing Approach |
|---|---|---|
| ≥8 | High | Full structured minutes with all sections, diagrams, quotes |
| 5-7 | Medium | Standard minutes, focus on key decisions and action items |
| <5 | Low | Summary only - brief highlights, skip detailed transcription |
Example assessment:
📊 Transcript Quality Assessment:
- Content: 41,837 chars (+2)
- Filler ratio: 3.6% (+2)
- Main speaker: 99% (+1)
- Technical depth: High (+1)
→ Quality Score: 10/10 (High)
→ Recommended: Full structured minutes with diagramsUser decision point: If quality is Low (<5), ask user:
"Transcript quality is low (碎片对话/噪音较多). Generate full minutes or summary only?"
评估转录文本质量以确定处理深度:
评分标准(1-10分):
| 因素 | 对评分的影响 |
|---|---|
| 内容量 | >10000字符:+2,5000-10000字符:+1,<2000字符:最高3分 |
| 语气词占比 | <5%:+2,5-10%:+1,>10%:-1 |
| 发言者清晰度 | 主讲人占比>80%:+1(明确的主讲人) |
| 技术深度 | 高技术含量内容:+1 |
质量等级:
| 分数 | 等级 | 处理方式 |
|---|---|---|
| ≥8 | 高 | 生成包含所有章节、图表、引用的完整结构化纪要 |
| 5-7 | 中 | 标准纪要,聚焦关键决策与行动项 |
| <5 | 低 | 仅生成摘要 - 简要亮点,跳过详细转录 |
示例评估:
📊 转录文本质量评估:
- 内容:41,837字符 (+2)
- 语气词占比:3.6% (+2)
- 主讲人占比:99% (+1)
- 技术深度:高 (+1)
→ 质量评分:10/10(高)
→ 推荐方案:生成包含图表的完整结构化纪要用户决策点:若质量为低(<5分),询问用户:
"转录文本质量较低(碎片对话/噪音较多)。是生成完整纪要还是仅生成摘要?"
Step 2: Multi-Turn Initial Generation (Critical)
步骤2:多轮初始生成(关键)
A single pass will absolutely lose content. Use multi-turn generation with redundant complete passes:
单轮生成必然会丢失内容。采用多轮生成结合冗余完整处理:
Core Principle: Multiple Complete Passes + UNION Merge
核心原则:多轮完整处理 + 合并所有内容
Each pass generates COMPLETE minutes (all sections) from the full transcript. Multiple passes with isolated context catch different details. UNION merge consolidates all findings.
❌ WRONG: Narrow-focused passes (wastes tokens, causes bias)
Pass 1: Only extract decisions
Pass 2: Only extract action items
Pass 3: Only extract discussion✅ CORRECT: Complete passes with isolated context
Pass 1: Generate COMPLETE minutes (all sections) → version1.md
Pass 2: Generate COMPLETE minutes (all sections) with fresh context → version2.md
Pass 3: Generate COMPLETE minutes (all sections) with fresh context → version3.md
Merge: UNION all versions, consolidate duplicates → draft_minutes.md每一轮都基于完整转录文本生成完整的会议纪要(所有章节)。多轮独立上下文处理可捕捉不同细节,合并所有内容整合所有发现。
❌ 错误做法:聚焦特定部分的处理(浪费令牌,导致偏差)
第1轮:仅提取决策
第2轮:仅提取行动项
第3轮:仅提取讨论内容✅ 正确做法:独立上下文的完整处理
第1轮:生成完整会议纪要(所有章节)→ version1.md
第2轮:基于全新上下文生成完整会议纪要(所有章节)→ version2.md
第3轮:基于全新上下文生成完整会议纪要(所有章节)→ version3.md
合并:合并所有版本,去重 → draft_minutes.mdStrategy A: Sequential Multi-Pass (Complete Minutes Each Pass)
策略A:顺序多轮处理(每轮生成完整纪要)
Pass 1: Read transcript → Generate complete minutes → Write to: <output_dir>/intermediate/version1.md
Pass 2: Fresh context → Read transcript → Generate complete minutes → Write to: <output_dir>/intermediate/version2.md
Pass 3: Fresh context → Read transcript → Generate complete minutes → Write to: <output_dir>/intermediate/version3.md
Merge: Read all versions → UNION merge (consolidate duplicates) → Write to: draft_minutes.md
Final: Compare draft against transcript → Add any remaining omissions → final_minutes.md第1轮:读取转录文本 → 生成完整纪要 → 写入:<output_dir>/intermediate/version1.md
第2轮:全新上下文 → 读取转录文本 → 生成完整纪要 → 写入:<output_dir>/intermediate/version2.md
第3轮:全新上下文 → 读取转录文本 → 生成完整纪要 → 写入:<output_dir>/intermediate/version3.md
合并:读取所有版本 → 合并所有内容,去重 → 写入:draft_minutes.md
最终:将草稿与转录文本对比 → 补充遗漏内容 → final_minutes.mdStrategy B: Parallel Multi-Agent (Complete Minutes Each Agent) - PREFERRED
策略B:并行多代理处理(每个代理生成完整纪要)- 推荐
MUST use the Task tool to spawn multiple subagents with isolated context, each generating complete minutes:
Implementation using Task tool:
// Launch ALL 3 subagents in PARALLEL (single message, multiple Task tool calls)
Task(subagent_type="general-purpose", prompt="Generate complete meeting minutes from transcript...", run_in_background=false) → version1.md
Task(subagent_type="general-purpose", prompt="Generate complete meeting minutes from transcript...", run_in_background=false) → version2.md
Task(subagent_type="general-purpose", prompt="Generate complete meeting minutes from transcript...", run_in_background=false) → version3.md
// After all complete:
Main Agent: Read all versions → UNION merge, consolidate duplicates → draft_minutes.mdCRITICAL: Subagent Prompt Must Include:
- Full path to transcript file
- Full path to output file (version1.md, version2.md, version3.md in transcript-specific subdirectory)
- Context files to load (project-specific context if provided, meeting_minutes_template.md)
- Reference images/documents if provided by user
- Output language requirement (match user's language preference, preserve technical terms in English)
- Quote formatting requirement (see Quote Formatting Requirements section below)
Why multiple complete passes work:
- Each pass independently analyzes the SAME content
- Different context states catch different details (no single pass catches everything)
- Pass 1 might catch decision X but miss action item Y
- Pass 2 might catch action item Y but miss decision X
- UNION merge captures both X and Y
Why isolated context matters:
- Each pass/agent starts fresh without prior assumptions
- No cross-contamination between passes
- Different "perspectives" emerge naturally from context isolation
必须使用Task工具生成多个具有独立上下文的子代理,每个代理生成完整会议纪要:
使用Task工具的实现方式:
// 并行启动所有3个子代理(单条消息,多次Task工具调用)
Task(subagent_type="general-purpose", prompt="根据转录文本生成完整会议纪要...", run_in_background=false) → version1.md
Task(subagent_type="general-purpose", prompt="根据转录文本生成完整会议纪要...", run_in_background=false) → version2.md
Task(subagent_type="general-purpose", prompt="根据转录文本生成完整会议纪要...", run_in_background=false) → version3.md
// 所有代理完成后:
主代理:读取所有版本 → 合并所有内容,去重 → draft_minutes.md关键注意事项:子代理提示必须包含:
- 转录文本的完整路径
- 输出文件的完整路径(转录文本专属子目录下的version1.md、version2.md、version3.md)
- 需加载的上下文文件(如已提供项目特定上下文、meeting_minutes_template.md)
- 用户提供的参考图片/文档
- 输出语言要求(匹配用户语言偏好,保留英文技术术语)
- 引用格式要求(详见下文引用格式要求部分)
多轮完整处理有效的原因:
- 每一轮独立分析相同内容
- 不同上下文状态可捕捉不同细节(单轮无法覆盖所有内容)
- 第1轮可能捕捉到决策X但遗漏行动项Y
- 第2轮可能捕捉到行动项Y但遗漏决策X
- 合并可同时覆盖X和Y
独立上下文的重要性:
- 每一轮/代理都从零开始,无前置假设
- 轮次间无交叉干扰
- 独立上下文自然产生不同“视角”
Progressive Context Offloading (Use File System)
渐进式上下文卸载(使用文件系统)
Critical: Write each pass output to files, not conversation context.
Path Convention: All intermediate files should be created in a transcript-specific subdirectory under to avoid conflicts between different transcripts being processed.
<output_dir>/intermediate/CRITICAL: Use transcript-specific subdirectory structure:
<output_dir>/intermediate/<transcript-name>/version1.md
<output_dir>/intermediate/<transcript-name>/version2.md
<output_dir>/intermediate/<transcript-name>/version3.mdExample: If final minutes will be , then:
project-docs/meeting-minutes/2026-01-14-api-design.md- Intermediate files:
project-docs/meeting-minutes/intermediate/2026-01-14-api-design/version1.md - This prevents conflicts when multiple transcripts are processed in the same session
- The folder should be added to
intermediate/(temporary working files).gitignore
// Create transcript-specific subdirectory first
mkdir: <output_dir>/intermediate/<transcript-name>/
// Launch all 3 subagents IN PARALLEL (must be single message with 3 Task tool calls)
Task 1 → Write to: <output_dir>/intermediate/<transcript-name>/version1.md (complete minutes)
Task 2 → Write to: <output_dir>/intermediate/<transcript-name>/version2.md (complete minutes)
Task 3 → Write to: <output_dir>/intermediate/<transcript-name>/version3.md (complete minutes)
Merge Phase:
Read: <output_dir>/intermediate/<transcript-name>/version1.md
Read: <output_dir>/intermediate/<transcript-name>/version2.md
Read: <output_dir>/intermediate/<transcript-name>/version3.md
→ UNION merge, consolidate duplicates, INCLUDE ALL DIAGRAMS → Write to: draft_minutes.md
Final Review:
Read: draft_minutes.md
Read: original_transcript.md
→ Compare & add omissions → Write to: final_minutes.mdBenefits of file-based context offloading:
- Conversation context stays clean (avoids token overflow)
- Intermediate results persist (can be re-read if needed)
- Each pass starts with fresh context window
- Merge phase reads only what it needs
- Human can inspect intermediate files for review - Critical for understanding what each pass captured
- Supports very long transcripts that exceed context limits
- Enables post-hoc debugging - If final output is missing something, human can trace which pass missed it
IMPORTANT: Always preserve intermediate versions in transcript-specific subdirectory:
- ,
<output_dir>/intermediate/<transcript-name>/version1.md,version2.md- Each subagent outputversion3.md - These files help human reviewers understand the merge process
- Do NOT delete intermediate files after merge
- Human may want to compare intermediate versions to understand coverage gaps
- Add to
intermediate/- These are temporary working files, not final deliverables.gitignore - Transcript-specific subdirectory prevents conflicts when processing multiple transcripts
关键注意事项:将每轮输出写入文件,而非对话上下文。
路径约定: 所有中间文件应创建在下的转录文本专属子目录中,避免不同转录文本处理时产生冲突。
<output_dir>/intermediate/关键注意事项:使用转录文本专属子目录结构:
<output_dir>/intermediate/<transcript-name>/version1.md
<output_dir>/intermediate/<transcript-name>/version2.md
<output_dir>/intermediate/<transcript-name>/version3.md示例:若最终纪要路径为,则:
project-docs/meeting-minutes/2026-01-14-api-design.md- 中间文件路径:
project-docs/meeting-minutes/intermediate/2026-01-14-api-design/version1.md - 此结构可避免同一会话中处理多个转录文本时产生冲突
- 文件夹应添加到
intermediate/(临时工作文件).gitignore
// 先创建转录文本专属子目录
mkdir: <output_dir>/intermediate/<transcript-name>/
// 并行启动所有3个子代理(单条消息,3次Task工具调用)
任务1 → 写入:<output_dir>/intermediate/<transcript-name>/version1.md(完整纪要)
任务2 → 写入:<output_dir>/intermediate/<transcript-name>/version2.md(完整纪要)
任务3 → 写入:<output_dir>/intermediate/<transcript-name>/version3.md(完整纪要)
合并阶段:
读取:<output_dir>/intermediate/<transcript-name>/version1.md
读取:<output_dir>/intermediate/<transcript-name>/version2.md
读取:<output_dir>/intermediate/<transcript-name>/version3.md
→ 合并所有内容,去重,包含所有图表 → 写入:draft_minutes.md
最终审查:
读取:draft_minutes.md
读取:original_transcript.md
→ 对比并补充遗漏内容 → 写入:final_minutes.md基于文件的上下文卸载优势:
- 对话上下文保持简洁(避免令牌溢出)
- 中间结果可持久化(需用时可重新读取)
- 每一轮都从全新上下文窗口开始
- 合并阶段仅读取所需内容
- 人工可检查中间文件进行审查 - 了解每一轮捕捉的内容至关重要
- 支持超出上下文限制的超长转录文本
- 支持事后调试 - 若最终输出遗漏内容,人工可追踪哪一轮未捕捉到
重要注意事项:始终保留转录文本专属子目录中的中间版本:
- 、
<output_dir>/intermediate/<transcript-name>/version1.md、version2.md- 每个子代理的输出version3.md - 这些文件帮助人工审核者理解合并过程
- 合并后请勿删除中间文件
- 人工可能需要对比中间版本以了解覆盖缺口
- 将添加到
intermediate/- 这些是临时工作文件,不是最终交付物.gitignore - 转录文本专属子目录可避免处理多个转录文本时产生冲突
Output Requirements
输出要求
- Chinese output with English technical terms preserved
- Evidence-based decisions - Every significant decision needs a supporting quote
- Structured sections - Executive Summary, Key Decisions, Discussion, Action Items, Parking Lot
- Proper quote formatting - See Quote Formatting Requirements section below
- Mermaid diagrams (STRONGLY ENCOURAGED) - Visual diagrams elevate minutes beyond pure text:
- ER diagrams for database/schema discussions
- Sequence diagrams for data flow and API interactions
- Flowcharts for process/workflow decisions
- State diagrams for state machine discussions
- Diagrams make minutes significantly easier for humans to review and understand
- Context-first document structure - Place all reviewed artifacts (UI mockups, API docs, design images) at the TOP of the document (after metadata, before Executive Summary) to establish context before decisions; copy images to folder and embed inline using
assets/<meeting-name>/syntax; include brief descriptions with the visuals - this creates "next level" human-readable minutes where readers understand what was discussed before reading the discussion - Speaker attribution - Correctly attribute decisions to speakers
- 中文输出,保留英文技术术语
- 循证决策 - 每个重要决策需附带支持引用
- 结构化章节 - 执行摘要、关键决策、讨论内容、行动项、待办事项
- 正确引用格式 - 详见下文引用格式要求部分
- Mermaid图表(强烈推荐) - 可视化图表让纪要超越纯文本:
- ER图:用于数据库/架构讨论
- 时序图:用于数据流和API交互
- 流程图:用于流程/工作流决策
- 状态图:用于状态机讨论
- 图表让人工审核和理解纪要变得更轻松
- 上下文优先的文档结构 - 将所有审核过的工件(UI原型、API文档、设计图)放在文档顶部(元数据之后,执行摘要之前),让读者在了解决策前先建立上下文;将图片复制到文件夹,使用
assets/<meeting-name>/语法嵌入;为视觉内容添加简短描述 - 这种结构打造了“更易读”的纪要,读者在阅读讨论内容前就能理解讨论背景 - 发言者归属 - 正确将决策归属给对应发言者
Key Rules
核心规则
- Never assume - Ask user to confirm if unclear
- Quote controversial decisions verbatim
- Assign action items to specific people, not teams
- Preserve numerical values (ranges, counts, priorities)
- Always use multiple passes - Single turn is guaranteed to lose content
- Normalize equivalent terminology - Treat trivial variations (e.g., "backend architecture" vs "backend", "API endpoint" vs "endpoint") as equivalent; do NOT point out or highlight such differences between speakers
- Single source of truth - Place each piece of information in ONE location only; avoid duplicating tables, lists, or summaries across sections (e.g., API list belongs in Discussion OR Reference, not both)
- 切勿假设 - 若有疑问请询问用户确认
- 有争议的决策需逐字引用
- 行动项分配给具体个人,而非团队
- 保留数值(范围、数量、优先级)
- 始终使用多轮处理 - 单轮处理必然丢失内容
- 统一等效术语 - 忽略细微术语差异(如“backend architecture”与“backend”、“API endpoint”与“endpoint”);无需指出或强调发言者间的此类差异
- 单一事实来源 - 每个信息仅放置在一个位置;避免在多个章节重复表格、列表或摘要(如API列表应放在讨论或参考部分,而非同时放在两处)
Step 3: Self-Review for Completeness
步骤3:内容完整性自我审查
After initial generation, immediately review against transcript:
Completeness Checklist:
- [ ] All discussion topics covered?
- [ ] All decisions have supporting quotes?
- [ ] All speakers attributed correctly?
- [ ] All action items have specific owners?
- [ ] Numerical values preserved (ranges, counts)?
- [ ] Entity relationships captured?
- [ ] State machines complete (all states listed)?If gaps found, add missing content silently without mentioning what was missed.
初始生成后,立即对照转录文本进行审查:
完整性检查清单:
- [ ] 所有讨论主题是否已覆盖?
- [ ] 所有决策是否附带支持引用?
- [ ] 所有发言者归属是否正确?
- [ ] 所有行动项是否已分配具体负责人?
- [ ] 数值是否已保留(范围、数量)?
- [ ] 实体关系是否已捕捉?
- [ ] 状态机是否完整(列出所有状态)?若发现缺口,默默补充遗漏内容,无需提及遗漏的具体内容。
Step 4: Present to User for Human Review
步骤4:提交给用户进行人工审查
Present the complete minutes as a draft for human review. Emphasize:
- Minutes require careful line-by-line human review
- Domain experts catch terminology conflicts AI may miss
- Final version emerges through iterative refinement
User may:
- Accept as-is (rare for complex meetings)
- Request deeper review for missing content
- Identify terminology issues (e.g., naming conflicts with existing systems)
- Provide another AI's output for cross-comparison
将完整纪要作为草稿提交给用户进行人工审查。需强调:
- 纪要需要仔细的逐行人工审查
- 领域专家可发现AI可能遗漏的术语冲突
- 最终版本需通过迭代优化得出
用户可能:
- 直接接受(复杂会议中少见)
- 要求深入审查以查找遗漏内容
- 指出术语问题(如与现有系统的命名冲突)
- 提供其他AI的输出进行交叉对比
Step 5: Cross-AI Comparison (Reduces Bias)
步骤5:跨AI对比(减少偏差)
When human provides output from another AI tool (e.g., Gemini, ChatGPT, etc.):
This step is valuable because:
- Different AI models have different biases - Each AI catches different details
- Cross-validation - Content appearing in both outputs is likely accurate
- Gap detection - Content in one but not the other reveals potential omissions
- Error correction - One AI may catch factual errors the other missed (e.g., wrong date, wrong attendee name)
Comparison Process:
- Read the external AI output carefully
- Identify items present in external output but missing from our draft
- Verify each item against original transcript before adding (don't blindly copy)
- Identify items where external AI has errors (wrong facts) - note but don't copy errors
- UNION merge valid new content into our draft
- Document any corrections made based on cross-comparison
Example findings from cross-AI comparison:
- Missing decision about API authentication method ✓ (add to our draft)
- Missing naming convention specification ✓ (add to our draft)
- Wrong date (2026-01-13 vs actual 2026-01-14) ✗ (don't copy error)
- Wrong attendee name ✗ (don't copy error)
- Missing database performance concern ✓ (add to parking lot)
当用户提供其他AI工具的输出时(如Gemini、ChatGPT等):
此步骤非常有价值,因为:
- 不同AI模型有不同偏差 - 每个AI捕捉的细节不同
- 交叉验证 - 同时出现在两个输出中的内容更可能准确
- 缺口检测 - 仅出现在一个输出中的内容可能是遗漏项
- 错误修正 - 一个AI可能发现另一个AI的事实错误(如错误日期、错误参会者姓名)
对比流程:
- 仔细读取外部AI输出
- 识别外部AI输出中有但当前草稿中没有的内容
- 在添加前对照原始转录文本验证(请勿盲目复制)
- 识别外部AI的错误内容(如错误事实)- 记录但不复制错误
- 将有效的新内容合并到当前草稿中
- 记录基于跨对比所做的修正
跨AI对比示例发现:
- 遗漏关于API认证方式的决策 ✓(添加到草稿)
- 遗漏命名规范说明 ✓(添加到草稿)
- 错误日期(2026-01-13 vs 实际2026-01-14) ✗(不复制错误)
- 错误参会者姓名 ✗(不复制错误)
- 遗漏数据库性能相关问题 ✓(添加到待办事项)
Step 6: Iterate on Human Feedback (Critical)
步骤6:根据人工反馈迭代优化(关键)
When user requests deeper review ("deep review", "check again", "anything missing"):
- Re-read transcript section by section
- Compare each section against current minutes
- Look for: entities, field names, numerical ranges, state transitions, trade-offs, deferred items
- Add any omitted content
- Never claim "nothing missing" without thorough section-by-section review
When user provides another version to merge:
Merge Principle: UNION, never remove
- Keep ALL content from existing version
- Add ALL new content from incoming version
- Consolidate duplicates (don't repeat same info)
- Preserve more detailed version when depth differs
- Maintain logical section numbering
当用户要求深入审查时(如“深度审查”、“再检查一遍”、“是否有遗漏”):
- 逐节重新读取转录文本
- 将每一节与当前纪要对比
- 查找:实体、字段名、数值范围、状态转换、权衡方案、延迟讨论事项
- 添加任何遗漏内容
- 未经逐节深入审查,请勿声称“无遗漏”
当用户提供另一版本进行合并时:
合并原则:合并所有内容,切勿删除
- 保留现有版本的所有内容
- 添加传入版本的所有新内容
- 合并重复内容(请勿重复相同信息)
- 内容深度不同时,保留更详细的版本
- 保持逻辑章节编号
Aggressive Diagram Inclusion (CRITICAL)
主动包含所有图表(关键)
During merge phase, MUST aggressively include ALL diagrams from ALL versions.
Diagrams are high-value content that took effort to generate. Different subagents may produce different diagrams based on what they focused on. Missing a diagram during merge is a significant loss.
Merge diagram strategy:
- Inventory ALL diagrams from each version (v1, v2, v3)
- Include ALL unique diagrams - don't assume a diagram is redundant
- If similar diagrams exist, keep the more detailed/complete one
- Check every section that could contain diagrams: Executive Summary, Discussion, API design, State machines, Data flow, etc.
Common diagram types to look for:
- Sequence diagrams (data flow, API interactions)
- ER diagrams (database schema, table relationships)
- State diagrams (state machines, status transitions)
- Flowcharts (decision flows, process workflows)
- Component diagrams (system architecture)
Example: Missed diagram from v3
If v3 has a flowchart for "Status Query Mechanism" but v1/v2 don't have it, that flowchart MUST appear in the merged output. Don't assume it's covered by other diagrams.
在合并阶段,必须主动包含所有版本中的所有图表。
图表是高价值内容,生成需要投入精力。不同子代理可能根据其聚焦的内容生成不同图表。合并时遗漏图表是重大损失。
图表合并策略:
- 盘点所有版本(v1、v2、v3)中的所有图表
- 包含所有独特图表 - 请勿假设图表冗余
- 若存在相似图表,保留更详细/完整的版本
- 检查所有可能包含图表的章节:执行摘要、讨论内容、API设计、状态机、数据流等
常见需查找的图表类型:
- 时序图(数据流、API交互)
- ER图(数据库架构、表关系)
- 状态图(状态机、状态转换)
- 流程图(决策流、流程工作流)
- 组件图(系统架构)
示例:v3中的遗漏图表
若v3有“状态查询机制”的流程图,但v1/v2没有,则该流程图必须出现在合并后的输出中。请勿假设其他图表已覆盖此内容。
Output Language
输出语言
- Primary: Match the language of the transcript (or user's preference if specified)
- Preserve in English: Technical terms, entity names, abbreviations (standard practice)
- Quotes: Keep original language from transcript
- 主要语言:匹配转录文本的语言(或用户指定的偏好)
- 保留英文:技术术语、实体名称、缩写(标准惯例)
- 引用:保留转录文本中的原始语言
Reference Files
参考文件
| File | When to Load |
|---|---|
| meeting_minutes_template.md | First generation - Contains template structure |
| completeness_review_checklist.md | During review steps - Contains completeness checks |
| context_file_template.md | When helping user create context.md - Contains team directory template |
| Project context file (user-provided) | When user provides project-specific context (team directory, terminology, conventions) |
| 文件 | 加载时机 |
|---|---|
| meeting_minutes_template.md | 首次生成时 - 包含模板结构 |
| completeness_review_checklist.md | 审查步骤中 - 包含完整性检查项 |
| context_file_template.md | 帮助用户创建context.md时 - 包含团队目录模板 |
| 项目上下文文件(用户提供) | 用户提供项目特定上下文(团队目录、术语、惯例)时 |
Recommended Pre-processing Pipeline
推荐预处理流程
Full pipeline for .docx transcripts:
Step 0: markdown-tools # Convert .docx → Markdown (preserves tables/images)
↓
Step 0.5: transcript-fixer # Fix ASR errors (optional, if quality is poor)
↓
Step 1+: meeting-minutes-taker # Generate structured minutesCommands:
bash
undefined.docx转录文本的完整流程:
步骤0:markdown-tools # 将.docx转换为Markdown(保留表格/图片)
↓
步骤0.5:transcript-fixer # 修复ASR错误(可选,若质量不佳)
↓
步骤1+:meeting-minutes-taker # 生成结构化纪要命令:
bash
undefined1. Install markitdown (one-time)
1. 安装markitdown(一次性)
uv tool install "markitdown[pdf]"
uv tool install "markitdown[pdf]"
2. Convert .docx to markdown
2. 将.docx转换为markdown
markitdown "录音转写.docx" -o transcript.md
markitdown "录音转写.docx" -o transcript.md
3. Then use meeting-minutes-taker on transcript.md
3. 对transcript.md使用meeting-minutes-taker
**Benefits of combo workflow:**
- **Tables preserved**: markitdown converts Word tables to Markdown tables
- **Images extracted**: Can be embedded in final minutes
- **Cleaner quotes**: transcript-fixer removes ASR typos before quote extraction
- **Accurate speaker ID**: Style analysis works better on clean text
- **正交设计**: Each skill does one thing well, composable pipeline
**组合工作流的优势:**
- **保留表格**:markitdown将Word表格转换为Markdown表格
- **提取图片**:可嵌入最终纪要
- **更清晰的引用**:transcript-fixer在提取引用前修复ASR拼写错误
- **更准确的发言者识别**:风格分析在干净文本上效果更好
- **正交设计**:每个技能专注完成一件事,可组合成流程Common Patterns
常见模式
Architecture Discussions → Mermaid Diagrams (Next-Level Minutes)
架构讨论 → Mermaid图表(进阶纪要)
Diagrams elevate meeting minutes beyond pure text. They make complex discussions immediately understandable for human reviewers. Always look for opportunities to add visual diagrams.
图表让纪要超越纯文本。它们让复杂讨论对人工审核者来说一目了然。始终寻找添加可视化图表的机会。
When to Use Diagrams:
图表适用场景:
- Data flow discussions → Sequence diagram
- Database schema discussions → ER diagram
- Process/workflow decisions → Flowchart
- State machine discussions → State diagram
- System architecture → Component diagram
- 数据流讨论 → 时序图
- 数据库架构讨论 → ER图
- 流程/工作流决策 → 流程图
- 状态机讨论 → 状态图
- 系统架构 → 组件图
Example: Data Flow (Sequence Diagram)
示例:数据流(时序图)
mermaid
sequenceDiagram
participant FE as Frontend
participant BE as Backend
participant SVC as External Service
participant DB as Database
FE->>BE: Click "Submit Order"
BE->>SVC: POST /process (send data)
SVC-->>BE: Return {status}
BE->>DB: Save result
BE-->>FE: Return successmermaid
sequenceDiagram
participant FE as Frontend
participant BE as Backend
participant SVC as External Service
participant DB as Database
FE->>BE: Click "Submit Order"
BE->>SVC: POST /process (send data)
SVC-->>BE: Return {status}
BE->>DB: Save result
BE-->>FE: Return successExample: Database Schema (ER Diagram)
示例:数据库架构(ER图)
mermaid
erDiagram
ORDER ||--o{ ORDER_ITEM : "1:N"
ORDER {
uuid id PK
string customer_name
decimal total_amount
}
ORDER_ITEM {
uuid id PK
uuid order_id FK
int quantity
}mermaid
erDiagram
ORDER ||--o{ ORDER_ITEM : "1:N"
ORDER {
uuid id PK
string customer_name
decimal total_amount
}
ORDER_ITEM {
uuid id PK
uuid order_id FK
int quantity
}Example: Version Switching (Workflow Diagram)
示例:版本切换(工作流图)
mermaid
sequenceDiagram
participant User
participant System
Note over System: Current: V2 Active
User->>System: Create V3 (inactive)
User->>System: Set V2 inactive
User->>System: Set V3 active
Note over System: New: V3 Activemermaid
sequenceDiagram
participant User
participant System
Note over System: Current: V2 Active
User->>System: Create V3 (inactive)
User->>System: Set V2 inactive
User->>System: Set V3 active
Note over System: New: V3 ActiveQuote Formatting Requirements (CRITICAL)
引用格式要求(关键)
Quotes MUST use proper markdown blockquote format on separate lines:
❌ WRONG: Inline quote format
markdown
* **Quote:** > "This is wrong" - **Speaker**✅ CORRECT: Blockquote on separate lines
markdown
* **Quote:**
> "This is the correct format" - **Speaker**✅ CORRECT: Multiple quotes
markdown
* **Quote:**
> "First quote from the discussion" - **Speaker1**
> "Second quote supporting the same decision" - **Speaker2**Key formatting rules:
- on its own line (no quote content on this line)
* **Quote:** - Blank line NOT needed after
* **Quote:** - Quote content indented with 2 spaces, then prefix
> - Speaker attribution at end of quote line:
- **SpeakerName** - Multiple quotes use same indentation, each on its own line
引用必须使用正确的Markdown块引用格式,单独成行:
❌ 错误:内联引用格式
markdown
* **引用:** > "此格式错误" - **发言者**✅ 正确:单独成行的块引用
markdown
* **引用:**
> "此格式正确" - **发言者**✅ 正确:多个引用
markdown
* **引用:**
> "讨论中的第一个引用" - **Speaker1**
> "支持同一决策的第二个引用" - **Speaker2**核心格式规则:
- 单独成行(此行不包含引用内容)
* **引用:** - 后无需空行
* **引用:** - 引用内容缩进2个空格,然后加前缀
> - 发言者归属在引用行末尾:
- **SpeakerName** - 多个引用使用相同缩进,每个引用单独成行
Technical Decisions → Decision Block
技术决策 → 决策块
markdown
undefinedmarkdown
undefined2.X [Category] Decision Title
2.X [类别] 决策标题
- Decision: Specific decision made
- Logic:
- Reasoning point 1
- Reasoning point 2
- Quote:
"Exact quote from transcript" - Speaker Name
undefined- 决策: 做出的具体决策
- 逻辑:
- 推理要点1
- 推理要点2
- 引用:
"转录文本中的准确引用" - 发言者姓名
undefinedDeferred Items → Parking Lot
延迟讨论事项 → 待办事项
Items with keywords like "defer to later", "Phase 2", "not in MVP" go to Parking Lot with context.
包含“推迟到以后讨论”、“Phase 2”、“不在MVP范围内”等关键词的事项需添加到待办事项并附带上下文。
Human-in-the-Loop Iteration (Essential)
人机协作迭代(必要)
Meeting minutes are not one-shot outputs. High-quality minutes emerge through multiple review cycles:
会议纪要不是一次性输出。高质量纪要需通过多轮审查周期得出:
Why Human Review is Critical
人工审查至关重要的原因
- Terminology conflicts: Humans know existing system naming (e.g., "Note" already means comments in the existing system)
- Domain context: Humans catch when a term could be confused with another (e.g., "UserProfile" vs "Account")
- Organizational knowledge: Humans know team conventions and prior decisions
- Completeness gaps: Humans can request "deep review" review when something feels missing
- 术语冲突:人工了解现有系统命名(如“Note”在现有系统中已表示评论)
- 领域上下文:人工可发现术语可能与其他概念混淆(如“UserProfile”与“Account”)
- 组织知识:人工了解团队惯例和先前决策
- 完整性缺口:人工可在感觉内容遗漏时要求“深度审查”
Example Iteration Pattern
示例迭代模式
Round 1: Initial generation
└─ Human review: "Check original transcript for missing items"
Round 2: Deep transcript review, add omitted content
└─ Human review: "UserProfile conflicts with existing Account entity naming"
Round 3: Update terminology to use "CustomerProfile" instead
└─ Human review: "Note field conflicts with existing Comment system"
Round 4: Update to use "Annotation" instead of "Note"
└─ Human approval: Final version ready第1轮:初始生成
└─ 人工审查:"对照原始转录文本检查是否有遗漏"
第2轮:深度审查转录文本,补充遗漏内容
└─ 人工审查:"UserProfile与现有Account实体命名冲突"
第3轮:将术语更新为“CustomerProfile”
└─ 人工审查:"Note字段与现有Comment系统冲突"
第4轮:将其更新为“Annotation”而非“Note”
└─ 人工批准:最终版本就绪Key Principle
核心原则
The AI generates the first draft; humans refine to the final version. Never assume the first output is complete or uses correct terminology. Always encourage human review and be ready for multiple iteration cycles.
AI生成初稿;人工优化为最终版本。切勿假设首次输出完整或使用正确术语。始终鼓励人工审查,并准备好进行多轮迭代。
Anti-Patterns
反模式
- ❌ Single-pass generation - One turn through transcript will absolutely lose content
- ❌ Divided sections without overlap - Each pass must cover FULL transcript, not split by sections
- ❌ Narrow-focused passes - Each pass must generate COMPLETE minutes (all sections), not just one section type (wastes tokens, causes bias)
- ❌ Generic summaries without supporting quotes
- ❌ Action items assigned to "team" instead of specific person
- ❌ Missing numerical values (priorities, ranges, state counts)
- ❌ State machines with incomplete states
- ❌ Circular debate transcribed verbatim instead of summarized
- ❌ Removing content during multi-version merge
- ❌ Claiming "nothing missing" without section-by-section review
- ❌ Treating first draft as final without human review
- ❌ Using terminology without checking for conflicts with existing systems
- ❌ Shared context between subagents (causes cross-contamination and missed content)
- ❌ Keeping all intermediate outputs in conversation context (causes token overflow, use file system)
- ❌ Pure text minutes without diagrams - Architecture/schema discussions deserve visual representation
- ❌ Deleting intermediate files after merge - Preserve for human review and debugging
- ❌ Blindly copying external AI output - Always verify against transcript before merging
- ❌ Ignoring cross-AI comparison opportunity - Different AI models catch different details
- ❌ Sequential subagent execution - MUST launch v1, v2, v3 subagents in PARALLEL using multiple Task tool calls in a single message
- ❌ Flat intermediate directory - MUST use transcript-specific subdirectory to avoid conflicts
intermediate/<transcript-name>/ - ❌ Inline quote formatting - Quotes MUST use blockquote format on separate lines, not inline
> "quote" - ❌ Omitting diagrams during merge - MUST aggressively include ALL diagrams from ALL versions, even if they seem similar
- ❌ Highlighting trivial terminology variations - Do NOT point out differences like "backend architecture" vs "backend" or "API" vs "endpoint" between speakers; these are equivalent terms and highlighting such differences is disrespectful
- ❌ Duplicate content across sections - Do NOT repeat the same information in multiple sections (e.g., API endpoint table in both "Discussion" and "Reference"); place content in ONE authoritative location and reference it if needed
- ❌ Creating non-existent links - Do NOT create markdown links to files that don't exist in the repo (e.g., ); use plain text for external/local documents not in the repository
[doc.md](reviewed-document) - ❌ Losing content during consolidation - When moving or consolidating sections, verify ALL bullet points and details are preserved; never summarize away specific details like "supports batch operations" or "button triggers auto-save"
- ❌ Appending domain details to role titles - Use ONLY the Role column from Team Directory for speaker attribution (e.g., "Backend", "Frontend", "TPM"); do NOT append specializations like "Backend, Infrastructure" or "Backend, Business Logic" - all team members with the same role should have identical attribution
- ❌ 单轮生成 - 仅处理转录文本一次必然丢失内容
- ❌ 无重叠的拆分章节处理 - 每一轮必须覆盖完整转录文本,而非按章节拆分
- ❌ 聚焦特定部分的处理 - 每一轮必须生成完整纪要(所有章节),而非仅某一类章节(浪费令牌,导致偏差)
- ❌ 无支持引用的通用摘要
- ❌ 行动项分配给“团队”而非具体个人
- ❌ 遗漏数值(优先级、范围、状态数量)
- ❌ 状态机状态不完整
- ❌ 逐字记录循环辩论而非总结
- ❌ 多版本合并时删除内容
- ❌ 未经逐节审查声称“无遗漏”
- ❌ 未经人工审查将初稿视为最终版本
- ❌ 使用术语前未检查与现有系统的冲突
- ❌ 子代理间共享上下文(导致交叉干扰和内容遗漏)
- ❌ 将所有中间输出保存在对话上下文(导致令牌溢出,应使用文件系统)
- ❌ 无图表的纯文本纪要 - 架构/架构讨论需要可视化呈现
- ❌ 合并后删除中间文件 - 保留供人工审查和调试
- ❌ 盲目复制外部AI输出 - 合并前始终对照转录文本验证
- ❌ 忽略跨AI对比机会 - 不同AI模型捕捉的细节不同
- ❌ 顺序执行子代理 - 必须在单条消息中通过多次Task工具调用并行启动v1、v2、v3子代理
- ❌ 扁平化中间目录 - 必须使用转录文本专属子目录避免冲突
intermediate/<transcript-name>/ - ❌ 内联引用格式 - 引用必须使用单独成行的块引用格式,而非内联
> "引用" - ❌ 合并时遗漏图表 - 必须主动包含所有版本中的所有图表,即使看起来相似
- ❌ 强调细微术语差异 - 请勿指出发言者间的“backend architecture”与“backend”或“API”与“endpoint”这类差异;这些是等效术语,强调此类差异不恰当
- ❌ 跨章节重复内容 - 请勿在多个章节重复相同信息(如API端点表同时出现在“讨论”和“参考”部分);将内容放在一个权威位置,必要时进行引用
- ❌ 创建不存在的链接 - 请勿创建指向仓库中不存在的文件的Markdown链接(如);对仓库外的本地/外部文档使用纯文本
[doc.md](reviewed-document) - ❌ 整合时丢失内容 - 移动或整合章节时,验证所有项目符号和细节是否保留;切勿概括掉“支持批量操作”或“按钮触发自动保存”这类具体细节
- ❌ 在角色头衔后添加领域细节 - 仅使用团队目录中的角色列进行发言者归属(如“Backend”、“Frontend”、“TPM”);请勿添加“Backend, Infrastructure”或“Backend, Business Logic”这类细分;同一角色的所有团队成员归属应一致 ",