承诺提取器Skill commitment-extractor

这是一个用于从会议笔记中自动提取和跟踪承诺的技能。它能识别谁承诺了什么给谁,以及截止日期和状态,便于团队协作和任务管理。关键词:承诺提取,会议笔记分析,自然语言处理,任务跟踪,团队协作。

NLP 0 次安装 0 次浏览 更新于 3/20/2026

name: 承诺提取器 description: 从会议笔记中提取和跟踪承诺 - 谁承诺了什么给谁,带有截止日期和状态跟踪。

承诺提取器

扫描会议笔记以提取、结构化和跟踪承诺。识别承诺、行动项和后续事项,包括其所有者、接收者、截止日期和状态。

参数

  • $SCOPE - 可选。过滤范围:
    • all - 所有会议(默认)
    • recent - 仅最近7天
    • YYYY-MM-DD - 特定日期
    • person:Name - 涉及特定人员的承诺
    • overdue - 仅显示逾期/陈旧的承诺

过程

步骤 1:扫描会议笔记

定位会议笔记:

# 查找所有会议笔记
find 00-Inbox/Meetings/ -name "*.md" -type f | grep -v README

应用范围过滤器:

  • all:处理所有文件
  • recent:过滤到最近7天修改的文件
  • YYYY-MM-DD:过滤到文件名中包含日期的文件
  • person:Name:在提取阶段过滤
  • overdue:处理所有,在状态阶段过滤

步骤 2:提取承诺语言

对于每个会议笔记,扫描承诺模式:

第一人称承诺(“我/我们将做 X”):

  • I'll..., I will..., I'm going to...
  • Let me..., I can..., I should...
  • We'll..., We will..., We need to..., We should...
  • I'll get back to you on..., I'll follow up...

第二人称请求(“你将做 X”):

  • Can you..., Could you..., Would you...
  • You'll need to..., You should...
  • Please...(当针对某人时)

第三人称分配(“他们将做 X”):

  • @[[Person]]..., @Person:...
  • [Name] will..., [Name] to...
  • Action for [Name]:...

明确行动项:

  • - [ ] ...(未勾选的任务)
  • Action Items: 部分内容
  • Follow-up:, Next steps: 部分内容
  • 包含 ^mt-^task- 块 ID 的行

步骤 3:结构化每个承诺

对于每个找到的承诺,提取:

commitment:
  text: "[确切的承诺语言]"
  owner: "[谁做出/拥有承诺]"
  recipient: "[向谁做出,如果适用]"
  deadline: "[如果提到日期,或 '未指定']"
  source_meeting: "[会议标题和日期]"
  source_file: "[会议笔记的完整路径]"
  block_id: "[^mt-xxx 或 ^task-xxx,如果存在]"
  extracted_date: "[今天的日期]"
  status: "[new|aging|overdue|completed]"

所有者检测规则:

  1. 会议中已知参与者的第一人称语言 = 会议所有者/作者
  2. @[[Person]]@Person: = 该人员
  3. “Action for [Name]:” 后的文本 = 该人员
  4. 如果模糊,标记为 “未知 - 需要澄清”

截止日期检测:

  • 查找:by [date], before [date], end of [week/month], tomorrow, next [day], this week
  • 将相对日期转换为绝对日期(基于会议日期)
  • 如果未找到截止日期:未指定

步骤 4:计算状态

状态规则:

  • new - 今天提取或承诺 < 7 天
  • aging - 承诺 > 7 天,无完成证据
  • overdue - 过去明确的截止日期
  • completed - 任务有 [x] 或在完成笔记中引用

陈旧计算:

days_old = today - meeting_date
if deadline and today > deadline:
    status = "overdue"
elif days_old > 7 and not completed:
    status = "aging"
elif extracted_today:
    status = "new"

步骤 5:交叉参考完成情况

检查承诺是否已完成:

  1. 任务文件检查:03-Tasks/Tasks.md 中搜索匹配的块 ID 或类似任务文本
  2. 会议后续检查: 在后续会议笔记中查找 “completed”, “done”, “finished” 提及
  3. 个人页面检查: 检查引用的人员页面以获取任务完成情况

如果找到证据,标记为 completed

步骤 6:按范围过滤

如果指定了 person:Name 范围:

  • 包括所有者 = Name 的承诺
  • 包括接收者 = Name 的承诺
  • 包括文本中提及 Name 的承诺

如果指定了 overdue 范围:

  • 仅包括状态为 overdueaging 的承诺

步骤 7:生成输出

默认输出 - 按人员分组:

# 承诺跟踪器

*生成于: [YYYY-MM-DD HH:MM]*
*范围: [应用的范围]*
*扫描的会议: [计数]*

---

## 摘要

| 状态 | 计数 |
|--------|-------|
| 逾期 | X |
| 陈旧 (>7 天) | X |
| 新 | X |
| 已完成 | X |
| **总未完成** | **X** |

