关于 distill
distill 是用于整理 Agent 指令文件的技能,可将规则提取为结构化数据,再组合成策略并生成图表。它以可分阶段续跑的流程,帮助维护者审查或重构不断扩大的规则集。
主要功能
- 01将指令提取为 JSONL
- 02通过策略代数组合规则
- 03生成决策图表
- 04支持分阶段续跑
适用场景
- 01审查 AGENTS.md 中的规则
- 02准备重构规则系统
- 03精简大型指令文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ camacho/ ai-skills --skill distill安装后在 Claude Code 中输入/distill确认已加载。
详细介绍
/distill
将 Agent 指令文件提炼为结构化的指令,使用策略代数进行组合,并将规则系统可视化。三阶段流水线。
用法
/distill # full pipeline on default files
/distill ai-workspace/rules/*.md # specific targets
/distill --stage imperatives # run only extraction
/distill --stage compose # run only policy algebra (requires prior extraction)
/distill --stage visualize # run only visualization (requires prior composition)
流水线
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ /imperatives │────▶│/policy-algebra│────▶│ /visualize │
│ extract │ │ compose │ │ render │
└─────────────┘ └──────────────┘ └─────────────┘
│ │ │
JSONL file Starlark block Mermaid diagrams
阶段 1 — 提取(/imperatives)
- 使用目标文件调用
/imperatives(或使用默认文件:ai-workspace/rules/*.md+AGENTS.md)。 - 将输出保存到
ai-workspace/research/<name>-imperatives.jsonl。 - 展示摘要(数量、级别细分、范围细分)。
询问用户:“在组合前检查提取结果吗?(y/continue)”
- 如果是:展示 JSONL 供其检查,等待反馈,并根据需要重新提取。
- 如果继续:进入阶段 2。
阶段 2 — 组合(/policy-algebra)
- 将 JSONL 投影为自然语言项目符号:
<level>[ NOT] <subject> <predicate>[ when <when>]— 每条指令对应一个项目符号。 - 使用投影后的项目符号调用
/policy-algebra。 - 将 Starlark 组合结果保存到
ai-workspace/research/<name>-policy.md。 - 展示提取出的结构(决策函数、分支点)。
阶段 3 — 可视化(/visualize)
- 针对 Starlark 输出中的每个主要决策函数,调用
/visualize。 - 内容形式通常为图(决策树)→ Mermaid 流程图。
- 将图表追加到策略文档。
命名
<name> 标识默认使用当前日期 + "distill"(例如:2026-05-04-distill)。使用 --name <slug> 覆盖。
输出
所有产物均存放在 ai-workspace/research/:
<name>-imperatives.jsonl— 结构化提取结果<name>-policy.md— Starlark 组合结果 + 图表
失败模式
| 条件 | 行为 |
|---|---|
| /imperatives 未找到任何指令 | 报告并停止。组合空输入毫无意义。 |
| /policy-algebra 不可用 | 跳过阶段 2,并发出警告。阶段 3 仍可直接将 JSONL 可视化。 |
| 用户在阶段之间中断 | 保留已完成阶段的产物。使用 --stage 恢复。 |
适用场景
- AGENTS.md 或 rules/ 超过大小阈值,需要精简
- 对 Agent 指令文件进行重大重组之前
- 审计实际存在的规则,与预期进行核对
- 作为修改规则系统的计划输入
评论
支持 Markdown