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]"
所有者检测规则:
- 会议中已知参与者的第一人称语言 = 会议所有者/作者
@[[Person]]或@Person:= 该人员- “Action for [Name]:” 后的文本 = 该人员
- 如果模糊,标记为 “未知 - 需要澄清”
截止日期检测:
- 查找:
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:交叉参考完成情况
检查承诺是否已完成:
- 任务文件检查: 在
03-Tasks/Tasks.md中搜索匹配的块 ID 或类似任务文本 - 会议后续检查: 在后续会议笔记中查找 “completed”, “done”, “finished” 提及
- 个人页面检查: 检查引用的人员页面以获取任务完成情况
如果找到证据,标记为 completed。
步骤 6:按范围过滤
如果指定了 person:Name 范围:
- 包括所有者 = Name 的承诺
- 包括接收者 = Name 的承诺
- 包括文本中提及 Name 的承诺
如果指定了 overdue 范围:
- 仅包括状态为
overdue或aging的承诺
步骤 7:生成输出
默认输出 - 按人员分组:
# 承诺跟踪器
*生成于: [YYYY-MM-DD HH:MM]*
*范围: [应用的范围]*
*扫描的会议: [计数]*
---
## 摘要
| 状态 | 计数 |
|--------|-------|
| 逾期 | X |
| 陈旧 (>7 天) | X |
| 新 | X |
| 已完成 | X |
| **总未完成** | **X** |
---
## 按所有者
### [[人员姓名]]
**逾期:**
| 承诺 | 向 | 截止日期 | 来源会议 |
|------------|-----|----------|----------------|
| [承诺文本] | [接收者] | [日期] | [[会议链接]] |
**陈旧:**
| 承诺 | 向 | 天数旧 | 来源会议 |
|------------|-----|----------|----------------|
| [承诺文本] | [接收者] | [N] | [[会议链接]] |
**最近:**
| 承诺 | 向 | 截止日期 | 来源会议 |
|------------|-----|----------|----------------|
| [承诺文本] | [接收者] | [日期/无] | [[会议链接]] |
---
### [[其他人员]]
...
---
## 对你做出的承诺
| 来自 | 承诺 | 截止日期 | 状态 | 来源 |
|------|------------|----------|--------|--------|
| [[人员]] | [文本] | [日期] | [状态] | [[会议]] |
---
## 需要关注
### 逾期(已过截止日期)
1. **[承诺文本]**
- 所有者: [[人员]]
- 截止日期: [日期] (X 天逾期)
- 来源: [[会议 - 日期]]
- 建议操作: 跟进或标记完成
### 陈旧(无响应 >7 天)
1. **[承诺文本]**
- 所有者: [[人员]]
- 自承诺以来的天数: X
- 来源: [[会议 - 日期]]
- 建议操作: 检查状态或创建任务
---
## 最近完成
| 承诺 | 所有者 | 完成于 | 来源 |
|------------|-------|-----------|--------|
| [文本] | [[人员]] | [日期] | [[会议]] |
替代输出 - 按状态分组(使用标志 --by-status):
首先分组所有逾期,然后陈旧,然后新。
步骤 8:可选操作
呈现结果后,提供:
- 创建任务: “您希望我在
03-Tasks/Tasks.md中为任何未完成的承诺创建任务吗?” - 更新个人页面: “我应该将这些承诺添加到相关的人员页面吗?”
- 标记完成: “有任何已经完成的吗?告诉我哪些要标记完成。”
- 设置截止日期: “想为没有截止日期的承诺添加截止日期吗?”
步骤 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 支持会议和任务系统之间的双向链接