Superpowers 技能体系
深度解析
14 个技能构成的完整工程方法论 —— 从创意头脑风暴到代码提交合并, 覆盖软件开发的每一个关键节点。一套让 AI Agent 遵循工程纪律的元协议。
什么是 Superpowers?
Superpowers 不是一组"让 AI 更好用"的技巧集合,而是一套约束 AI 行为的工程纪律系统。 它的核心假设是:AI Agent 在压力下会走捷径——跳过测试、猜测 Bug 原因、不做验证就声称完成。 因此每个技能都包含"铁律"(Iron Law)、"红旗信号"(Red Flags)和"常见借口表"(Rationalization Table)。
这套体系由 obra(O'Bradovich)创建并维护,截止 2026 年 5 月已累计超过
82 万次安装,是 Claude Code 生态中安装量最高的方法论技能集。
其中 brainstorming 单项技能安装量就超过 16.6 万。
14 个技能的六大分类
Superpowers 的技能按职责分为六类,形成一条完整的开发流水线。理解这个分类是正确使用它们的前提。
Superpowers 工作流全景图
技能发现与设计前置
这两个技能定义了整个 Superpowers 体系的入口和行为准则,是所有其他技能的基础。
01 · using-superpowers
一句话:任何对话开始时必须先检查是否有适用的技能,即使只有 1% 的可能性也必须调用 Skill 工具。
核心规则:
- 铁律如果某个技能有1%的可能性适用于当前任务,你必须调用它。不可协商。
- 优先级链用户明确指令(CLAUDE.md)→ Superpowers技能 → 系统默认行为
- 技能顺序流程技能(brainstorming、debugging)优先于实现技能(frontend-design、mcp-builder)
02 · brainstorming
一句话:在任何实现动作之前,必须先完成设计并取得用户批准。即使是最简单的 Todo List 也要走这个流程。
九步工作流程:
- Step 1探索项目上下文(文件、文档、最近提交)
- Step 2如果涉及视觉问题,提供可视化伴侣(需单独一句询问)
- Step 3一次只问一个澄清问题,优先多选题
- Step 4提出 2-3 种方案,带利弊权衡和推荐
- Step 5分段呈现设计,每段取得用户确认
- Step 6将设计写入设计文档并 git commit
- Step 7设计文档自审(占位符扫描、一致性检查、范围检查、歧义检查)
- Step 8用户审查书面规格说明
- Step 9过渡到 writing-plans 技能
TDD · 系统调试 · 验证完成
这三个技能构成了日常开发的铁三角——它们是刚性技能,违反字母就是违反精神。
03 · test-driven-development
一句话:没有先看到测试失败,就不知道它是否测试了正确的东西。先写测试→看它失败→写最少代码→看它通过→重构。
Red-Green-Refactor 循环:
- RED写一个最小的失败测试——清晰的名称、一个行为、真实代码(避免 mock)
- Verify RED运行测试确认失败,且失败原因必须是"功能缺失"而非拼写错误
- GREEN写最少代码让测试通过——YAGNI,不添加未测试的功能
- Verify GREEN运行测试确认通过,所有其他测试也保持通过
- REFACTOR清理重复、改善命名、提取辅助函数,保持测试绿色
为什么测试必须先写?实现后写的测试立即通过,这证明不了任何事——测试可能有 Bug、可能测了实现细节而非行为、可能遗漏了你在实现时忘记的边缘情况。只有看着测试先失败,你才知道它真正捕获了 Bug。
"我之后再补测试" → 后补的测试立即通过,什么都证明不了。
"手动测试过了" → 手动测试是临时性的,没有记录、不能重跑。
"删除 X 小时的工作太浪费" → 沉没成本谬误。保留无法信任的代码才是真正的技术债务。
04 · systematic-debugging
一句话:随机修复浪费时间并产生新 Bug。必须先找到根因再实施修复——治疗症状就是失败。
四阶段法:
- Phase 1 根因仔细读错误信息→稳定复现→检查最近变更→多组件系统加诊断埋点→追踪数据流
- Phase 2 模式找工作样例→对比参考实现→识别差异→理解依赖
- Phase 3 假设形成单一假设→最小化测试→一次一个变量→不知道就说"我不知道"
- Phase 4 实现先写失败测试→单一修复→验证通过→修复无效?回到Phase 1
05 · verification-before-completion
一句话:声称工作完成而没有运行验证命令,是欺骗而非效率。证据先行,永远如此。
验证对照表:
| 声明 | 需要的验证 | 不够的 |
|---|---|---|
| 测试通过 | 测试命令输出:0 failures | 前一次运行、"应该通过" |
| Linter 干净 | Linter 输出:0 errors | 部分检查、推断 |
| 构建成功 | 构建命令:exit 0 | Linter 通过、日志看起来好 |
| Bug 修复 | 测试原始症状:通过 | 代码改了、假设修复了 |
| 回归测试有效 | Red-Green 循环已验证 | 测试通过一次 |
从设计到代码的桥梁
这四个技能负责将 brainstorming 产出的设计文档转化为可执行的计划,并通过不同策略落地实现。
06 · writing-plans
一句话:假设执行者对我们代码库一无所知、品味可疑。记录他们需要知道的一切——每个文件的精确路径、每行代码、每条命令及预期输出。
计划文档必须包含精确的:文件路径、完整代码、完整命令和预期输出、测试代码。不允许"添加适当的错误处理"或"写测试"这样的模糊指令。
07 · subagent-driven-development
一句话:执行计划的首选方式——每个任务派一个干净上下文的子Agent实现,然后通过规格合规审查→代码质量审查两阶段门控。
实现Agent四种返回状态处理:
- DONE正常进入规格合规审查
- DONE_WITH_CONCERNS先阅读Agent的疑虑再决定
- NEEDS_CONTEXT补充缺失上下文后重新派发
- BLOCKED诊断原因:上下文不足?需要更强模型?任务太大?计划本身有误?
08 · executing-plans
一句话:当没有子Agent支持时,在当前会话中按步骤执行计划,完成后用 finishing-a-development-branch 收尾。
注意:如果平台支持子Agent,subagent-driven-development 的质量会显著更高。
09 · dispatching-parallel-agents
一句话:当面对 3 个以上互不依赖的独立问题时,派发多个Agent并行解决,将总耗时压缩到单个任务的时长。
真实案例:一次重构后6个测试失败分布在3个文件中,3个Agent并行调查——最终全部独立修复、零冲突、全量测试通过。
请求审查 ↔ 接收反馈
10 · requesting-code-review
一句话:派发一个代码审查子Agent,给它精确审慎的上下文(而非你的会话历史),在问题扩散之前捕获它们。
11 · receiving-code-review
一句话:收到审查反馈后,先验证再实现。永远禁止表演性感谢("You're absolutely right!"、"Great point!"),用技术回应代替社交客套。
环境隔离与分支收尾
12 · using-git-worktrees
一句话:在开始任何功能开发前,先检测是否已在隔离环境→优先使用平台原生工具→fallback 到 git worktree。
关键安全检查:创建 worktree 前必须用 git check-ignore 验证目录已在 .gitignore 中,防止将 worktree 内容提交到仓库。
13 · finishing-a-development-branch
一句话:实现完成后,先验证测试→检测环境→呈现结构化选项→执行选择→清理。
创造新技能的方法论
14 · writing-skills
一句话:创建技能就是用 TDD 写文档——先用子Agent跑压力场景(RED),看到它违规,再写技能(GREEN),然后堵住所有漏洞(REFACTOR)。
防绕过设计(Bulletproofing):
- 关闭每个漏洞不仅说"不能这样",还要列举具体禁止的变通方案
- 精神vs文字在开头声明"违反规则的文字就是违反规则的精神"
- 借口反驳表从基线测试中捕获Agent实际使用的借口,逐个反驳
- 红旗信号列表让Agent能自检是否正在自我合理化
Description 字段的核心教训:Description 只描述触发条件,绝不总结工作流程。测试发现——当 Description 包含流程摘要时,Agent 会按照摘要行事而不阅读完整技能。subagent-driven-development 技能因此被触发只做一次审查而非规定的两次。
什么场景用什么技能
| 场景 | 应使用的技能 | 关键动作 |
|---|---|---|
| 开始任何对话 | using-superpowers | 检查技能列表,即使只有1%可能性也调用Skill工具 |
| "帮我做一个X功能" | brainstorming → writing-plans | 先出设计文档取得批准,再写实现计划 |
| "有实现计划了,开始写代码" | using-git-worktrees → subagent-driven-development | 创建隔离环境,逐任务派发子Agent+双重审查 |
| "这个测试挂了,帮我修" | systematic-debugging → test-driven-development | 先找根因(4阶段),再用TDD修复 |
| "写一个新的功能模块" | test-driven-development | Red→Green→Refactor,永远测试先行 |
| "好像修好了/做完了" | verification-before-completion | 运行验证命令→阅读输出→确认通过→才能说完成 |
| "帮我审查这段代码" | requesting-code-review | 获取git SHA→派发审查子Agent→逐项处理反馈 |
| "审查反馈来了,怎么处理" | receiving-code-review | 验证→评估→实现(不表演感谢,不盲目接受) |
| "三个测试文件同时挂了" | dispatching-parallel-agents | 确认独立→每文件一个Agent→并行调查→集成结果 |
| "代码写完了,怎么合并" | finishing-a-development-branch | 验证测试→4选项菜单→执行→清理 |
| "我想创建一个新技能" | writing-skills | TDD:基线测试→写SKILL.md→堵漏洞→部署 |
| "有实现计划,但没有子Agent" | executing-plans | 加载计划→逐任务执行→finishing收尾 |
Superpowers 体系的三个深层设计原则
原则一:AI 的最大问题是纪律,不是智力
Superpowers 没有教 AI 任何新技术。它教的是当压力出现时不走捷径。 几乎所有技能的"红旗信号"都是同一种模式——"快速修复"、"这个太简单了"、"之后再做"—— 这些是人类工程师在截止日期前的典型行为,而 AI 毫无保留地继承了这些坏习惯。
原则二:借口反驳表是技能的灵魂
TDD 技能包含 10+ 种常见借口及其反驳;debugging 有 8 种;verification 也有 8 种。 这些不是装饰——它们来自与 AI Agent 的真实交互中捕获的实际借口。 Agent 在被压力测试时确实会说出"这太简单了不需要测试",对应反驳就写在技能里。 这是 writing-skills 方法论的核心——每个借口都必须被堵住。
原则三:技能是约束 AI 的元协议,不是给人类看的文档
普通的 README 或 CLAUDE.md 给人类阅读,依赖人类的判断力判断何时应用。 Superpowers 技能是给 AI Agent 的系统提示注入——通过触发条件自动激活、 通过铁律强制执行、通过红旗信号自检。Description 字段的 "Use when..." 格式就是为了让 AI 在任务开始时自动匹配而非等人类手动调用。
"如果没有先看到测试失败,你不知道它是否测试了正确的东西。
如果没有先看到 Agent 违规,你不知道技能是否教会了正确的事情。"
本报告基于 obra/superpowers v1.0 · 14 个技能 · 总安装量 82万+
github.com/obra/superpowers
· 生成于 2026.05.19