---

## 按所有者

### [[人员姓名]]

**逾期:**
| 承诺 | 向 | 截止日期 | 来源会议 |
|------------|-----|----------|----------------|
| [承诺文本] | [接收者] | [日期] | [[会议链接]] |

**陈旧:**
| 承诺 | 向 | 天数旧 | 来源会议 |
|------------|-----|----------|----------------|
| [承诺文本] | [接收者] | [N] | [[会议链接]] |

**最近:**
| 承诺 | 向 | 截止日期 | 来源会议 |
|------------|-----|----------|----------------|
| [承诺文本] | [接收者] | [日期/无] | [[会议链接]] |

---

### [[其他人员]]
...

---

## 对你做出的承诺

| 来自 | 承诺 | 截止日期 | 状态 | 来源 |
|------|------------|----------|--------|--------|
| [[人员]] | [文本] | [日期] | [状态] | [[会议]] |

---

## 需要关注

### 逾期(已过截止日期)

1. **[承诺文本]**
   - 所有者: [[人员]]
   - 截止日期: [日期] (X 天逾期)
   - 来源: [[会议 - 日期]]
   - 建议操作: 跟进或标记完成

### 陈旧(无响应 >7 天)

1. **[承诺文本]**
   - 所有者: [[人员]]
   - 自承诺以来的天数: X
   - 来源: [[会议 - 日期]]
   - 建议操作: 检查状态或创建任务

---

## 最近完成

| 承诺 | 所有者 | 完成于 | 来源 |
|------------|-------|-----------|--------|
| [文本] | [[人员]] | [日期] | [[会议]] |

替代输出 - 按状态分组(使用标志 --by-status):

首先分组所有逾期,然后陈旧,然后新。

步骤 8:可选操作

呈现结果后,提供:

  1. 创建任务: “您希望我在 03-Tasks/Tasks.md 中为任何未完成的承诺创建任务吗?”
  2. 更新个人页面: “我应该将这些承诺添加到相关的人员页面吗?”
  3. 标记完成: “有任何已经完成的吗?告诉我哪些要标记完成。”
  4. 设置截止日期: “想为没有截止日期的承诺添加截止日期吗?”

步骤 9:保存报告(可选)

如果用户请求,保存报告到: 06-Resources/Intel/Commitment_Reports/YYYY-MM-DD_Commitments.md


模式库

高置信度承诺模式

这些模式强烈指示承诺:

# 第一人称将来时
/I('ll| will| am going to| can| should| need to) (get|send|create|update|follow|schedule|reach|contact|review|prepare|build|write)/i

# 行动项标记
/^- \[ \] .+/m
/Action (item|for|:)/i
/^### (For Me|My Actions|Dave|I need to)/im

# 明确承诺
/(I('ll| will) get back to you|I('ll| will) follow up|Let me (check|find|get|send))/i

# 请求模式
/(@\[\[.+?\]\]|@\w+):\s*.+/
/(Can|Could|Would) you (please )?(send|create|review|check|update|schedule)/i

上下文线索

查找这些常包含承诺的部分标题:

  • ## Action Items
  • ## Follow-up
  • ## Next Steps
  • ## Tasks
  • ### For Me / ### For Others
  • ## Decisions Made(可能包含隐含承诺)

排除模式

跳过这些(非承诺):

  • 问题:Should I...?, Can we...?, What if I...?
  • 过去时:I did..., We completed..., I sent...
  • 假设:I would..., I could...(无上下文)
  • 已完成:- [x] ...

使用示例

# 从所有会议中提取所有承诺
/commitment-extractor

# 仅最近7天的承诺
/commitment-extractor recent

# 涉及特定人员的承诺
/commitment-extractor person:Paul

# 仅显示逾期/陈旧项
/commitment-extractor overdue

# 特定日期的承诺
/commitment-extractor 2026-01-26

集成点

个人页面

提取后,可选更新个人页面:

## 未完成承诺

### 对 [[人员]] 的承诺
- [承诺] - 来自 [[会议]] (截止: [日期])

### 来自 [[人员]] 的承诺
- [承诺] - 来自 [[会议]] (截止: [日期])

任务系统

承诺可以提升为任务:

  • 添加到 03-Tasks/Tasks.md 并附带来源链接
  • 生成适当的 ^task-YYYYMMDD-XXX 块 ID
  • 链接回原始会议笔记

每周回顾

/week-review 命令可以调用此工具以显示:

  • 本周做出的承诺
  • 需要关注的陈旧承诺
  • 需要行动的逾期项

注意事项

  • 此命令默认为只读(仅提取)
  • 修改(创建任务、更新页面)需要明确确认
  • 承诺检测使用启发式方法 - 可能有误报/漏报
  • 当对所有者有疑问时,在创建任务前请求澄清
  • 块 ID 支持会议和任务系统之间的双向链接