用途:维护技能目录的分类一致性。它把 skills/**/SKILL.md 中的每个技能判定为 user-invoked(用户显式触发)或 model-invoked(模型可按任务上下文自动调用),为 user-invoked 技能补上 disable-model-invocation: true,并为其注入 metadata.category。
主要能力:依据分类规则判定——已有 disable-model-invocation: true、描述含显式触发语(如 user explicitly、when the user says)、或仅由斜杠命令触发且无能力路由信号的判为 user-invoked;其余为 model-invoked,且倾向判为 model-invoked。为缺少标志的 user-invoked 技能在 description 行后添加该字段,但不移除已有标志;为每个技能补 category(user-invoked | model-invoked),保留其它元数据键。
使用方式:先只读分类产出完整映射,再编辑;随后运行 bun run format:skills:fix 规范化,并用文档中的 python3 统计脚本核验;最后 bun run build 并汇报计数、修改数与启动时节省的 token 估算。
适用场景:新增、重命名或删除技能后;重写技能描述后;评估技能目录启动 token 成本时;路由质量下降(模型调用了不该调用的技能)时。
限制:disable-model-invocation 是 Claude Code / Cursor / Pi 的扩展字段,非基础规范部分;文档指出被广泛引用的“63% 削减”仅在以窄范围斜杠工具为主的目录中可实现,此类能力丰富的目录通常仅省约 10–15% 启动路由 token,更大收益在路由质量。执行后应满足的不变量:每个技能都有 metadata.category;user-invoked 技能均有该标志;model-invoked 技能均无该标志。