Files
AIEC_Skills/.claude/skills/meeting-minutes-generator-v1/skill.md
2025-12-01 09:31:29 +08:00

900 lines
27 KiB
Markdown
Raw 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\temp\transcript_index.json
输出位置:
- 工程类output\工程类会议纪要_{date}_第X次周会.md
- 学习研究类output\学习研究类会议纪要_{date}_第X次周会.md
- Q&A资源库类output\Q&A资源库类会议纪要_{date}_第X次周会.md
```
## 整体流程概览
```
Phase 1: 准备阶段(读取输入、构建索引、区分项目类型)
├─ 1.1 初始化目录temp/、output/
├─ 1.2 读取所有成员周报 → members_data
├─ 1.3 读取上周会议纪要 → last_week_p0_tasks
├─ 1.4 提取会议日期 → meeting_date, default_deadline
├─ 1.5 调用 transcript_indexer Agent → 构建语义索引
└─ 1.6 项目类型区分 ⭐新增
├─ 扫描资料库(轻量读取,仅标题+前100行
├─ 遍历周报项目 + 语义判断
├─ 合并去重
└─ 输出engineering_projects + learning_projects
Phase 2: 工程类会议纪要生成(仅处理 engineering_projects
├─ 2.1 会议信息(主窗口直接生成)
├─ 2.2 重点项目进展汇总主窗口用周报仅P0工程类
├─ 2.3 重点项目问题及解决方案Agent搜索 + 主窗口合并)
├─ 2.4 下周工作安排Agent搜索 + 主窗口排序,仅工程类)
├─ 2.5 组内成员工作进展并行Agents + 主窗口整合,下周任务仅工程类)⭐
└─ 2.6 会议总结Agent搜索 + 主窗口归纳)
Phase 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 1: 准备阶段
### 步骤 1.1: 初始化目录
**操作**:确保必要目录存在
1. 检查/创建 `temp/` 目录(用于存放索引文件)
2. 检查/创建 `output/` 目录(用于存放输出文件)
**路径**
- temp: `D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\temp\`
- 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`
2. 从文件名提取日期并格式化:
-`20251118134948-转写...txt` → "2025-11-18"
3. 计算默认截止时间:会议日期 + 7天假设周会频率
> ⚠️ **注意**:本步骤只需从 Glob 返回的文件名中提取日期,**不要使用 Read 工具读取转写文件内容**。转写文件内容由步骤1.5的 transcript_indexer Agent 处理。
### 步骤 1.5: 构建会议转写索引
**操作**:调用 transcript_indexer Agent
```python
Task(
subagent_type="transcript_indexer",
description="构建会议转写索引",
prompt="构建会议转写索引"
)
```
**Agent输出**
- 文件:`D:\AA_Work\skills合集\AIEC-团队开发规范Skills\.claude\skills\meeting-minutes-generator-v1\temp\transcript_index.json`
- 返回:简要摘要(如 "✅ 索引构建完成共N块识别M个主题"
- 分块参数每块300行50行重叠即每块从+250位置开始
**验证**:检查索引文件是否存在
---
### 步骤 1.6: 项目类型区分 ⭐新增
**操作**
1. 扫描资料库:`Glob: input/成员本周资料库/*.md`
2. **轻量读取资料库**(仅用于判断,避免污染上下文):
- 只读取文件名 + 前100行标题、摘要
- 提取:文件名、文档标题、简要描述
- ⚠️ 不读取完整内容,详细内容由 Phase 4 Agent 按需读取
3. 遍历 `members_data` 中所有项目P0任务 + 详细工作内容)
4. 对每个项目判断类型:
- 资料库有对应md → 学习研究类
- 语义判断(知识获取/技能提升 vs 产出交付/功能实现)
5. 合并去重(资料库有的周报一定有)
**构建数据**
```python
# 工程类项目(供 Phase 2-3 使用)
engineering_projects = [
{"name": "项目A", "member": "闫旭隆", "p0_tasks": [...], "problems": [...]}
]
# 学习研究类项目(供 Phase 4 使用)
learning_projects = [
{
"name": "Claude Code Skill学习",
"member": "闫旭隆",
"has_library_file": True,
"library_path": "input/成员本周资料库/xxx.md",
"weekly_content": "周报描述..."
}
]
```
**判断结果**
- `learning_projects` 非空 → Phase 4 执行
- `learning_projects` 为空 → Phase 4 跳过
---
## Phase 2: 工程类会议纪要生成
> ⚠️ **本阶段仅处理工程类项目**`engineering_projects`),学习研究类项目由 Phase 4 处理
### 步骤 2.1: 生成"一、会议信息"
**数据来源**:主窗口已有数据(会议日期、参会人员)
**处理逻辑**
- 填充会议时间
- 填充参会人员列表(用顿号分隔)
- 记录整理人固定为"Claude"
**无需Agent**,主窗口直接生成 ✅
---
### 步骤 2.2: 生成"### 1. 重点项目进展情况汇总"
**核心原则**:⭐ **仅展示工程类P0任务非P0任务和学习研究类项目不在此处展示**
**数据来源**
1. 上周纪要的P0任务
2. 本周周报的P0任务
**处理逻辑**
**1. 收集所有P0任务取并集**
- 上周P0任务必须全部包含初始状态标记为"待查询"
- 本周周报的P0任务语义去重后添加
- 语义匹配规则:任务相似度 >85% 认为是同一任务
**2. 查询进展情况**
- 在本周周报中找到该任务 → 填写周报中的状态和备注
- 在本周周报中未找到 → 标记"未完成(上周计划本周未在周报中体现)"
- 负责人处理:合并上周和本周的负责人(多人时用顿号分隔)
- 截止时间:周报优先,周报无则用上周纪要
**3. 生成表格**
- 输出格式:| 项目名称 | 负责人 | 截止时间 | 项目进展情况 |
- 按项目顺序排列
**无需Agent**,主窗口直接处理 ✅
---
### 步骤 2.3: 生成"### 2. 重点项目问题及解决方案"
**核心原则**:会议转写与周报互补,合并信息
#### 2.3.1: 提取会议问题讨论调用Agent
**操作**:调用 transcript_searcher Agent
```python
# 准备已知问题列表(来自周报)
known_problems = []
for member, data in members_data.items():
for problem in data["problems"]:
known_problems.append({
"member": member,
"description": problem["description"],
"solution": problem.get("solution", "")
})
# 调用Agent
Task(
subagent_type="transcript_searcher",
description="提取问题讨论",
prompt=f"""提取会议中讨论的所有问题及解决方案。
会议日期:{meeting_date}
默认截止时间:{default_deadline}(下次周会前)
已知问题(来自周报):
{json.dumps(known_problems, ensure_ascii=False, indent=2)}
请提取会议中讨论的问题,包括:
- 问题标题
- 问题详细描述
- 解决方案(列表形式)
- 责任人(从讨论上下文语义推断)
- 截止时间明确时间或null无明确时间则使用默认截止时间
返回JSON格式类型2提取问题讨论
"""
)
```
**Agent返回**JSON字符串实际数据在`data`字段内):
```json
{
"search_intent": "提取问题讨论",
"matched_blocks": [2, 4],
"data": {
"problems": [
{
"problem_title": "会议纪要信息提取准确性问题",
"problem_description": "...",
"solutions": ["方案1", "方案2"],
"assignees": ["江争达", "郝倩玉"],
"deadline": "2025-11-25"
}
]
}
}
```
#### 2.3.2: 合并周报与会议问题(主窗口)
**处理逻辑**
**1. 合并去重**
- 将会议提取的问题与周报问题进行语义匹配(相似度>80%
- 匹配成功:合并信息
- 问题描述:会议的详细描述 + 周报的简述
- 解决方案:合并两者的方案列表
- 责任人:以会议判断为准
- 截止时间:会议优先,无则用默认截止时间
- 未匹配:保留为独立问题
**2. 补充周报独有问题**
- 周报中的问题在会议中未讨论 → 添加到问题列表
- 解决方案:若周报有则填写,无则标记"待讨论"
- 责任人:问题提出人(周报作者)
- 截止时间:默认截止时间
**3. 生成输出**
- 按问题编号生成章节
- 格式:#### 问题N: 标题
- 包含:问题描述、解决方案列表、责任人、截止时间
---
### 步骤 2.4: 生成"### 3. 下周工作安排"
**核心原则**:仅工程类项目,会议+周报互补冲突时会议优先按P0→P1→P2排序
#### 2.4.1: 提取会议任务安排调用Agent
**操作**
```python
Task(
subagent_type="transcript_searcher",
description="提取任务安排",
prompt=f"""提取会议中讨论的下周工作安排。
会议日期:{meeting_date}
默认截止时间:{default_deadline}(下次周会前)
已知P0任务上周计划
{json.dumps([t["name"] for t in last_week_p0_tasks], ensure_ascii=False)}
请提取任务安排,包括:
- 任务名称
- 负责人
- 任务描述
- 优先级从讨论语气判断P0/P1/P2
- P0领导明确强调"优先"、"重点"、"紧急",或反复讨论
- P1一般性安排、常规任务
- P2探索性任务、长期优化、低优先级
- 截止时间明确时间或null
返回JSON格式类型1提取任务安排
"""
)
```
**Agent返回**(实际数据在`data`字段内):
```json
{
"search_intent": "提取任务安排",
"matched_blocks": [1, 3, 5],
"data": {
"tasks": [
{
"task_name": "Deepresearch Skill开发",
"assignees": ["闫旭隆"],
"description": "实现知识图谱增量更新",
"priority": "P0",
"deadline": null
}
]
}
}
```
#### 2.4.2: 合并周报与会议任务(主窗口)
**处理逻辑**
**1. 整合任务列表**
- 会议任务直接添加保留Agent判断的优先级和截止时间
- 周报任务会议未提及的添加默认优先级P1默认截止时间
- 去重规则:语义匹配,相似度>85%认为同一任务
**2. 冲突处理**
- 同一任务的负责人冲突 → 以会议为准
- 同一任务的优先级冲突 → 以会议为准
- 同一任务的截止时间冲突 → 以会议为准
**3. 保存数据**
- 保存合并后的任务列表 `next_week_tasks`
- ⭐ 重要步骤2.5和2.6会使用这个列表
#### 2.4.3: 优先级排序
**核心规则**P0任务在前P1居中P2在后
**排序步骤**
1. 按优先级分组P0组、P1组、P2组
2. 组内按截止时间排序(早的在前)
3. 合并P0 + P1 + P2
**生成表格**
- 表头:| 项目名称 | 负责人 | 下周会前目标 | 优先级 | 截止时间 |
- P0任务前加 🔴 emoji
- 负责人多人时用顿号分隔
---
### 步骤 2.5: 生成"### 4. 组内成员工作进展"
**核心原则**:并行提取反馈,主窗口整合;**下周任务仅列工程类项目**
#### 2.5.1: 并行提取成员反馈调用多个Agents
**操作**:一次性并行调用多个 transcript_searcher Agents
```python
# 为每个成员并行调用Agent
feedback_agents = []
for member in attendees:
member_data = members_data[member]
feedback_agents.append(
Task(
subagent_type="transcript_searcher",
description=f"提取{member}反馈",
prompt=f"""提取会议中对 {member} 的反馈(表扬/批评/建议)。
{member}的周报信息:
- P0任务{[t['name'] for t in member_data['p0_tasks']]}
- 遇到问题:{[p['description'] for p in member_data['problems']]}
请提取会议中对该成员的反馈,包括:
- 反馈类型(表扬/批评/建议)
- 反馈内容
注意:
1. 不依赖说话人标记,通过语义识别(讨论该成员的工作、对该成员的评价)
2. 如果会议中未提及该成员,返回空列表
返回JSON格式类型4提取成员反馈
"""
)
)
# 等待所有Agent返回
feedback_results = [agent.result for agent in feedback_agents]
```
**Agent返回示例**(实际数据在`data`字段内):
```json
{
"search_intent": "提取江争达的反馈",
"matched_blocks": [2, 4],
"data": {
"member": "江争达",
"feedbacks": [
{"type": "批评", "content": "..."},
{"type": "建议", "content": "..."}
]
}
}
```
#### 2.5.2: 整合成员信息(主窗口)
**处理逻辑**
对每个成员,整合以下信息生成章节:
**1. 上周完成**
- 从周报提取已完成任务列表(带✅标记的项)
**2. 进行中**
- 从周报提取进行中任务列表(带🔄标记的项)
**3. 收到的反馈/学习建议**
- 从并行Agent返回结果中匹配该成员的反馈
- 如无反馈则显示"- 无"
**4. 下周任务**
-`next_week_tasks` 筛选该成员负责的任务
- 合并周报"下周计划"中的任务(语义去重)
- 按优先级排序P0 → P1 → P2
- 格式:`- [ ] 🔴 P0|任务名称`P0任务加红点无空格
**生成格式**
- 每个成员一个四级标题
- 四个子部分按上述顺序排列
---
### 步骤 2.6: 生成"三、会议总结"
**核心原则**:提取决策 + 归纳总结
#### 2.6.1: 提取关键决策调用Agent
**操作**
```python
Task(
subagent_type="transcript_searcher",
description="提取决策事项",
prompt="""提取会议中的所有关键决策。
特征词:"决定"、"确定"、"采用"、"要求"、"必须"、"不准"
请提取决策事项,包括:
- 决策内容
- 决策上下文
返回JSON格式类型3提取决策事项
"""
)
```
**Agent返回**(实际数据在`data`字段内):
```json
{
"search_intent": "提取决策事项",
"matched_blocks": [3, 6],
"data": {
"decisions": [
{
"decision": "采用Claude Code Skill架构",
"context": "Deepresearch框架选型讨论"
}
]
}
}
```
#### 2.6.2: 归纳总结(主窗口)
**处理逻辑**
**1. 核心议题**
-`next_week_tasks` 提取项目名称
- 统计高频项目(简化项目名,提取核心关键词)
- 选取出现频率最高的前3个项目
- 用顿号连接
**2. 关键决策**
- 直接使用Agent提取的决策列表
- 按序号格式化输出
**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 4: 学习研究类会议纪要生成
> ⚠️ **仅当 `learning_projects` 非空时执行本阶段**
### 步骤 4.1: 提取学习研究内容(调用 Agent
**操作**
```python
Task(
subagent_type="transcript_searcher",
description="提取学习研究讨论",
prompt=f"""提取会议中的学习研究类讨论内容。
学习研究类项目列表:
{json.dumps(learning_projects, ensure_ascii=False)}
请为每个项目提取:
- 议题标题(会议中讨论的主题)
- 分享人(语义推断)
- 背景与目的
- 核心议题概述
- 关键讨论成果Q&A、反馈、共识
- 下一步研究方向
注意:
1. has_library_file=true 的项目,核心内容从资料库提取
2. has_library_file=false 的项目,从会议转写上下文推断
3. 资料库路径已固化Agent 自行读取
返回JSON格式类型5提取学习研究内容
"""
)
```
**Agent 返回**
```json
{
"search_intent": "提取学习研究内容",
"matched_blocks": [2, 5],
"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学习研究类之后执行
>
> **依赖**:已生成的工程类会议纪要(必需)
### 前置检查
**操作**
1. 检查 `output/` 目录下是否存在本次会议的工程类纪要文件
2. 如不存在 → 提示用户先生成工程类纪要,跳过 Phase 5
3. 如存在 → 继续执行
---
### 步骤 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
**操作**
```python
Task(
subagent_type="transcript_searcher",
description="提取工作方法",
prompt="""提取会议中分享的工作方法、技巧、最佳实践。
识别特征:
- 方法论讲解("方法是..."、"技巧是..."
- 经验分享("我的做法是..."、"建议..."
- 总结性语句("总结一下..."、"关键是..."
需提取字段:
- 方法名称(简短标题)
- 方法描述(详细说明)
- 提出人(从上下文推断)
- 相关项目
返回JSON格式类型6提取工作方法
"""
)
```
**Agent返回**(实际数据在`data`字段内):
```json
{
"search_intent": "提取工作方法",
"matched_blocks": [2, 5],
"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数量、方法数量
- 显示输出文件路径
---
## 关键辅助函数
### is_same_task(task1, task2)
判断两个任务是否为同一任务(语义相似度 > 85%
### is_similar_problem(desc1, desc2)
判断两个问题是否相似(语义相似度 > 80%
### merge_assignees(list1, list2)
合并负责人列表并去重
### extract_project_name(task_name)
从任务名称提取核心项目关键词
---
## 项目类型区分规则
**核心问题**:周报中没有"学习类"/"工程类"标签,两类项目都混在"P0任务完成情况"和"详细工作内容"中。
**区分方法**
1. **资料库指引** ⭐:项目在 `input/成员本周资料库/` 下有对应md文件 → 学习研究类
2. **语义判断**:根据任务性质(知识获取/技能提升 vs 产出交付/功能实现)语义判断
**背景**成员会以周报为顶层讲到学习内容时打开资料库里的md进行分享资料库中的项目通常是学习研究类。
---
## 注意事项
1. **优先级一致性**
- 项目进展仅P0
- 下周安排P0/P1/P2按顺序
- 成员进展每人下周任务按P0→P1→P2排序
2. **数据互补原则**
- 问题:会议详细分析 + 周报初步描述
- 任务:会议分配 + 周报计划,冲突时会议优先
3. **语义识别**
- 转写说话人标记不可靠
- 责任人、优先级、反馈对象都需语义推断
4. **并行执行**
- 仅步骤2.5成员反馈提取并行4-5个Agents
- 其他步骤串行执行(有数据依赖)
5. **默认值处理**
- 截止时间:会议日期 + 7天
- 优先级会议未提及的周报任务默认P1
6. **Agent返回数据解析**
- 所有transcript_searcher返回的JSON结构为`{search_intent, matched_blocks, data}`
- 实际业务数据在`data`字段内,需通过`result.data.xxx`访问
- 示例:`result.data.problems``result.data.tasks``result.data.decisions`
---
## 根本逻辑文档
本 Skill 的详细执行逻辑(包括每个章节的数据来源、处理规则、输出格式),有任何问题请查阅:
- **工程类**`references/detailed_logic.md`
- **学习研究类**`references/学习研究类会议纪要生成逻辑.md`
- **Q&A资源库类**`references/Q&A资源库类会议纪要生成逻辑.md`