用途
compile-knowledge 用于把持久、非显而易见的知识编译成许多小而互链的 Markdown 文件,并随时间累积、通过索引暴露出来,而不是写成一份巨型文档、聊天记录或一次性的 notes.md。它的目标是让智能体在某个会话中学到的东西,在下一个会话中仍可检索,而不必从头重新推导。
主要能力
- 将知识组织为原子文件:一个文件一个事实,两个不相关的事实就是两个文件。
- 使用 kebab-case 的 slug 命名文件,slug 即链接目标,需便于下一位读者猜测。
- 通过 [[slug]] 在相关条目之间建立链接;指向尚不存在文件的链接可作为 TODO 标记,不算错误。
- 维护索引:每个条目只占一行,格式为
- Title → slug.md — hook,约 200 字符以内,细节留在文件中。 - 通过 frontmatter 记录元数据:name(等于 slug)、一行 description(需足够具体以便召回时匹配)、type 或 category。
- 支持事实的“老化”字段(均可选、可移植,省略不影响):valid_to(需复查日期)、supersedes(被替代的旧事实 slug)、confidence(high|medium|low)、provenance(事实来源)。
使用方式
- 选择存储位置:遵循宿主/用户记忆保留策略与授权位置;本技能不授权未经请求的持久记忆写入。默认是智能体记忆(harness 已加载的 memory/ 文件夹,含 MEMORY.md 之类的索引文件);共享 wiki(wiki/ 文件夹含 wiki/index.md)用于整个团队会重复推导的知识,独自工作时可跳过。经验法则:“只有我会用到”放 memory,“团队任何人都可能需要”放 wiki,两者用 [[slug]] 交叉链接而非复制事实。
- 通过卫生门槛:只编译持久且非显而易见的事实。若可从仓库、git 历史或现有文档推导,或仅对本次对话成立,或已有文件覆盖,则跳过;最后一种情况应更新该文件。
- 写入前先搜索:grep 存储并浏览索引。近似重复比没有条目更糟,因为召回会出现两个答案而无法取舍。
- 写一个原子文件:一个事实一个文件,kebab-case slug 命名,frontmatter 含 name、一行 description、type/category;正文平实陈述事实,并大量用 [[slug]] 链接相关条目。
- 只加一行索引:若索引缺失则创建,否则存储不可发现。
- 让事实老化而非腐烂:对时间敏感或替代旧事实的内容,在 frontmatter 中标注 valid_to、supersedes、confidence、provenance。旧值仍有查看价值时优先用 supersedes 而非就地编辑;没有价值时就地编辑。
适用场景
- 刚产出研究、竞情、摘要或调查结果,准备关闭任务之前进行编译。
- 通过艰难方式学到非显而易见的事实(工具静默失败、测量与文档矛盾、无人记录的约束)。
- 用户说“保存这个”“写到 wiki”“更新记忆”“记录这个发现”“结构化这些知识”或“follow the karpathy method”。
- 不适用于例行工作:一次部署、重启或一行修复通常不产生持久内容,填充物会污染召回。
限制
- 本技能只组织知识,不验证知识。自信写下的错误事实会变成自信检索到的错误事实,因此应记录如何测量,而不只是结论。
- 检索质量受 description 行限制;描述含糊会让好条目无法被找到。
- 不替代针对具体环境的验证、测试或专家评审。
- 若存储位置或其索引文件不明确,应停下并请求澄清。
安全与安全说明
- 本技能会写入、编辑并偶尔删除 Markdown 文件。所有操作必须限制在知识库目录(智能体的 memory/ 文件夹或项目的 wiki/)内,绝不涉及源文件、配置或目录之外的任何内容。
- 删除被替代的条目具有破坏性且事后不可审查。旧值仍有审计价值时优先用 supersedes;删除非自己写的文件前需确认。
- 绝不把密钥、凭据、令牌或个人标识符编译进知识库。这些文件长期存在、频繁同步且常在团队内共享,应视同公开。只记录凭据的形态,绝不记录其值。
- 本技能不运行任何 shell 命令,也不自行发起网络请求。
常见陷阱
- 索引膨胀成存储的第二份副本:每个条目限制一行,细节交给文件;索引变长时收紧 hook 而非增加条目。
- 两个文件对同一事实描述略有差异,召回返回两者,读者都不信:合并到较旧的 slug 并删除较新的;第 3 步的搜索正是为此。
- 事实写入时为真、如今悄悄变假:写入时对时间敏感内容打上 valid_to,并在依据召回事实行动前验证其中提到的文件、标志或端点。
- 因为总觉得时机不对而从未编译:绑定到已有的边界——关闭任务前编译,而不是另排一项杂务。
相关技能
- @writing-skills:想把可重复流程打包成技能而非记录事实时使用。
- @deep-research:产出发现;本技能负责在会话结束后保留它们。