关于 capture-triage
Capture Triage 将移动端捕获的笔记分类,并在用户确认后路由到 Ready 任务或项目、联系人记录,面向使用 Drafts Pro 与指定 Obsidian 工作区的个人工作流。它先展示分类预览,并保留来源链接;研究任务需经批准才会启动。
主要功能
- 01读取 Inbox 根目录中的笔记
- 02按意图分类捕获内容
- 03先预览再请求处理确认
- 04路由到 Ready、项目或联系人
- 05提取并保留来源链接
- 06获批后启动研究任务
适用场景
- 01将随手记录转成待办事项
- 02把研究请求交由研究流程处理
- 03把来源文章整理为带链接的复查任务
- 04为联系人和项目记录捕获的更新
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nicepkg/ ai-workflow --skill capture-triage安装后在 Claude Code 中输入/capture-triage确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/.gitkeepdocs/GUIDE.mdROADMAP.mdreferences/.gitkeepresources/.gitkeepscripts/.gitkeep详细介绍
捕获分流
功能说明
将移动端捕获的内容转换为 Ready 队列中可执行的任务。每条捕获内容都有其 意图——此技能会明确意图,以便 task-clarity-scanner 判断哪些内容重要。
适用对象
Ed——全天通过 Drafts Pro 快速记录想法。
理念
每条捕获内容都有其意图。将其分流到 Ready,再让 task-clarity-scanner 决定哪些内容 移至 Someday/Maybe。
不做被动归档。每条捕获内容都会成为一个决策点。
路径
Inbox: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/
Processed: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/Processed/
Daily note: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md
Projects: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - *.md
Contacts: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/CONTACT - *.md
重要:名称说明
| 术语 | 含义 |
|---|---|
| Inbox 文件夹 | /Zettelkasten/Inbox/——Drafts Pro 发送移动端笔记的位置 |
| Captures 区块 | 日记中的 ## Captures——链接到当天创建的文档 |
| Ready 目标区块 | 日记中的 ## Ready 区块——分流后任务的去处 |
**请记住:**此技能从 Inbox 文件夹读取内容,并将其分流到 Ready 区块。 任务只进入 Ready 区块——Captures 区块用于存放文档链接。
操作说明
步骤 1:检查 Inbox 文件夹(仅根目录)
**重要:**只检查 Inbox/ 目录中的文件,不检查子目录。
ls /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/Inbox/*.md 2>/dev/null
如果没有找到文件:报告“没有待处理的捕获内容”并停止。 如果找到文件:继续执行步骤 2。
步骤 2:加载上下文
从 mission-context 技能中获取活跃项目名称,并且:
Glob: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/PROJECT - *.md
建立项目名称列表以供匹配。
步骤 3:读取并分类每条捕获内容(可在后台进行)
**此步骤可以在后台运行。**在向用户展示内容之前,先读取并分类所有捕获内容。
对于 Inbox 中的每个 .md 文件:
- 读取完整内容
- 从 frontmatter 中提取来源 URL(参见步骤 3b)
- 检测是否已处理(参见步骤 3a)
- 按意图分类(参见步骤 4)
只有在读取并分类完所有文件后,才向用户展示内容。
步骤 3b:提取来源 URL
对于 x-bookmark 文件(文件名以 x- 开头):
- 从 YAML frontmatter 中读取
tweet_url - 分流到 Ready 时必须包含此 URL
对于包含 URL 的其他捕获内容:
- 检查 frontmatter 中是否有
url:、source_url:或link: - 检查正文中是否有 Markdown 链接
[text](url) - 保留找到的任何 URL,以供分流步骤使用
步骤 3a:检测已处理的内容
如果捕获内容看起来像摘要(有结构、标题、引用来源):
- 标记为
[PROCESSED] - 建议将其作为 REFERENCE 分流
- 不提供 research-swarm 选项(内容已研究过)
已处理内容的信号:
- 有 Markdown 标题(##、###)
- 包含结构化信息的项目符号列表
- 引用或注明其他来源
- 看起来像视频或文章的笔记
步骤 4:对每条捕获内容进行分类
**优先级规则:**行内提示优先于自动检测。先检查以下提示:
IDEA:或Idea:→ IDEAResearch:→ RESEARCH(触发 swarm 选项)for [Project Name]→ PROJECT_UPDATETask:或TODO:→ TASK
自动检测(没有行内提示时):
| 信号 | 分类 |
|---|---|
| 以动词开头(call、email、buy、check、send、schedule) | TASK |
包含 Research: 提示或需要调查的明确问题 | RESEARCH |
| “What if...” 或推测性语言 | IDEA |
| 提及活跃项目名称 | PROJECT_UPDATE |
| 人名 + 行动背景 | CONTACT |
| 链接、文章、已保存内容、观察记录 | REFERENCE |
步骤 5:显示分类预览(两步模式)
**两步模式:**先显示预览表,再通过单独的一条消息询问如何处理。 先让用户了解信息,再询问他们要怎么做。
步骤 5a:呈现表格
展示找到的内容。先让用户了解信息:
## Capture Triage Preview
Found [N] captures. Here's how I've classified them:
| # | File | Preview | Classification | Suggested Routing |
|---|------|---------|----------------|-------------------|
| 1 | note1.md | "Call dentist..." | TASK | Ready: Call dentist (MM-DD) |
| 2 | note2.md | "What if we..." | IDEA | Ready: Consider: [idea] (MM-DD) |
| 3 | summary.md | [PROCESSED] "Article about..." | REFERENCE | Ready: Review: [title] (MM-DD) |
| 4 | question.md | "Research: how do..." | RESEARCH | Spawn research-swarm? |
**在此暂停。**先让用户查看并了解表格内容,再询问他们如何决定。
步骤 5b:询问决定
显示表格后,使用 AskUserQuestion 提出一个问题:
How would you like to proceed?
1. **Approve all** - Route everything as shown
2. **Go one-by-one** - Review each item individually
3. **Modify** - Change specific classifications before routing
4. **Skip all** - Don't process any captures right now
要点:
- 对已总结的内容显示 [PROCESSED] 标记
- 在预览表格中列出 RESEARCH 项,并提供启动选项——启动前需用户批准
- 任何更改前,都让用户选择批准、修改或跳过
步骤 6:按分类路由
获得批准后,路由每条捕获内容:
| 分类 | 目标位置 | 格式 |
|---|---|---|
| TASK | Ready | - [ ] [action] (MM-DD) |
| IDEA | Ready | - [ ] Consider: [idea] (MM-DD) |
| REFERENCE | Ready | - [ ] Review: [linked title](URL) - brief context (MM-DD) |
| RESEARCH | 如果获批:启动 Agent | 参见步骤 7 |
| PROJECT_UPDATE | 项目文件 | 带时间戳地追加到 ## Context Gathered |
| CONTACT | 创建笔记 + Ready | - [ ] Follow up with [Name] (MM-DD) |
重要:审核任务必须包含链接。
对于 REFERENCE 项,始终包含来源链接,以便 Ed 查找:
- X 书签:
[Title](https://x.com/author/status/ID) - 文章:
[Article Title](URL) - Obsidian 文档:
[[Document Name]] - YouTube:
[Video Title](URL)
如果捕获内容没有 URL,但引用了外部内容,请注明:(source needed)
编辑说明:
对于每个路由到 Ready 的项目:
- 打开今天的每日日志,路径为:
/Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md - 找到
## Ready部分 - 使用 Edit 工具,按上述格式追加任务
- 不要添加到
## Captures——该部分仅用于存放文档链接
Edit 操作示例:
old_string: "## Ready\n- [ ] existing task"
new_string: "## Ready\n- [ ] existing task\n- [ ] [new task from capture] (01-06)"
**如果要创建 PROJECT 或 CONTACT 文件:**这些文件需要单独创建,并在 Ready 中添加指向它们的链接作为任务(例如:- [ ] [[PROJECT - Name]] - brief desc)。
步骤 7:处理研究(仅在用户提出要求时)
仅在满足以下条件时启动 research-swarm:
- 用户在步骤 5 的预览期间明确批准
- 捕获内容带有
Research:行内提示,且用户已确认
对于每个获批的 RESEARCH 项:
Task(
description="Research: [Topic]",
prompt="Research question: [Full capture content]
Use research-swarm pattern to investigate. Save findings to Zettelkasten.
When complete, add review task to Ready: '- [ ] Review: [[Research - Topic]] (MM-DD)'",
subagent_type="research-swarm",
run_in_background=true
)
在每日日志中添加占位项:
- [RESEARCH] [Topic] - swarm running in background
步骤 8:处理联系人
当捕获内容提及某人且包含行动背景时:
- 检查是否存在
CONTACT - [Name].md - 如果存在:追加到
## Interactions部分 - 如果是新联系人:使用模板创建联系人笔记
- 始终在 Ready 中添加后续跟进任务
联系人笔记模板:
---
type: contact
created: YYYY-MM-DD
source: capture-triage
---
# [Person Name]
## Context
[Original capture content]
## Interactions
- YYYY-MM-DD: Initial capture - [summary]
## Follow-up
[Any implied next steps]
步骤 9:移至 Processed
路由每条捕获内容后:
mv "[Inbox file]" "[Processed folder]"
将文件移至 Inbox/Processed/,作为安全措施(保留原件)。
步骤 10:生成分流摘要
## Capture Triage - YYYY-MM-DD HH:MM
**Processed:** N items | **Research spawned:** M (if any)
### Routed to Ready
- [N] tasks
- [N] ideas (Consider:)
- [N] references (Review:)
### Research Running
- [Topic] - spawned at HH:MM
### Actions Taken
- Moved N files to Inbox/Processed/
- Created CONTACT - [Name].md (if any)
- Updated PROJECT - [Name].md (if any)
示例
示例 1:试运行预览
收件箱文件夹包含 4 个文件:
1. "Call dentist Monday about cleaning"
2. "What if we did a 5-day hook challenge?"
3. [PROCESSED] "Summary of Karpathy video - 6 paradigm shifts..."
4. "Research: how do successful coaches use AI?"
技能显示:
## Capture Triage Preview
| # | Capture | Classification | Suggested Action |
|---|---------|----------------|------------------|
| 1 | "Call dentist..." | TASK | → Ready: "Call dentist Monday (01-05)" |
| 2 | "What if we..." | IDEA | → Ready: "Consider: 5-day hook challenge (01-05)" |
| 3 | [PROCESSED] "Summary of Karpathy..." | REFERENCE | → Ready: "Review: [Karpathy video](URL) - 6 paradigm shifts (01-05)" |
| 4 | "Research: how do coaches..." | RESEARCH | → Spawn research-swarm? |
Approve all, modify, or skip items?
示例 2:批准后
用户批准所有项目,包括为 #4 启动 research-swarm。
结果:
- Ready 中新增 3 个任务 + 1 个研究占位项
- research-swarm 在后台启动
- 所有 4 个文件都移至 Processed/
- 已生成摘要
指南
- 分两步预览——先显示表格,再询问决定(分开发送消息)
- 放入 Ready,而非 Captures——所有分流后的项目都作为任务放入
## Ready部分 - 默认试运行——路由前始终先显示预览
- 遵循行内提示——行内提示优先于自动检测
- research-swarm 需主动选择——启动前先询问
- [PROCESSED] 内容——标记摘要,并建议按 REFERENCE 路由
- 所有内容都放入 Ready——由 task-clarity-scanner 处理优先级排序
- 保留原件——将文件移至 Processed/ 文件夹作为安全措施
- 审核任务需要链接——始终包含来源 URL 或维基链接,以便 Ed 查找内容
版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| 1.0 | 2025-01-05 | 初始版本,名为 inbox-triage |
| 2.0 | 2025-01-05 | 更名为 capture-triage,新增试运行、AskUserQuestion 流程,并将所有路由指向 Ready |
| 2.1 | 2026-01-06 | 文件夹 Captures 更名为 Inbox,将步骤 5 拆分为两步预览,明确 Ready 区域的路由方式,分类任务可在后台执行 |
| 2.2 | 2026-01-12 | 新增要求:Review 任务必须包含来源链接(URL 或 wikilink)。新增步骤 3b,从 frontmatter 中提取 URL(尤其是 x-bookmark tweet_url) |
备注与经验
- 第 1 天测试处理了 32 条捕获内容并积压了一些任务——试运行避免了工作量过大
- [PROCESSED] 检测有助于避免对已总结的内容重复研究
- 仅在主动选择时启用 research-swarm,可避免 Agent 无节制地生成
- 不含链接的 Review 任务毫无用处——Ed 找不到要审核的内容(v2.2 新增)