用途:这是 easy-cheese 仓库的技能编写规范,供新增或修订技能的人参考,统一描述写法、体积控制与发布检查。
主要能力与规则: 描述规则(CSO):描述是模型选择技能时唯一看到的内容,应服务触发而非解释。格式为第一句写能力,第二句写“Use when [触发条件]”,不写工作流摘要、流程位置说明或功能清单,否则模型会只读描述而不读正文。要求最多 1024 字符,第三人称现在时,触发条件使用用户可能说出的具体措辞。
体积预算:SKILL.md 正文(不含 frontmatter)按 3600 估算 token 为上限,约 150 行。CI 通过 .github/scripts/validate_skills.py 执行只减不增的棘轮校验,基线记录在 .github/skill-budgets.json,用 just update-skill-budgets 重新生成。超出上限的技能被祖父条款冻结在记录值,只能缩减。细枝末节(子流程、参考表、提示模板、大段示例)应放入 references/*.md,并在正文中用链接指明何时阅读,否则只是把 token 转移出可见预算。
纪律段落:约束流程的技能在正文写 ## Discipline 段落,或正文已达预算时放进 references/<skill>-discipline.md。用一句话说明规则,列出规则将被违反的可观察信号,写明必须采取的动作,仅对实践中出现的合理化辩解加反驳表。
编写评审清单:触发词存在;不含时效信息(版本号、日期定价、会失效的 API 端点);至少一个具体示例;引用只一层深(正文指向 references/*.md,这些文件不再链向自己的子引用);纪律段落简短;技能目录出现在 .claude-plugin/plugin.json 的 skills 数组中,由 tests/python/test_plugin_manifest.py::test_claude_plugin_manifest_matches_top_level_skills 强制校验。
压力测试优先门禁:技能未经失败基线子代理运行不得发布。先构造代表性压力场景,在技能未启用时运行子代理获取基线,找出具体失败点,据此撰写正文,再启用技能复跑确认失败被纠正。
disable-model-invocation frontmatter:候选特性,尚未应用。纯提示技能可在 frontmatter 设 disable-model-invocation: true,校验脚本已允许该键,但需先确认 harness 行为,状态为 candidate-pending-harness-verification。
限制:资料未提供官方页面、安装命令、收费或平台支持信息。