SuperAPI AI 工具集

writing-skills

写作与研究

查看项目

更新于 10-16 01:12

技能介绍

用途:本技能用于在创建新技能、编辑已有技能或部署前验证技能时,指导以测试驱动开发(TDD)方式编写技能。技能被视为塑造行为的代码,而非普通文档。

核心原则:没有先观察到失败基线,就不写技能。铁律为“NO SKILL WITHOUT A FAILING BASELINE FIRST”,新技能与编辑现有技能同样适用。

主要流程:RED——在不加载技能的情况下运行场景,逐字记录智能体实际行为、跳过正确行为时使用的借口、触发失败的压力(时间、沉没成本、权威、“两种都行”);若智能体本就正确,则停止。GREEN——从模板 templates/SKILL-template.md 出发,只针对 RED 中观察到的失败写最小技能,再带技能运行同一场景。REFACTOR——发现新借口就加显式反制并重测,直到在压力下稳固。可先用微测试验证措辞:每个样本一次全新 API/子代理调用,每个变体 5 次以上,并始终包含无指导对照组。

结构规则:目录深度恰好两层 skills/<domain>/<skill>/SKILL.md;frontmatter 必填 name 与 description(合计不超过 1024 字符);可选 scripts:(sh:/ps:)与 disable-model-invocation: true;标题顺序为 Overview → When to Use → Core Process → Red Flags → Verification,仅当技能有配置项时才加 Configuration;SKILL.md 正文建议少于 500 行(超 500 警告,超 800 失败),重参考放 references/,脚本放 scripts/{bash,powershell}/;新技能须附带评估覆盖(goldset 标准与二元评分器 {"pass": bool, "score": 1.0|0.0})。

description 只写触发条件,不写技能做什么,以“Use when…”开头,使用第三人称,包含错误信息、症状、工具名等关键词;disable-model-invocation: true 的技能不受模型路由但仍不得误导。

按失败类型匹配形式:压力下跳过规则用禁止+借口表+红旗;输出形状错误用正向配方;遗漏必需元素用模板中的 REQUIRED 槽位;依赖条件的行为用可观察谓词的条件规则。避免“除非重要”等模糊条款。

红旗:先写技能后跑基线、description 总结功能而非触发条件、假设智能体自然会做对、正文超 500 行且全部内联、新技能无评估标准与评分器、只处理假设失败而遗漏已观察失败。

验证完成条件:无技能时基线失败已逐字记录;带技能时同一场景通过;pytest tests/unit/test_playbook_integrity.py -q 通过;评估标准与二元评分器已添加且评分器有单元测试(evals/promptfoo/tests/);重新生成的安装产物同步(pytest tests/unit/test_generated_artifacts_sync.py -q);在真实智能体中手动验收。

不适用:项目特定约定应放入 team-ai-directives 仓库作为 CDR;可由脚本或测试强制执行的机械约束应自动化,文档只留给需要判断的场景。新技能须先在 issue 中达成一致并附带评估覆盖,详见 CONTRIBUTING.md。