添加-会议纪要skill-v0.5,索引版本

This commit is contained in:
闫旭隆
2025-12-01 09:31:29 +08:00
parent 882945348b
commit 5f329d7b4c
33 changed files with 5409 additions and 0 deletions

View File

@ -0,0 +1,900 @@
---
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`