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

27 KiB
Raw Blame History

name, description
name description
meeting-minutes-generator-v1 会议纪要生成器。当用户说"生成会议纪要"、"生成本周纪要"、"会议纪要"时自动触发。根据会议转写、成员周报、上周纪要生成三类结构化会议纪要工程类、学习研究类、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

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. 合并去重(资料库有的周报一定有)

构建数据

# 工程类项目(供 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

# 准备已知问题列表(来自周报)
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字段内):

{
  "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

操作

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字段内):

{
  "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

# 为每个成员并行调用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字段内):

{
  "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

操作

Task(
  subagent_type="transcript_searcher",
  description="提取决策事项",
  prompt="""提取会议中的所有关键决策。

特征词:"决定"、"确定"、"采用"、"要求"、"必须"、"不准"

请提取决策事项,包括:
- 决策内容
- 决策上下文

返回JSON格式类型3提取决策事项"""
)

Agent返回(实际数据在data字段内):

{
  "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

操作

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 返回

{
  "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,按模板格式化

输出格式(每个议题):

### {序号}. {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

操作

Task(
  subagent_type="transcript_searcher",
  description="提取工作方法",
  prompt="""提取会议中分享的工作方法、技巧、最佳实践。

识别特征:
- 方法论讲解("方法是..."、"技巧是..."
- 经验分享("我的做法是..."、"建议..."
- 总结性语句("总结一下..."、"关键是..."

需提取字段:
- 方法名称(简短标题)
- 方法描述(详细说明)
- 提出人(从上下文推断)
- 相关项目

返回JSON格式类型6提取工作方法"""
)

Agent返回(实际数据在data字段内):

{
  "search_intent": "提取工作方法",
  "matched_blocks": [2, 5],
  "data": {
    "methods": [
      {
        "name": "语义分析替代说话人标记",
        "description": "通过分析发言内容的语义特征来判断发言者",
        "presenter": "连云波",
        "related_project": "会议纪要信息提取"
      }
    ]
  }
}

5.3.2: 从周报提取经验总结(主窗口)

操作

  • 遍历 members_data 中"详细工作内容"
  • 识别方法论/经验总结内容(带"方法"、"技巧"、"经验"等关键词的段落)

5.3.3: 合并整理(主窗口)

处理逻辑

  • 将会议方法与周报方法进行语义匹配
  • 相似方法合并,补充细节
  • 为每个方法生成完整结构:
    • 方法标题
    • 方法描述(合并会议详细讲解 + 周报简要描述)
    • 适用场景(从会议讨论上下文推断)
    • 关键要点提炼为3-5条

输出格式

- **方法 {序号}{方法标题}**
  - {方法描述}
  - 适用场景:{场景描述}
  - 关键要点:
    - {要点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.problemsresult.data.tasksresult.data.decisions

根本逻辑文档

本 Skill 的详细执行逻辑(包括每个章节的数据来源、处理规则、输出格式),有任何问题请查阅:

  • 工程类references/detailed_logic.md
  • 学习研究类references/学习研究类会议纪要生成逻辑.md
  • Q&A资源库类references/Q&A资源库类会议纪要生成逻辑.md