Community写作与编辑github.com

Vault Crystallize (知识库结晶)

Claude/代理技能,用于将进度检查点写入 Handoff.md,并将原始资料提炼成带引用和置信度评级的证据日志,存入由代理管理的知识库中。

Vault Crystallize (知识库结晶) 是什么?

Vault Crystallize 是一项专门用于 AI 代理(如 Claude Code、Cursor、Codex)的技能,旨在管理和维护代理工作区中的“知识库(Vault)”。它的核心功能是执行 `crystallize`(结晶)和 `distill`(蒸馏)两个命令。`crystallize` 命令用于将当前会话的关键状态、稳定结论和恢复点写入 `Handoff.md` 和 `llm-wiki/`,确保知识在不同会话和代理间持久化,并根据结论的复用范围(项目级或全局级)进行智能路由。`distill` 命令则专注于将具体的原始资料(如文件、文本、对话摘录)转化为结构化的、带有引用和置信度(高/中/低/未验证)的证据日志条目,严格区分事实证据与推理推断。该技能遵循清晰的数据契约,但自身是行为权威,避免了行为逻辑在协议文档中的重复。它还包含了严格的审查清单,用于验证 Handoff 和知识库条目的格式和一致性,并支持通过 PowerShell 脚本进行健康检查。此技能默认使用中文输出,但保留技术标识符的英文原样。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add WIHATN/vault-crystallize

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Vault Crystallize

此技能是知识库中 crystallize(结晶)和 distill(蒸馏)的行为权威。知识库协议是数据契约:

  • AGENTS.md 定义工作区边界、启动层级和写入权限。
  • global/agent-rules/handoff-protocol.md 定义 Handoff.md 的格式。
  • global/agent-rules/llm-wiki-protocol.md 定义 llm-wiki/ 的页面 schema、证据、矛盾、集成和健康检查。
  • global/agent-rules/llm-wiki-format.md 定义页面模板(当存在时)。

不要在协议中寻找 ## Crystallize 一节。如果旧版知识库中存在该节,则优先使用此技能定义行为,协议仅用于数据契约。

边界

专用触发器:

  • 结晶, 结晶一下, crystallize -> 仅在状态变化时,将恢复点和稳定的长期知识进行检查点保存。
  • 蒸馏, distill -> 将具体资料转化为带引用和置信度评级的证据条目。

请勿将此技能用于 neat-freak、深度审计、广泛的文档清理、内存同步,或生成一份精良的“结晶版”摘要,除非用户明确要求执行这些独立任务。单纯的 收尾、“wrap up”、整理一下和“sync my notes”都不是结晶触发器。

未安装此技能的代理是一个安装/更新问题,而不是将结晶行为复制回知识库协议的理由。除非用户明确要求执行安装工作,否则不要创建 .claude/skills、.agents/skills、junction 或每个代理的安装路径。

原生命令包装器位于 commands/ 和 commands/<agent>/ 目录下。共享的通用别名技能位于 skills/ 下;不要添加重复的别名 SKILL.md 文件到平台特定目录,因为 Codex 可能会递归发现它们两次。将所有此类文件视为显式调用适配器;在更新时,保持 SKILL.md 作为行为权威。

语言默认值

默认情况下,Handoff.md 和 llm-wiki/ 的内容使用中文编写。保持稳定的技术标识符(包括代码、命令、变量名、路径、API 名称、包名以及需要保留原始标题的资料来源)为英文。

仅在以下情况使用其他语言:用户明确要求、引用源材料,或已有的项目规则对当前单元有更具体指定。

命令:crystallize

  1. 识别当前单元:
    • 工作在 projects/<name>/ 下 -> 该项目。
    • 工作在 research/<name>/ 下 -> 该研究领域,除非子模块有自己的 Handoff.md。
    • 知识库治理或跨知识库规则 -> 根目录的 Handoff.md 和 global/llm-wiki/。
  2. 在声明当前项目状态之前,先读取当前单元的 Handoff.md。如果单元不明确,则读取根目录 Handoff.md 作为活动项目索引;如果仍不明确,则提出一个简洁的问题。
  3. 判断是否发生了实质性变化:
    • 恢复点发生变化 -> 更新当前单元的 Handoff.md。
    • 产生了其他线程需要长期了解的稳定结论 -> 更新匹配的现有 llm-wiki/ 页面。
    • 没有恢复点或长期知识发生变化 -> 不写入任何内容并说明原因。
  4. 在写入之前,根据复用范围路由每个稳定结论:
    • 自问:这个结论是否在明天另一个执行类似任务的项目中仍然成立且有用?是 -> 将通用事实写入匹配的 global/llm-wiki/<topic>.md 页面,并在项目 wiki 中仅保留特定于项目的应用细节和维基链接指针。不确定 -> 保持在项目级别(默认降级)。
    • 二选一原则:如果本次会话使用或重写了存在于其他项目 wiki 中的结论,则立即将其提升为全局主题页面。
    • 先读后写:先读取目标主题页面,如果存在相同主题的条目则合并到其中;切勿盲目追加。仅当没有现有主题适用时,才创建新的主题页面,并在同一次操作中更新 global/llm-wiki/index.md 中的 ## Triggers。
  5. 仅写入正确的层级:
    • Handoff.md 获取当前状态、活动文件、待解决问题、下一步行动和恢复上下文。
    • llm-wiki/ 获取稳定的决策、方法、陷阱、记忆、实体/概念或证据条目。
    • log.md 仅用于真正重大的知识操作,而不是常规的结晶操作。
    • 工具私有的内存、流程回放和代理缓存永远不会成为知识库权威。
  6. 如果 Handoff.md 包含 ## Tracks,在最终确定前扫描所有活跃的轨迹。保留非焦点轨迹,除非工作明确将其关闭。
  7. 在报告完成前,执行下面的审查清单。

