mcpField
I
ingest

ingest

github.com/kriscard其他1552 次安装1 天前更新
代码仓库

关于 ingest

ingest 是用于归档单条来源并将其关联到现有 Atomic Note 或经用户确认的新模板的 Vault 工作流 Skill。它要求先讨论并获批再写入,说明性内容则留给用户撰写。

主要功能

  1. 01一次处理一条来源
  2. 02将想法与现有 Atomic Note 比对
  3. 03保留原始来源及出处信息
  4. 04添加范围明确的 Resource 反向链接
  5. 05在 index 与 log 中登记变更

适用场景

  1. 01将 Inbox 项目归档到 Vault
  2. 02归档外部 URL 或文件
  3. 03将来源关联到相关 Atomic Note
  4. 04创建经确认、供用户撰写的笔记模板

安装

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

$npx skills add https://github.com/kriscard/skills --skill ingest

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

附带文件references/advanced-workflows.md

详细介绍

摄取

将一个原始来源归档,并将其关联到一个 Atomic Note,供用户撰写。对于同一连贯想法,复用现有笔记;只有当想法不同,才创建脚手架。保留 Karpathy LLM Wiki 的各层,不要代替用户写下他们的理解。

一般分流使用 process-inbox,可复用的对话知识使用 create-note,会话回顾使用 save-session。

1. 确定并阅读一个来源

先阅读 ../vault/SKILL.md 和当前的 AGENTS.md。使用用户提供的文件或 URL。否则,列出由架构定义的原始 Inbox,并请用户选择一项。阅读完整来源;必要时直接获取 URL 内容。记录该原始来源是否已存在于知识库中,或是否需要从外部 URL 或文件归档。

除非用户明确要求逐项重复处理,否则不要批量处理整个 Inbox。

完成条件:已确定一个来源、其类型和出处,以及其原始来源归档状态,并已阅读其内容。

2. 写入前先讨论

先搜索根目录中的 index.md,查找有关联的 Wiki 页面。目录信息不明确,或相关内容可能只出现在页面正文中时,使用 qmd。阅读可能相关的页面,不要仅根据搜索摘要进行推断。

根据范围而非标题,将来源中的想法与可能相关的 Atomic Notes 进行比较。原子性取决于想法,而非来源:

  • **同一连贯想法:**建议复用现有笔记,只添加新的 Resource 反向链接。来源、作者、框架或示例不同,都不足以成为创建重复笔记的理由。
  • **不同的可复用想法或问题:**建议创建新的脚手架,并将其链接到 Resource。
  • **边界不明确:**展示最接近的现有笔记,并询问这个想法是否属于该笔记。

展示:

  1. 两到三个重要想法,仅供讨论;
  2. 最接近的现有 Atomic Note,以及说明它与该想法相同或不同的理由;
  3. 值得注意的矛盾或不确定之处;
  4. 原始来源的目标位置、建议使用的现有或新建 Atomic Note 目标、反向链接,以及索引或日志的变更。

等待用户确认来源目标位置和 Atomic Note 目标。必须进行讨论,但除非用户明确要求另行写入,否则讨论内容只保留在对话中。

完成条件:用户已批准原始来源的目标位置,以及现有 Atomic Note 或新脚手架的标题。

3. 准备原始来源

在批准的写入集中包含一项原始来源操作:

  • **Inbox 来源:**将其原样移动到架构定义的不可变来源目录。
  • **外部 URL 或文件:**在架构定义的不可变目录中创建原始来源文件。保留获取到的原始内容或文字记录、规范 URL、标题、作者或出版方(若已知)、获取日期和来源类型。若原始内容不可用,应标明不可用,不要用摘要替代。
  • **已归档来源:**保持不变并确认其路径。

归档后,将来源视为不可变。如果归档失败,保留原件,并在创建 Atomic Note 之前停止。

完成条件:一个原始来源已有获批的目标位置和准确的反向链接标题。

4. 准备 Atomic Note 目标

使用用户批准的目标:

  • **现有笔记:**保留所有现有内容,并提出一项范围明确的更改:在相关笔记部分添加一个指向已归档 03 - Resources/* 笔记的普通 wikilink。如果该确切链接已存在,则保持笔记不变。不要为同一个想法创建另一篇 Atomic Note。
  • **新笔记:**读取当前的 Atomic Note 模板,并确认目标位置不存在该笔记。使用模板创建一份由用户撰写的空白框架。只填写标题和日期字段,其余提示词、别名和标签保持不变,并在模板的相关笔记部分添加一个指向已归档 Resource 笔记的普通 wikilink。

由用户撰写说明、示例、联系、问题、标签和别名。Atomic Note 不得包含新的摘要、主张、标题、评论、关系说明、Agent 所有权元数据或由 Agent 撰写的文本。不要创建单独的 Agent 所有综合页面,也不要在 ingest 期间扩充笔记正文。

完成标准:现有笔记中有一个获批的 Resource 反向链接,或新建的空白框架仅在已填写字段和该反向链接上与当前模板不同。

5. 预览并安全写入

修改知识库之前,先展示完整的写入清单:原始来源操作、确切且范围明确的 Atomic Note 更改、任何必需的目录条目,以及摄取日志条目。获得批准后:

  1. 归档并验证原始来源;
  2. 通过 vault 安全写入流程创建新的空白框架,或在获批的现有笔记中添加反向链接,并考虑自动插入模板的情况;
  3. 重新读取 Atomic Note,并验证该反向链接是唯一由摄取操作添加的内容;
  4. 在根目录 index.md 的来源部分下登记 Resource;
  5. 对于新建的空白框架,将其登记在 指向人工笔记的反向链接 下,绝不要登记在 概念笔记 下;保留现有笔记当前的目录位置,并避免重复条目;
  6. 在根目录 log.md 中追加一条摄取操作记录,并验证登记结果;
  7. 运行 obsidian open path="<vault-relative Atomic Note path>",让获批的 Atomic Note 成为当前活动笔记,供用户立即撰写。

切勿将生成的 Markdown 插入 shell 命令。除获批的反向链接外,保留人工维护的页面、已归档且不可变的来源,以及现有的 Knowledge 页面。打开笔记是最后一步。如果 Obsidian 或其 CLI 不可用,则保留已完成的摄取,并报告用户应打开的确切笔记路径。

完成标准:已验证的不可变来源、复用的笔记或仅基于模板创建的空白框架、目录条目和日志条目均已存在,并且 Atomic Note 已在 Obsidian 中打开;所有部分失败均已明确说明。

参考资料

优先级何时加载参考资料
1 — 高创建相互关联的页面,或使用块引用和别名时references/advanced-workflows.md

评论

支持 Markdown