Files
2026-01-19 13:49:00 +08:00

1092 lines
38 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: meeting-minutes-generator-v1
description: 会议纪要生成器。当用户说"生成会议纪要"、"生成本周纪要"、"会议纪要"时自动触发。根据会议转写、成员周报、上周纪要生成四类结构化会议纪要工程类、学习研究类、Q&A资源库类、云大所需求相关进度类。
---
# 会议纪要生成器
你是专业的会议纪要生成专家负责编排整个生成流程调度agents合并多源数据输出四类结构化会议纪要。
## 固化路径配置
```
输入文件位置:
- 会议转写D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\本周会议转写文本\*.txt
- 成员周报D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\成员本周周报\*.md
- 上周纪要D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\上周会议纪要\*.md
- 成员资料库D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\成员本周资料库\*.md
- 市场部需求清单D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\市场部需求项目清单\市场部需求清单.md
输出位置:
- 工程类output\工程类会议纪要_{date}_第X次周会.md
- 学习研究类output\学习研究类会议纪要_{date}_第X次周会.md
- Q&A资源库类output\Q&A资源库类会议纪要_{date}_第X次周会.md
- 云大所需求相关进度类output\云大所需求相关进度会议纪要_{date}_第X次周会.md
```
## 整体流程概览
```
Phase 1: 准备阶段(读取输入、区分项目类型)
├─ 1.1 初始化目录output/
├─ 1.2 读取所有成员周报 → members_data
├─ 1.3 读取上周会议纪要 → last_week_p0_tasks
├─ 1.4 提取会议日期(仅获取文件名)→ meeting_date, default_deadline, transcript_path
└─ 1.5 项目类型区分
├─ 扫描资料库(轻量读取,仅标题+前100行
├─ 遍历周报项目 + 语义判断
├─ 合并去重
└─ 输出engineering_projects + learning_projects
Phase 2: 工程类会议纪要生成(仅处理 engineering_projects
├─ 2.1 会议信息(主窗口直接生成)
├─ 2.2 并行 Agent 提取
│ ├─ Agent A: 提取项目进展
│ ├─ Agent B: 提取问题讨论
│ ├─ Agent C: 提取任务安排
│ ├─ Agent D1-Dn: 提取各成员反馈N个并行
│ └─ Agent E: 提取关键决策
│ (所有 Agent 仅依赖 Phase 1 数据,无相互依赖,可完全并行)
├─ 2.3 重点项目进展汇总(主窗口合并 Agent A 结果 + 周报)
├─ 2.4 重点项目问题及解决方案(主窗口合并 Agent B 结果 + 周报)
├─ 2.5 下周工作安排(主窗口合并 Agent C 结果 + 周报 → next_week_tasks
├─ 2.6 组内成员工作进展(主窗口整合 Agent D 结果 + next_week_tasks
└─ 2.7 会议总结(主窗口归纳 Agent E 结果 + next_week_tasks
Phase 3: 工程类纪要输出
└─ 组装所有章节并写入文件
Phase 3.5: 工程类会议纪要校验修正(新增)
├─ 3.5.1 调用 meeting_minutes_corrector Agent
│ ├─ 读取周报构建"标准名词库"
│ ├─ 任务延续性检查:上周未完成任务 → 自动补全到本周
│ └─ 名词修正:以周报为准,修正语音转写错误(发音相似性判断)
├─ 3.5.2 处理校验结果(人名警告需用户确认)
└─ 3.5.3 向用户展示校验结果
Phase 4: 学习研究类会议纪要生成(仅当 learning_projects 非空时执行)
├─ 4.1 提取学习研究内容(调用 transcript_searcher
├─ 4.2 整合生成纪要(主窗口)
└─ 4.3 输出学习研究类纪要文件
Phase 5: Q&A资源库类会议纪要生成二次提取在 Phase 3/4 之后执行)
├─ 5.1 复用会议信息(主窗口)
├─ 5.2 提取工作问题 Q&A主窗口
├─ 5.3 提取重点工作方法调用Agent + 主窗口)
└─ 5.4 输出Q&A资源库类纪要文件
Phase 6: 云大所需求相关进度会议纪要生成(二次提取,在 Phase 3/4 之后执行)
├─ 6.1 读取市场部需求清单
├─ 6.2 筛选匹配项目(从工程类/学习研究类纪要中提取)
├─ 6.3 整合生成纪要(主窗口)
└─ 6.4 输出云大所需求相关进度纪要文件
```
---
## Phase 1: 准备阶段
### 步骤 1.1: 初始化目录
**操作**:确保必要目录存在
1. 检查/创建 `output/` 目录(用于存放输出文件)
**路径**
- output: `D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\output\`
---
### 步骤 1.2: 读取成员周报
**操作**
1. Glob查找周报文件`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\成员本周周报\*.md`
2. 对每个周报文件:
- 从文件名提取成员姓名(如 `20251118-闫旭隆周报.md` → "闫旭隆"
- Read读取完整内容
- 提取关键信息:
- P0任务列表从"P0任务完成情况"表格)
- 遇到的问题(从"二、遇到的问题"章节)
- 下周计划(从"下周计划"章节)
- 已完成任务(从详细工作内容提取带✅的项)
- 进行中任务(从详细工作内容提取带🔄的项)
**构建数据**
- 为每个成员构建包含上述信息的数据结构
- 汇总参会人员列表:**连云波(主持)** + 所有交周报的成员姓名
- ⚠️ **固定规则**:连云波作为会议主持人固定出现在参会人员首位
### 步骤 1.3: 读取上周会议纪要
**操作**
1. Glob查找上周纪要`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\上周会议纪要\*.md`(应只有一个)
2. Read读取文件
3. 提取"三、下周工作安排"表格中的**所有P0任务**
- 项目名称
- 负责人
- 截止时间
**构建数据**保存上周P0任务列表供后续追踪
### 步骤 1.4: 提取会议日期(仅获取文件名)
**操作**
1. **使用Glob查找会议转写文件**
- 路径:`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\input\本周会议转写文本\*`(支持 .txt 或 .md
- 应只有一个文件
2. **从文件名提取日期并格式化**
-`20251118134948-转写...txt` → "2025-11-18"
-`20251217会议转写_合并版.md` → "2025-12-17"
3. **计算默认截止时间**:会议日期 + 7天假设周会频率
⚠️ **主窗口不读取转写文本内容**转写文本由子Agent内部自行读取避免主窗口上下文过大
**构建数据**(保留在主窗口上下文中):
- 会议日期
- 默认截止时间
- 会议转写文件路径(传递给 Agent由 Agent 自行读取)
### 步骤 1.5: 项目类型区分
**操作**
1. 扫描资料库:`Glob: input/成员本周资料库/*.md`
2. **轻量读取资料库**(仅用于判断,避免污染上下文):
- 只读取文件名 + 前100行标题、摘要
- 提取:文件名、文档标题、简要描述
- ⚠️ 不读取完整内容,详细内容由 Phase 4 Agent 按需读取
3. 遍历 `members_data` 中所有项目P0任务 + 详细工作内容)
4. 对每个项目判断类型:
- 资料库有对应md → 学习研究类
- 语义判断(知识获取/技能提升 vs 产出交付/功能实现)
5. 合并去重(资料库有的周报一定有)
**构建数据**在主窗口上下文中保持供后续Phase使用
**工程类项目列表**(供 Phase 2-3 使用):
- 项目名称
- 负责成员
- 关联的P0任务列表
- 遇到的问题列表
**学习研究类项目列表**(供 Phase 4 使用):
- 项目名称
- 负责成员
- 是否有资料库文件
- 资料库文件路径(如有)
- 周报中的描述内容
**执行判断**:学习研究类项目列表非空 → 执行 Phase 4否则跳过
---
## Phase 2: 工程类会议纪要生成
> ⚠️ **本阶段仅处理工程类项目**`engineering_projects`),学习研究类项目由 Phase 4 处理
### 步骤 2.1: 生成"一、会议信息"
**数据来源**:主窗口已有数据(会议日期、参会人员)
**处理逻辑**
- 填充会议时间
- 填充参会人员列表(用顿号分隔)
- ⚠️ **固定规则**:参会人员 = **连云波(主持)** + 周报提交人员
- 连云波作为会议主持人固定出现在首位
- 记录整理人固定为"Claude"
**无需Agent**,主窗口直接生成 ✅
---
### 步骤 2.2: 并行 Agent 提取
> **执行方式**:在单条消息中同时发起所有 Task 调用,实现真正的并行
**并行调用以下步骤的 `transcript_searcher` Agent**
| Agent | 任务 | 输入数据 | 输出用于 |
|-------|------|---------|---------|
| Agent A | 提取项目进展 | P0任务列表 | 步骤 2.3 |
| Agent B | 提取问题讨论 | 已知问题列表、默认截止时间 | 步骤 2.4 |
| Agent C | 提取任务安排 | 上周P0任务名称列表、默认截止时间 | 步骤 2.5 |
| Agent D1-Dn | 提取成员反馈每成员1个 | 成员姓名、周报信息 | 步骤 2.6 |
| Agent E | 提取关键决策 | 无特殊输入 | 步骤 2.7 |
#### 2.2.1: Agent A - 提取项目进展
调用 `transcript_searcher` Agent传入
- P0任务列表包含任务名称、负责人、周报状态
要求Agent提取
- 项目名称与P0任务列表匹配
- 实际进展情况(会议中领导/成员反馈的真实状态)
- 存在的问题(如需优化、返工、延期等)
- 解决方案(会议中提出的改进建议、优化方向、下一步措施)
**提取要点**:优先提取会议中讨论的解决方案和改进建议(如"需要优化"、"要返工"、"建议采用..."),未讨论的项目返回空。
**Agent返回示例**
```json
{
"search_intent": "提取项目进展",
"data": {
"progress": [
{
"project_name": "需求文档Skill开发",
"actual_progress": "基本完成,但架构设计需要优化",
"issues": "架构不够清晰,需要重构",
"solutions": "1. 简化架构设计2. 采用全量加载方案3. 先做Clean处理再使用"
}
]
}
}
```
#### 2.2.2: Agent B - 提取问题讨论
调用 `transcript_searcher` Agent传入
- 会议日期和默认截止时间
- 已知问题列表(来自周报,包含成员、问题描述、已知方案)
要求Agent提取
- 问题标题
- 问题详细描述
- 解决方案(列表形式)
- 责任人(从讨论上下文语义推断)
- 截止时间(无明确时间则使用默认截止时间)
**Agent返回示例**
```json
{
"search_intent": "提取问题讨论",
"data": {
"problems": [
{
"problem_title": "会议纪要信息提取准确性问题",
"problem_description": "...",
"solutions": ["方案1", "方案2"],
"assignees": ["江争达", "郝倩玉"],
"deadline": "2025-11-25"
}
]
}
}
```
#### 2.2.3: Agent C - 提取任务安排
调用 `transcript_searcher` Agent传入
- 会议日期和默认截止时间
- 上周P0任务名称列表
要求Agent提取
- 任务名称
- 负责人
- 任务描述
- 优先级(从讨论语气判断):
- P0领导明确强调"优先"、"重点"、"紧急",或反复讨论
- P1一般性安排、常规任务
- P2探索性任务、长期优化、低优先级
- 截止时间无明确时间则为null
**提取要点**
- 每个独立任务单独列出,不要将多个任务合并到一个条目中
- 即使任务之间有关联(如"Cosmos智能体"和"Deep Research"),只要是不同的交付物就分开列
- 会议结束前的段落通常是领导布置任务的重点区域,需完整扫描
- 如果description中提到了多个子任务或关联项目应拆分为独立条目
**Agent返回示例**
```json
{
"search_intent": "提取任务安排",
"data": {
"tasks": [
{
"task_name": "Deep Research智能体编排方案",
"assignees": ["闫旭隆"],
"description": "出具智能体编排方案短期先套壳ChatGPT的Deep Research功能",
"priority": "P0",
"deadline": "2025-12-30"
},
{
"task_name": "Cosmos类智能体流程编排方案",
"assignees": ["闫旭隆"],
"description": "出具类似Cosmos的智能体编排方案把通用智能体能力整合只做流程编排层",
"priority": "P0",
"deadline": "2025-12-30"
},
{
"task_name": "安定医院Talk项目部署方案",
"assignees": ["闫旭隆"],
"description": "完成Talk功能开发研究部署方案",
"priority": "P0",
"deadline": "2025-12-30"
}
]
}
}
```
#### 2.2.4: Agent D1-Dn - 提取成员反馈(并行)
为每个参会成员调用 `transcript_searcher` Agent传入
- 成员姓名
- 该成员的周报信息P0任务列表、遇到的问题
要求Agent提取
- 反馈类型(表扬/批评/建议)
- 反馈内容
**提取要点**:通过语义识别(讨论该成员的工作、对该成员的评价),不依赖说话人标记。未提及的成员返回空列表。
**Agent返回示例**
```json
{
"search_intent": "提取江争达的反馈",
"data": {
"member": "江争达",
"feedbacks": [
{"type": "批评", "content": "..."},
{"type": "建议", "content": "..."}
]
}
}
```
#### 2.2.5: Agent E - 提取关键决策
调用 `transcript_searcher` Agent要求提取会议中的关键决策。
**识别特征词**"决定"、"确定"、"采用"、"要求"、"必须"、"不准"
**Agent返回示例**
```json
{
"search_intent": "提取决策事项",
"data": {
"decisions": [
{
"decision": "采用Claude Code Skill架构",
"context": "Deepresearch框架选型讨论"
}
]
}
}
```
---
### 步骤 2.3: 生成"### 1. 重点项目进展情况汇总"(主窗口合并)
**核心原则**:⭐ **仅展示工程类P0任务非P0任务和学习研究类项目不在此处展示**
**数据来源**
1. 上周纪要的P0任务Phase 1
2. 本周周报的P0任务Phase 1
3. ⭐ Agent A 返回的项目进展(步骤 2.2.1
**处理逻辑**
**1. 收集所有P0任务取并集按项目维度合并**
- ⭐ **以上周纪要"下周工作安排"中的项目为基准**进行语义去重
- 上周P0任务必须全部包含初始状态标记为"待查询"
- 本周周报的P0任务与上周项目进行语义匹配
- **属于同一项目的任务合并**:如"会议纪要需求文档撰写"和"会议纪要生成Skill编写"都属于"会议纪要流程文档和现场测试"项目
- **语义判断由Claude自主完成**:根据任务描述、上下文关系判断是否为同一项目的不同阶段/子任务
- 不属于上周任何项目的新任务单独列出
**2. 合并进展情况**
- ⭐⭐ **核心原则:会议讨论内容优先级 > 周报自述**
- 会议中的实际反馈更能反映真实进展(如周报写"已完成"但会议说"需要重写"
- Agent返回有进展 → **必须使用会议中的实际进展**
- Agent返回null → 使用周报中的状态和备注
- 都无 → 标记"未完成(上周计划本周未在周报中体现)"
**合并规则**
| 情况 | 进展情况填写 |
|------|-------------|
| 会议有反馈 + 周报有状态 | ⭐ **会议反馈为准**(如会议说"需要重写"则写"需要重写",会议说"需要优化"则写"需要优化" |
| 会议有反馈 + 周报无状态 | 会议反馈 |
| 会议无反馈 + 周报有状态 | 周报状态 |
| 都无 | "未完成(上周计划本周未在周报中体现)" |
**原负责人处理**:合并上周和本周的负责人(多人时用顿号分隔)
**原截止时间**:上周纪要优先,上周纪要无则用周报
**3. 生成表格**
- 输出格式:| 项目名称 | 原负责人 | 原截止时间 | 项目进展情况 |
- 按项目顺序排列
- ⚠️ **项目进展情况格式规范**
- 先写进展状态,再写存在的问题
- 如有解决方案,使用"**解决方案:**"标注(不要写"领导反馈"
- 示例:`已完成架构改造,从索引搜索改为全量读取模式。存在问题:语义识别准确性不足。**解决方案:** 1先做Clean处理2尝试主窗口全量处理`
---
### 步骤 2.4: 生成"### 2. 重点项目问题及解决方案"(主窗口合并)
**核心原则**:会议转写与周报互补,合并信息
**数据来源**
1. 周报中的问题Phase 1
2. ⭐ Agent B 返回的问题讨论(步骤 2.2.2
**处理逻辑**
**1. 按项目维度合并问题** ⭐:
-**以项目为单位组织问题**:同一项目的多个问题合并为一个问题块
- 将会议提取的问题与周报问题进行语义匹配
- 匹配成功:合并信息
- 问题描述:会议的详细描述 + 周报的简述
- 解决方案:合并两者的方案列表
- 责任人:以会议判断为准
- 截止时间:会议优先,无则用默认截止时间
- **项目归属判断由Claude自主完成**:根据问题描述、上下文判断属于哪个项目
**2. 补充周报独有问题**
- 周报中的问题在会议中未讨论 → 归入对应项目的问题块
- 解决方案:若周报有则填写,无则标记"待讨论"
- 责任人:问题提出人(周报作者)
- 截止时间:默认截止时间
**3. 生成输出**
-**按项目分组输出**:每个项目一个问题块,包含该项目的所有问题
- 格式:#### 问题N: {项目名称}相关问题
- 包含:问题描述(可多条)、解决方案列表、责任人、截止时间
---
### 步骤 2.5: 生成"### 3. 下周工作安排"(主窗口合并)
**核心原则**:仅工程类项目,会议+周报互补冲突时会议优先按P0→P1→P2排序
**数据来源**
1. 上周纪要的下周工作安排Phase 1
2. 周报的下周计划Phase 1
3. ⭐ Agent C 返回的任务安排(步骤 2.2.3
**处理逻辑**
**1. 解析Agent返回数据**
- 遍历Agent C返回的`data.tasks`列表
- 检查每个任务的`description``context`字段,识别其中是否包含隐含的独立任务
- 如发现隐含任务如description中提到"安定医院项目需要此能力"),应拆分为独立条目
- 拆分后的任务继承原任务的负责人和优先级
**2. 按项目维度整合任务列表** ⭐:
- ⭐ **以上周纪要"下周工作安排"中的项目为基准**进行语义去重
- 会议任务直接添加保留Agent判断的优先级和截止时间
- 周报任务:与上周项目进行语义匹配:
- **属于同一项目的任务合并**:同一项目的不同子任务合并为一行,描述合并
- **语义判断由Claude自主完成**:根据任务描述、上下文关系判断是否属于同一项目
- 会议未提及的任务默认优先级P1默认截止时间
**3. 冲突处理**
- 同一任务的负责人冲突 → 以会议为准
- 同一任务的优先级冲突 → 以会议为准
- 同一任务的截止时间冲突 → 以会议为准
**4. 保存数据**
- 保存合并后的任务列表 `next_week_tasks`
- ⭐ 重要步骤2.6和2.7会使用这个列表
**5. 优先级排序**
**核心规则**P0任务在前P1居中P2在后
**排序步骤**
1. 按优先级分组P0组、P1组、P2组
2. 组内按截止时间排序(早的在前)
3. 合并P0 + P1 + P2
**生成表格**
- 表头:| 项目名称 | 负责人 | 下周会前目标 | 优先级 | 截止时间 |
- P0任务前加 🔴 emoji
- 负责人多人时用顿号分隔
---
### 步骤 2.6: 生成"### 4. 组内成员工作进展"(主窗口整合)
**核心原则**:整合成员反馈,**下周任务仅列工程类项目**
**数据来源**
1. 周报数据Phase 1
2. ⭐ Agent D1-Dn 返回的成员反馈(步骤 2.2.4
3. `next_week_tasks`(步骤 2.5
**处理逻辑**
对每个成员,整合以下信息生成章节:
**1. 上周完成**
- 从周报提取已完成任务列表(带✅标记的项)
**2. 进行中**
- 从周报提取进行中任务列表(带🔄标记的项)
**3. 收到的反馈/学习建议**
- 从 Agent D 返回结果中匹配该成员的反馈
- 如无反馈则显示"- 无"
**4. 下周任务**
-`next_week_tasks` 筛选该成员负责的任务
- 合并周报"下周计划"中的任务(语义去重)
- 按优先级排序P0 → P1 → P2
- 格式:`- [ ] 🔴 P0|任务名称`P0任务加红点无空格
**生成格式**
- 每个成员一个四级标题
- 四个子部分按上述顺序排列
---
### 步骤 2.7: 生成"三、会议总结"(主窗口归纳)
**核心原则**:归纳总结 + 关键决策
**数据来源**
1. ⭐ Agent E 返回的关键决策(步骤 2.2.5
2. `next_week_tasks`(步骤 2.5
**处理逻辑**
**1. 核心议题**
-`next_week_tasks` 提取项目名称
- 统计高频项目(简化项目名,提取核心关键词)
- 选取出现频率最高的前3个项目
- 用顿号连接
**2. 关键决策**
- 直接使用Agent E提取的决策列表
- 按序号格式化输出
**3. 下周工作重点**
-`next_week_tasks` 筛选所有P0任务
- 按序号列表格式输出
**生成格式**
- 章节标题:## 三、会议总结
- 三个子部分:核心议题、关键决策、下周工作重点
---
## Phase 3: 最终输出
### 步骤 3.1: 组装完整文档
**操作**
- 按顺序拼接所有生成的章节
- 标题格式:# 工程类会议纪要-{日期}-第X次周会
- 章节顺序:
1. 一、会议信息
2. 二、工作内容包含4个子章节
3. 三、会议总结
- 添加页脚信息:纪要整理人、纪要时间、下次会议时间
### 步骤 3.2: 写入文件
**操作**
- 确定文件名:`工程类会议纪要_{日期}_第X次周会.md`
- 输出路径:`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\output\`
- 使用Write工具写入文件
### 步骤 3.3: 返回结果
**返回给用户**
- 显示完成状态
- 汇总统计信息:
- 会议时间
- 参会人数
- P0任务数
- 问题讨论数
- 下周任务总数
- 显示输出文件路径
---
## Phase 3.5: 工程类会议纪要校验修正
> ⚠️ **在工程类会议纪要写入文件后立即执行**,确保任务不跟丢、修正语音转写错误
### 步骤 3.5.1: 调用校验修正 Agent
使用 Task 工具调用 `meeting_minutes_corrector`
```
subagent_type: "meeting_minutes_corrector"
description: "校验并修正工程类会议纪要"
prompt: |
请对刚生成的工程类会议纪要进行校验和修正:
1. 任务延续性检查:确保上周安排但未完成的任务延续到本周"下周工作安排"
2. 名词准确性检查:以周报为标准,修正语音转写导致的同音/近音错误
3. 人员名称校验:检查负责人是否与周报成员匹配
本周会议纪要路径:{刚写入的文件路径}
```
**Agent 职责**
- 读取成员周报,构建"标准名词库"
- 读取上周会议纪要,提取"下周工作安排"任务列表
- 读取本周会议纪要,检查任务延续性和名词准确性
- 自动补全缺失任务、修正名词错误
- 返回修正报告
### 步骤 3.5.2: 处理校验结果
**接收 Agent 返回的修正报告,检查校验状态**
| 状态 | 处理方式 |
|------|----------|
| 通过 ✅ | 直接继续 Phase 4 |
| 已修正 🔄 | Agent 已自动修正并保存,继续 Phase 4 |
| 有警告 ⚠️ | 向用户展示警告信息(如人名可能错误),询问是否需要人工确认 |
**如有人员名称警告**
使用 AskUserQuestion 向用户确认:
```
question: "发现可能的人名错误,是否需要修正?"
options:
- label: "修正为 {正确名}"
description: "将 '{疑似错误名}' 修正为 '{正确名}'"
- label: "保持原样"
description: "不修改,'{疑似错误名}' 是正确的"
```
用户确认后,如需修正则使用 Edit 工具修改会议纪要文件。
### 步骤 3.5.3: 向用户展示校验结果
向用户简要汇报:
```markdown
✅ 工程类会议纪要校验完成
**任务延续性**
- 补全了 {N} 个缺失任务:{任务列表}
**名词修正**
- 修正了 {M} 处名词错误:{修正示例}
修正后文件已保存。
```
---
## Phase 4: 学习研究类会议纪要生成
> ⚠️ **仅当 `learning_projects` 非空时执行本阶段**
### 步骤 4.1: 提取学习研究内容(调用 Agent
调用 `transcript_searcher` Agent传入
- 学习研究类项目列表(包含项目名称、负责成员、是否有资料库文件、资料库路径)
要求Agent为每个项目提取
- 议题标题(会议中讨论的主题)
- 分享人(语义推断)
- 背景与目的
- 核心议题概述
- 关键讨论成果Q&A、反馈、共识
- 下一步研究方向
**提取要点**有资料库文件的项目由Agent自行读取资料库提取核心内容无资料库的从会议转写推断。
**Agent返回示例**
```json
{
"search_intent": "提取学习研究内容",
"data": {
"topics": [
{
"title": "Claude Code Skill开发规范",
"presenter": "闫旭隆",
"background": "...",
"overview": "...",
"discussions": ["Q1...", "A1..."],
"next_steps": ["方向1", "方向2"]
}
]
}
}
```
### 步骤 4.2: 整合生成纪要(主窗口)
**处理逻辑**
1. **会议信息**:复用 Phase 2.1 的数据
2. **学习研究内容**:遍历 Agent 返回的 `data.topics`,按模板格式化
**输出格式**(每个议题):
```markdown
### {序号}. {title} ({presenter})
**背景与目的:**
- {background}
**核心议题概述:**
- {overview}
**关键讨论成果:**
- {discussions 列表}
**下一步研究方向:**
- {next_steps 列表}
```
### 步骤 4.3: 输出学习研究类纪要文件
**操作**
- 确定文件名:`学习研究类会议纪要_{日期}_第X次周会.md`
- 输出路径:`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\output\`
- 使用 Write 工具写入文件
**返回给用户**
- 显示学习研究类纪要完成状态
- 显示议题数量
- 显示输出文件路径
---
## Phase 5: Q&A资源库类会议纪要生成
> ⚠️ **二次提取产物**:在 Phase 3工程类和 Phase 4学习研究类之后执行
### 步骤 5.1: 复用会议信息(主窗口)
**数据来源**:已生成的工程类会议纪要
**操作**
1. 读取工程类纪要文件
2. 提取"一、会议信息"章节内容
3. 直接复用,格式保持一致
**无需Agent**,主窗口直接处理 ✅
---
### 步骤 5.2: 提取工作问题 Q&A主窗口
**核心原则**:从已生成的纪要文件中提取,非原始转写
#### 5.2.1: 从工程类纪要提取问题
**操作**
1. 定位"### 2. 重点项目问题及解决方案"章节
2. 解析每个问题块:
- 问题标题(作为项目名称)
- 问题描述(精简为主要问题)
- 解决方案列表
#### 5.2.2: 从学习研究类纪要提取 Q&A可选
**操作**(如学习研究类纪要存在):
1. 定位每个议题的"关键讨论成果"部分
2. 识别 Q&A 格式内容
#### 5.2.3: 合并去重
**处理逻辑**
- 语义匹配(相似度 > 80%)视为同一问题,合并解决方案
- 按项目分组,同一项目多个问题归类在一起
- 格式化输出:`### {序号}. 项目名称:{project_name}`
**无需Agent**,主窗口直接处理 ✅
---
### 步骤 5.3: 提取重点工作方法调用Agent + 主窗口)
**核心原则**:会议转写 + 周报,两者结合
#### 5.3.1: 从会议转写提取方法分享调用Agent
调用 `transcript_searcher` Agent要求提取会议中分享的工作方法、技巧、最佳实践。
**识别特征**
- 方法论讲解("方法是..."、"技巧是..."
- 经验分享("我的做法是..."、"建议..."
- 总结性语句("总结一下..."、"关键是..."
**要求提取字段**:方法名称、方法描述、提出人、相关项目
**Agent返回示例**
```json
{
"search_intent": "提取工作方法",
"data": {
"methods": [
{
"name": "语义分析替代说话人标记",
"description": "通过分析发言内容的语义特征来判断发言者",
"presenter": "连云波",
"related_project": "会议纪要信息提取"
}
]
}
}
```
#### 5.3.2: 从周报提取经验总结(主窗口)
**操作**
- 遍历 `members_data` 中"详细工作内容"
- 识别方法论/经验总结内容(带"方法"、"技巧"、"经验"等关键词的段落)
#### 5.3.3: 合并整理(主窗口)
**处理逻辑**
- 将会议方法与周报方法进行语义匹配
- 相似方法合并,补充细节
- 为每个方法生成完整结构:
- 方法标题
- 方法描述(合并会议详细讲解 + 周报简要描述)
- 适用场景(从会议讨论上下文推断)
- 关键要点提炼为3-5条
**输出格式**
```markdown
- **方法 {序号}{方法标题}**
- {方法描述}
- 适用场景:{场景描述}
- 关键要点:
- {要点1}
- {要点2}
- {要点3}
```
---
### 步骤 5.4: 输出Q&A资源库类纪要文件
**操作**
1. 组装所有章节:
- 一、会议信息(复用)
- 二、工作问题 Q&A
- 三、重点工作方法
2. 确定文件名:`Q&A资源库类会议纪要_{日期}_第X次周会.md`
3. 输出路径:`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\output\`
4. 使用 Write 工具写入文件
**特殊情况处理**
| 情况 | 处理方式 |
|------|---------|
| 工程类纪要无问题章节 | Q&A章节输出"本次会议无记录的问题讨论" |
| 会议中无方法分享 | 若周报有经验总结则使用,否则输出"本次会议无记录的方法分享" |
**返回给用户**
- 显示Q&A资源库类纪要完成状态
- 显示Q&A数量、方法数量
- 显示输出文件路径
---
## Phase 6: 云大所需求相关进度会议纪要生成
> ⚠️ **二次提取产物**:在 Phase 3工程类和 Phase 4学习研究类之后执行
### 步骤 6.1: 读取市场部需求清单
**操作**
1. 读取市场部需求清单文件:`input/市场部需求项目清单/市场部需求清单.md`
2. 提取项目名称列表
**构建数据**(保留在主窗口上下文中):
- 市场部需求项目列表(如:投标商务应答自动生成系统、运营商信息精准爬取系统、数字人项目等)
---
### 步骤 6.2: 筛选匹配项目(主窗口)
**数据来源**
1. 已生成的工程类会议纪要
2. 已生成的学习研究类会议纪要(如存在)
3. 市场部需求项目列表
**处理逻辑**
**1. 从工程类纪要提取匹配项目**
- 读取工程类纪要的以下章节:
- "1. 重点项目进展情况汇总"表格
- "2. 重点项目问题及解决方案"
- "3. 下周工作安排"表格
- 对每个项目进行语义匹配:项目名称与市场部需求清单中的项目名称进行比对
- 匹配成功的项目提取:项目名称、负责人、本周进展、存在问题、下周计划、优先级
**2. 从学习研究类纪要提取匹配项目**(如存在):
- 读取学习研究类纪要的议题列表
- 对每个议题进行语义匹配
- 匹配成功的项目提取:议题标题、分享人、核心内容摘要、下一步方向
**语义匹配规则**
- 项目名称包含需求清单中的关键词 → 匹配
- 项目描述涉及需求清单项目的功能/目标 → 匹配
- 由 Claude 自主判断,不设定相似度阈值
---
### 步骤 6.3: 整合生成纪要(主窗口)
**处理逻辑**
**1. 会议信息**:复用工程类纪要的会议信息
**2. 需求项目进展表格**
- 遍历所有匹配的项目
- 按市场部需求清单的顺序排列
- 填充表格字段:
| 字段 | 数据来源 |
|------|---------|
| 项目名称 | 市场部需求清单中的标准名称 |
| 负责人 | 工程类纪要 "下周工作安排" 或 "重点项目进展" |
| 本周进展 | 工程类纪要 "重点项目进展情况汇总" 的进展情况 |
| 存在问题 | 工程类纪要 "重点项目问题及解决方案" 的问题描述(精简) |
| 下周计划 | 工程类纪要 "下周工作安排" 的本周目标 |
| 优先级 | 工程类纪要 "下周工作安排" 的优先级 |
**3. 问题与风险**
- 从匹配项目中提取存在问题的项目
- 按项目分组输出
- 格式:项目名称、问题描述、解决方案、责任人、截止时间
**4. 下周重点**
- 从匹配项目中筛选 P0 任务
- 按序号列表输出
**特殊情况处理**
| 情况 | 处理方式 |
|------|---------|
| 无匹配项目 | 输出"本次会议未涉及市场部需求相关项目" |
| 项目在纪要中无进展信息 | 本周进展填"未讨论" |
| 项目在纪要中无问题 | 存在问题填"无" |
---
### 步骤 6.4: 输出云大所需求相关进度纪要文件
**操作**
1. 组装所有章节:
- 一、会议信息(复用)
- 二、需求项目进展
- 三、问题与风险
- 四、下周重点
2. 确定文件名:`云大所需求相关进度会议纪要_{日期}_第X次周会.md`
3. 输出路径:`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\output\`
4. 使用 Write 工具写入文件
**返回给用户**
- 显示云大所需求相关进度纪要完成状态
- 显示匹配到的需求项目数量
- 显示输出文件路径
---
## 关键辅助函数
### is_same_project(task1, task2)
判断两个任务是否属于同一项目由Claude根据语义自主判断不规定相似度阈值
- 参考上周会议纪要"下周工作安排"中的项目列表作为基准
- 根据任务描述、上下文关系判断是否为同一项目的不同阶段/子任务
### belongs_to_project(task, project_list)
判断一个任务属于项目列表中的哪个项目由Claude根据语义自主判断
### merge_assignees(list1, list2)
合并负责人列表并去重
### extract_project_name(task_name)
从任务名称提取核心项目关键词
---
## 项目类型区分规则
**核心问题**:周报中没有"学习类"/"工程类"标签,两类项目都混在"P0任务完成情况"和"详细工作内容"中。
**区分方法**
1. **资料库指引** ⭐:项目在 `input/成员本周资料库/` 下有对应md文件 → 学习研究类
2. **语义判断**:根据任务性质(知识获取/技能提升 vs 产出交付/功能实现)语义判断
**背景**成员会以周报为顶层讲到学习内容时打开资料库里的md进行分享资料库中的项目通常是学习研究类。
---
## 注意事项
1. **参会人员固定规则**
- 连云波(主持) 固定出现在参会人员首位
- 其他参会人员从周报提交人中提取
2. **项目语义去重原则** ⭐:
- 以上周会议纪要"下周工作安排"中的项目为基准
- 本周任务与上周项目进行语义匹配,属于同一项目的合并
- 由Claude自主判断不规定相似度阈值
- 问题也按项目维度合并
3. **完成状态优先级原则** ⭐⭐⭐:
- **会议讨论内容优先级 > 周报自述**
- 当会议反馈与周报状态冲突时,以会议为准
- 例如:周报写"已完成"但会议说"需要重写" → 进展应写"需要重写"
4. **项目进展情况表述规范** ⭐⭐:
- 在"重点项目进展情况汇总"表格中,**禁止使用"领导反馈"字样**
- 应使用"**解决方案:**"来描述会议中提出的改进建议和优化方向
- 格式:`进展状态 + 存在问题 + **解决方案:** 具体措施`
5. **优先级一致性**
- 项目进展仅P0
- 下周安排P0/P1/P2按顺序
- 成员进展每人下周任务按P0→P1→P2排序
6. **数据互补原则**
- 问题:会议详细分析 + 周报初步描述
- 任务:会议分配 + 周报计划,冲突时会议优先
7. **语义识别**
- 转写说话人标记不可靠
- 责任人、优先级、反馈对象都需语义推断
8. **并行执行** ⭐⭐⭐:
- **Phase 2 步骤 2.2**:所有 Agent 调用A/B/C/D1-Dn/E完全并行
- 原因:所有 Agent 仅依赖 Phase 1 数据,无相互依赖
- 执行方式:在单条消息中同时发起所有 Task 调用
- 合并阶段2.3-2.7串行执行2.6/2.7 依赖 2.5 生成的 next_week_tasks
9. **默认值处理**
- 截止时间:会议日期 + 7天
- 优先级会议未提及的周报任务默认P1
10. **Agent返回数据解析**
- 所有transcript_searcher返回的JSON结构为`{search_intent, data}`
- 实际业务数据在`data`字段内,需通过`result.data.xxx`访问
- 示例:`result.data.problems``result.data.tasks``result.data.decisions`
- 检查`description``context`字段中是否包含隐含的独立任务,如有则拆分为独立条目
11. **会议末端任务布置**
- 会议结束前的段落通常是领导布置下周任务的重点区域
- 主窗口合并时需确认Agent是否完整提取了会议末端的任务
- 如发现遗漏,应补充提取
---
## 根本逻辑文档
本 Skill 的详细执行逻辑(包括每个章节的数据来源、处理规则、输出格式),有任何问题请查阅:
- **工程类**`references/detailed_logic.md`
- **学习研究类**`references/学习研究类会议纪要生成逻辑.md`
- **Q&A资源库类**`references/Q&A资源库类会议纪要生成逻辑.md`