命令:distill

仅在用户明确说出 distill、蒸馏,或要求将具体资料转化为可追溯证据时使用。

输入:

  • 来源:文件路径、粘贴的文本、获取的 URL 内容、笔记、PDF 或对话摘录。
  • 目标单元:从来源路径或当前任务推断;如果模棱两可,提出一个简洁的问题。
  • 目标位置:目标单元的 llm-wiki/evidence-log.md。

工作流程:

  1. 读取目标单元的 Handoff.md。
  2. 读取 global/agent-rules/llm-wiki-protocol.md 中的 ## Evidence Log 和 ## Pending Contradictions 部分。
  3. 将来源按顺序拆分为编号块 B1、B2、B3……。将原始的长篇资料保留在 sources/ 或 notes/ 中;llm-wiki/ 中仅放指针和简洁的证据。
  4. 将证据与推理分开。证据声明引用 (src: Bn)。推理声明需要注明其依赖的来源块。
  5. 为每个结论分配置信度:high(高)、medium(中)、low(低)或 unverified(未验证)。
  6. 如果新证据与现有 llm-wiki/ 存在矛盾,则遵循 ## Pending Contradictions 处理;不要静默覆盖。

证据条目格式:

### YYYY-MM-DD · <来源标题>
- **来源:** [[relative/source-or-note]]
- **原文块:**
  - B1: <简短的来源定位或摘录摘要>
  - B2: <简短的来源定位或摘录摘要>
- **证据结论:**
  - <声明> (src: B1) - confidence: <high|medium|low|unverified>
- **推断:**
  - <推理> (from: B1+B2) - confidence: <high|medium|low|unverified>
- **待验证:** <具体的验证需求, 或 `无`>

审查清单

Handoff 审查:

  • 完全符合 handoff-protocol.md 要求的章节;## Tracks 仅用于并行的活跃轨迹时为可选。
  • 如果存在 ## Tracks,则恰有一个轨迹带有 [focus]。
  • ## Last Done 最多有 4 个条目,按时间倒序排列,每个条目末尾带日期。
  • ## Next Actions 最多有 3 个具体的复选框项目。
  • ## Active Files 解释每个文件当前为何活跃,而非介绍文件是什么。
  • ## Decisions 包含指向 [[llm-wiki/decisions]] 或决策块 ID 的维基链接,或者写 None。
  • ## Resume 告诉下一个代理需要阅读什么以及应保持什么样的心智模型。

LLM wiki 审查:

  • 新增或重大改动的页面包含 llm-wiki-protocol.md 要求的前置元数据。
  • 页面类型与内容匹配:决策、方法、陷阱、记忆、证据、实体、概念、术语表或操作日志。
  • 新页面已从本地 llm-wiki/index.md 链接。
  • 声明带有置信度;证据声明指向来源。
  • 未解决的矛盾记录在指定位置,而非隐藏。
  • 跨项目可复用的结论已路由至 global/llm-wiki/ 主题页面;无事实跨层级重复(项目层保留应用详情和指针)。
  • 条目标题和字段集与 llm-wiki-format.md 中对应页面类型的模板一致:声明页面(方法/陷阱/主题)以稳定主题名称为键,事件页面(决策/证据/日志)以日期为键。
  • Markdown 表格内无别名化的维基链接。

行为审查:

  • 除非明确要求,否则不运行或调用 neat-freak。
  • 不扩大范围至文档清理、内存同步或格式整理。
  • 除非明确要求,否则不管理代理本地的技能安装。
  • 如果没有变化则不写入;报告“没有变化”是有效结果。

验证

当文件被创建、移动、重命名,或用户正在切换线程/代理时,在知识库根目录运行只读健康套件:

pwsh -NoProfile -File global/tools/vault-health.ps1
pwsh -NoProfile -File global/tools/vault-meta.ps1 -Audit
pwsh -NoProfile -File global/tools/vault-links.ps1

对于纯内容编辑,运行最相关的最小检查,并报告跳过了哪些。

常见失败模式

失败情况修正措施
“没有此技能的代理将无法结晶。”安装/更新分发可以解决此问题。不要将行为复制到协议中。
读取 llm-wiki-protocol.md ## Crystallize。停;此技能拥有 crystallize 行为的所有权。协议仅定义格式和健康检查。
将 收尾 或“清理文档”视为结晶。除非出现专用词语或明确的证据意图,否则不要触发。
将流程日志写入 llm-wiki/。那里只应存放稳定的结论。
追加内容到过时的 Handoff 列表。在文档规定的上限内重写滑动窗口。
对声明页面(方法/陷阱/主题)追加新的日期条目,而非合并。声明页面以主题为键:找到现有条目,原地重写,更新 updated / 验证于。

相关技能