majiayu000/capability-distill
能力蒸馏工作流——从用户批准的强模型访谈或真实任务轨迹中提取非显然的判断规则,形成可审计的 judgment packet,再交给 skill-audit 和 skill-creator 决定是否落成可加载 skill。当用户说“蒸馏这个模型的判断力”“把这次任务的关键决策固化下来”“模型窗口要关了,保留它在某类场景的判断”时使用。普通流程文档、直接写 SKILL.md、泛化最佳实践或未授权的会话日志扫描不使用本 skill。
npx skills add https://github.com/majiayu000/spellbook --skill capability-distill
把“为什么在两个合理选项中选择其中一个”提取成证据支持的判断规则。不要把操作步骤、通用建议或原始会话内容换个格式包装成 skill。
capability-distill:选择获准证据、还原决策事件、提取判断规则、输出 judgment packet。skill-audit:判断这些规则是否值得成为 skill、归属哪个现有 skill、是否重复以及如何分层。skill-creator:创建或修改具体的 SKILL.md、设计 with-skill/baseline eval、迭代和验证触发描述。skill-lifeguard:当产物属于高影响工作流时补可靠性契约和漂移修复闭环。不要在本 skill 中复制后三者的完整写作、注册或评测流程。目标是提供它们可消费的高信号输入。
rule_id 回写到下一轮 judgment packet,而不是只改措辞。在读取额外材料前记录以下字段:
source_scope:
approved_roots: []
approved_artifact_types: []
external_model_destination:
raw_content_authorized: false
output_path:
当前对话和用户本次明确附带的文件可直接使用。其他路径、历史日志和 memory 不因“可能有帮助”而自动进入范围;缺少批准时先询问并暂停对应读取。
执行以下数据纪律:
~/.claude、~/.codex 或任何固定运行时路径存在。使用用户给出的路径、当前工作区和当前运行时可用的搜索工具。先区分对象:
skill-audit / skill-creator,不做判断蒸馏。对候选场景记录 judgment_density、evidence_strength 和 existing_coverage(high / medium / low)。只保留判断密度高、证据至少中等且现有覆盖不完整的场景。
从获准证据中提取事件摘要,而不是复制原文。每个事件至少包含:
decision_event:
evidence_ref:
context:
viable_options: []
chosen_option:
observed_signal:
outcome:
counterfactual:
redactions_applied: []
evidence_ref 使用本地、非敏感的定位信息,例如仓库相对路径和 commit SHA;不要把原始聊天文本塞进该字段。没有 outcome 的事件只能作为假设,不能升级为高置信规则。
在写任何 judgment_rule 前,先在 source_scope 获准的 roots 或已附 inventory 内搜索现有 rules、skills、registry 和相近 owner;先查索引和元数据,再读最可能相关的最小片段。没有获准的 owner 根目录或清单时,先请求范围并暂停规则起草,不能把“未提供”当作“无覆盖”。
每个候选场景记录 searched_roots、queries、candidate_owners、逐 owner 的 coverage / evidence_ref、uncovered_gap 和 decision:
covered:停止起草,不生成新规则。partial:只允许为明确的 uncovered_gap 起草增量,默认更新现有 owner。uncovered:才可进入新规则候选;仍须在交付前完成逐规则归属复核。该记录是进入下一步的硬 gate。后面的 skill-audit 复核不能替代这次写作前审计。
窗口蒸馏时,对每个脱敏场景逐个询问强模型:
轨迹蒸馏时,围绕已有事件回答相同问题,并比较成功与失败轨迹。不要让模型“一次写完整指令体系”;那会掩盖证据和规则之间的映射。
每条规则使用以下结构:
judgment_rule:
rule_id:
scenario:
observable_signal:
default_action:
exception:
stop_or_escalate:
evidence_refs: []
confidence:
open_questions: []
规则不得包含源材料中的秘密值或大段原文。confidence 由证据数量、结果可观察性和反例覆盖决定;单一无结果片段不能标 high。
逐条运行三关,并记录被删除的 rule_id 与原因:
规则通过三关仍需具备 observable_signal、exception 和 stop_or_escalate;缺一项就返回提取阶段,不用“按情况判断”填空。
把通过前置重叠审计和三关过滤的 packet 交给 skill-audit,要求它对每条规则复核:existing_owner、coverage、recommended_home。完整覆盖的规则删除;部分覆盖的规则优先更新原 skill;只有明确无归属的高信号规则才进入新 skill brief。
用户要求可加载 skill 时,再调用 skill-creator:
SKILL.md 所在目录下的 evals/evals.json 作为最低测试集(从 skill 根解析,不从当前仓库根解析),并为目标领域增加真实、脱敏场景。skill-lifeguard 检查负例、checkpoint、done condition、replay hook 和 drift signal。来源强模型或日常目标模型升级时,不直接覆盖旧 packet 或 skill。先复用原先获准的 source_scope、场景清单、decision_event 和 eval;新增证据仍需单独批准。把旧版和候选新版并列保存,并记录可验证的来源标签、模型版本和日期;未知字段留空。
按稳定的 rule_id 做逐条 diff;旧版没有稳定 ID 时,使用 scenario + observable_signal 对齐。每条差异标为 unchanged、refined、added 或 removal_candidate,并附证据、行为影响和未决问题。diff 只是审计产物,不自动证明新版更好,也不授权删除或覆盖。
removal_candidate。skill-audit / skill-creator;经用户确认后更新原 owner,不另建同场景 skill。保留旧版本或 commit 作为 rollback,不自动删除历史产物。packet_only 仅在以下条件全部满足时完成:
source_scope 已记录,所有读取和外部发送均在批准范围内。decision_event,并具有信号、默认动作、例外和停止/上抛条件。open_questions。skill-audit 已给出保留、更新现有 skill 或不创建的归属结论。skill_delivery 还必须满足:
skill-creator 的真实 with-skill/baseline eval 已运行并保存结果。Take majiayu000/capability-distill from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.