mcpField
C
capture-triage

capture-triage

github.com/nicepkg生产力28859 次安装40 周前更新
代码仓库

关于 capture-triage

Capture Triage 将移动端捕获的笔记分类,并在用户确认后路由到 Ready 任务或项目、联系人记录,面向使用 Drafts Pro 与指定 Obsidian 工作区的个人工作流。它先展示分类预览,并保留来源链接;研究任务需经批准才会启动。

主要功能

  1. 01读取 Inbox 根目录中的笔记
  2. 02按意图分类捕获内容
  3. 03先预览再请求处理确认
  4. 04路由到 Ready、项目或联系人
  5. 05提取并保留来源链接
  6. 06获批后启动研究任务

适用场景

  1. 01将随手记录转成待办事项
  2. 02把研究请求交由研究流程处理
  3. 03把来源文章整理为带链接的复查任务
  4. 04为联系人和项目记录捕获的更新

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nicepkg/ai-workflow --skill capture-triage

安装后在 Claude Code 中输入/capture-triage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
.gitkeep
docs/
GUIDE.md
ROADMAP.md
references/
.gitkeep
resources/
.gitkeep
scripts/
.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 文件:

  1. 读取完整内容
  2. 从 frontmatter 中提取来源 URL(参见步骤 3b)
  3. 检测是否已处理(参见步骤 3a)
  4. 按意图分类(参见步骤 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: → IDEA
  • Research: → RESEARCH(触发 swarm 选项)
  • for [Project Name] → PROJECT_UPDATE
  • Task: 或 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:按分类路由

获得批准后,路由每条捕获内容:

分类目标位置格式
TASKReady- [ ] [action] (MM-DD)
IDEAReady- [ ] Consider: [idea] (MM-DD)
REFERENCEReady- [ ] 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 的项目:

  1. 打开今天的每日日志,路径为: /Users/eddale/Documents/COPYobsidian/MAGI/Zettelkasten/YYYY-MM-DD.md
  2. 找到 ## Ready 部分
  3. 使用 Edit 工具,按上述格式追加任务
  4. 不要添加到 ## 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:处理联系人

当捕获内容提及某人且包含行动背景时:

  1. 检查是否存在 CONTACT - [Name].md
  2. 如果存在:追加到 ## Interactions 部分
  3. 如果是新联系人:使用模板创建联系人笔记
  4. 始终在 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.02025-01-05初始版本,名为 inbox-triage
2.02025-01-05更名为 capture-triage,新增试运行、AskUserQuestion 流程,并将所有路由指向 Ready
2.12026-01-06文件夹 Captures 更名为 Inbox,将步骤 5 拆分为两步预览,明确 Ready 区域的路由方式,分类任务可在后台执行
2.22026-01-12新增要求:Review 任务必须包含来源链接(URL 或 wikilink)。新增步骤 3b,从 frontmatter 中提取 URL(尤其是 x-bookmark tweet_url)

备注与经验

  • 第 1 天测试处理了 32 条捕获内容并积压了一些任务——试运行避免了工作量过大
  • [PROCESSED] 检测有助于避免对已总结的内容重复研究
  • 仅在主动选择时启用 research-swarm,可避免 Agent 无节制地生成
  • 不含链接的 Review 任务毫无用处——Ed 找不到要审核的内容(v2.2 新增)

评论

支持 Markdown