用途:在 skills/<name>/ 目录下以评估优先(eval-first)方式构建一个生产级 Agent Skill,或改进仓库中已有技能。开始前每个会话需阅读 docs/skill-authoring.md 与 docs/evals.md,它们是该工作流执行的规则手册。若以 /add-skill <args> 调用,将 $ARGUMENTS 视为第 1 步要界定的技能名称或想法。
不适用场景:创建新的 skills 仓库(应在本仓库之上的工作区进行);基础设施工作(hooks、CI、validator、docs)应直接编辑并按 PR 级别审查;仅重复模型已擅长之事的“技能”不应构建,技能必须修复某个具体观察到的失败。
工作流:1) 界定范围,用一句话说明技能做什么及修复的具体失败,若需要“and”则拆分为多个技能;检查 skills/ 与 README 目录是否重叠,近似描述会互相抢占触发。2) 收集材料,递归阅读 .local/ 全部子目录与文件,再向外检索当前事实、官方文档与先例,对关键事实用一手来源核实,有争议或高风险事实(外部 API、schema、安全声明)在可用时用 /cross 交叉验证;技能依赖的已核实事实放入 skills/<name>/references/,不得从技能中引用 .local/ 路径。3) 评估优先,按 docs/evals.md 创建 skills/<name>/evals/evals.json:至少 8 条 should_trigger(变化正式度、拼写错误、简洁度)、至少 8 条 should_not_trigger(共享关键词的近似项)、3–5 条质量用例含平实语言 expected_behavior 断言;写不出则说明范围不清,回到第 1 步。4) 起草 SKILL.md,frontmatter 中 name 等于文件夹名,description 单行、第三人称、[what]+[use when…]+[not for…]、150–400 字符、触发关键词在前约 120 字符内;正文按 docs/skill-authoring.md 结构:purpose → when/when-not → 编号工作流 → 输出规范 → 注意事项 → 指针;少于 500 行,确定性步骤放 scripts/(失败时非零退出),长材料放 references/ 并带目录。5) 校验,make check 必须退出 0,修复所有错误并分类处理所有警告。6) 触发自测,对至少 3 条 should-trigger 与 2 条 should-not-trigger 提示明确推理:仅凭 description(而非正文)是否会在目录中所有其他技能之间路由到此;修 description 而非 evals;建议用户对最高风险用例做 2–3 次全新会话探测。7) 注册,在 README 目录表增改该技能行,添加 CHANGELOG.md 条目,并将技能放入 skills.sh.json 中恰好一个分组(分组描述为一句话);重新检查兄弟技能描述的新重叠;不要 commit 或 push,留待所有者审查。
完成定义:skills/<name>/ 含 SKILL.md + evals/evals.json(按需 scripts/references);make check 0 错误;README 目录与 CHANGELOG 已更新;三行摘要:用途、触发短语示例、已知限制。
注意事项:description 保持一个物理行,多行值在某些运行时加载失败且校验器会阻止,不得绕过校验器;不要把失败的评估提示逐字粘贴进 description(过拟合),应泛化缺失的动词/名词;过度触发修复方式是加入来自实际误报重叠的针对性“Not for …”名词短语,不要删除正向触发;模型升级会改变路由,摘要中应注明下次模型发布后应重跑评估。