用途
编写技能,本质上是把测试驱动开发(TDD)应用于流程文档。它解决的是:如何写出一个真正能被未来智能体找到、理解并遵循的技能文档,而不是写出一份无人使用、或用了也没效果的说明。
核心原则是:如果你没有观察到智能体在没有该技能时失败,你就不知道这个技能是否教了正确的东西。
主要能力
- TDD 映射到文档:测试用例对应带子智能体的压力场景;生产代码对应技能文档(SKILL.md);测试失败(红)对应智能体在没有技能时违反规则(基线);测试通过(绿)对应智能体在有技能时遵守规则;重构对应在保持合规的同时堵住漏洞。
- 何时创建技能:技术对你来说不是直觉上显而易见的、你会在不同项目中反复引用、模式具有广泛适用性、其他人也会受益时创建;一次性方案、已充分文档化的标准实践、项目特定约定、可用正则或校验强制执行的机械性约束则不创建。
- 技能类型:技术类(有具体步骤的方法)、模式类(思考问题的方式)、参考类(API 文档、语法指南、工具文档)。
- 目录结构与 SKILL.md 结构:采用扁平命名空间,每个技能一个目录,SKILL.md 为必需主文档,可按需放置支撑文件。Frontmatter 使用 YAML,含 name 和 description 两个必需字段,总计最多 1024 字符;name 只用字母、数字和连字符;description 用第三人称、以 "Use when..." 开头、聚焦触发条件、尽量控制在 500 字符以内,且绝不总结技能的流程或工作流。
- Claude 搜索优化(CSO):丰富的描述字段(仅描述何时使用,不描述做什么)、关键词覆盖(错误信息、症状、同义词、工具名)、描述性命名(动词优先、主动语态)、Token 效率(getting-started 工作流每篇 <150 词,频繁加载的技能总计 <200 词,其他技能 <500 词)、交叉引用其他技能(仅用技能名称并标明是否必需,避免用 @ 语法强制加载)。
- 流程图与代码示例:流程图仅用于非显而易见的决策点、容易过早停止的循环、"何时用 A 还是 B"的决策;参考资料用表格/列表,代码用 markdown 代码块,线性指令用编号列表。代码示例遵循"一个优秀示例胜过多个平庸示例",选择最相关的语言。
- 让技能经受住合理化的考验:构建合理化借口表、创建红线列表、堵住"精神 vs 字面"的辩论,并针对纪律执行类、技术类、模式类、参考类技能分别给出测试方法。
- 技能的红-绿-重构:红是编写失败的测试(在无技能时运行压力场景,逐字记录行为与合理化借口);绿是编写最小技能(只针对具体违规行为);重构是堵住漏洞(发现新借口 → 添加反驳 → 重新验证)。
- 部署:使用清单逐项落实,将技能提交到 git 并推送,若具有广泛用途可考虑通过 PR 贡献回去。
使用方式
使用前必须理解 superpowers:test-driven-development 技能,它定义了基本的红-绿-重构循环。个人技能存放在智能体特定的目录中(Claude Code 用 ~/.claude/skills,Codex 用 ~/.agents/skills/)。编写技能时按红-绿-重构循环进行,并在部署前完成强制性清单:红色阶段创建压力场景并记录基线;绿色阶段编写最小技能;重构阶段堵漏洞;随后做质量检查与部署。
适用场景
- 创建新技能
- 编辑现有技能
- 在部署前验证技能是否有效
限制
资料中未提供该技能的收费、价格、平台支持范围等信息,暂未提供。测试与验证依赖子智能体和压力场景,资料未说明在无子智能体环境下的替代方案。