Deep Analysis · 2026.05

Superpowers 技能体系
深度解析

14 个技能构成的完整工程方法论 —— 从创意头脑风暴到代码提交合并, 覆盖软件开发的每一个关键节点。一套让 AI Agent 遵循工程纪律的元协议。

阅读约 25 分钟  ·  基于 obra/superpowers v1.0
Part 0 · 引言

什么是 Superpowers?

Superpowers 不是一组"让 AI 更好用"的技巧集合,而是一套约束 AI 行为的工程纪律系统。 它的核心假设是:AI Agent 在压力下会走捷径——跳过测试、猜测 Bug 原因、不做验证就声称完成。 因此每个技能都包含"铁律"(Iron Law)、"红旗信号"(Red Flags)和"常见借口表"(Rationalization Table)。

这套体系由 obra(O'Bradovich)创建并维护,截止 2026 年 5 月已累计超过 82 万次安装,是 Claude Code 生态中安装量最高的方法论技能集。 其中 brainstorming 单项技能安装量就超过 16.6 万

核心理念:Superpowers 认为 AI 编程的核心问题不是"AI 不够聪明",而是 "AI 在压力下会放弃纪律"。解决方案不是更强的模型,而是更强的约束。 每个技能都遵循一个简单结构:触发条件 → 铁律 → 分阶段执行 → 红线禁止项 → 借口反驳表。
Part 1 · 分类体系

14 个技能的六大分类

Superpowers 的技能按职责分为六类,形成一条完整的开发流水线。理解这个分类是正确使用它们的前提。

Superpowers 工作流全景图

using-superpowers brainstorming writing-plans
using-git-worktrees subagent-driven-development executing-plans
test-driven-development + systematic-debugging + verification-before-completion
requesting-code-review receiving-code-review
finishing-a-development-branch
周边支撑: writing-skills dispatching-parallel-agents
Part 2 · 元流程技能

技能发现与设计前置

这两个技能定义了整个 Superpowers 体系的入口和行为准则,是所有其他技能的基础。

元流程 刚性 102.7K installs

01 · using-superpowers

using-superpowers — 技能体系的入口与调度中心

一句话:任何对话开始时必须先检查是否有适用的技能,即使只有 1% 的可能性也必须调用 Skill 工具。

触发条件
任何对话开始
优先级
用户指令 > Superpowers > 系统默认
适用平台
Claude Code · Codex · Gemini CLI · Copilot CLI
子Agent行为
子Agent执行具体任务时跳过此技能

核心规则:

  • 铁律如果某个技能有1%的可能性适用于当前任务,你必须调用它。不可协商。
  • 优先级链用户明确指令(CLAUDE.md)→ Superpowers技能 → 系统默认行为
  • 技能顺序流程技能(brainstorming、debugging)优先于实现技能(frontend-design、mcp-builder)
🚩 常见红旗信号 "这只是一个简单问题" → 简单问题也有技能。"我先探索一下代码库" → 技能告诉你怎么探索。"我记得这个技能" → 技能会更新,重新加载。
元流程 刚性 166.8K installs · #1 最高安装量

02 · brainstorming

brainstorming — 设计先行,代码后行

一句话:在任何实现动作之前,必须先完成设计并取得用户批准。即使是最简单的 Todo List 也要走这个流程。

触发条件
任何创造性工作——新功能、组件、行为修改
硬性门槛
未经用户批准的设计文档,不得进入实现阶段
下一个技能
writing-plans(唯一出口)
设计文档路径
docs/superpowers/specs/YYYY-MM-DD-主题-design.md

九步工作流程:

  1. Step 1探索项目上下文(文件、文档、最近提交)
  2. Step 2如果涉及视觉问题,提供可视化伴侣(需单独一句询问)
  3. Step 3一次只问一个澄清问题,优先多选题
  4. Step 4提出 2-3 种方案,带利弊权衡和推荐
  5. Step 5分段呈现设计,每段取得用户确认
  6. Step 6将设计写入设计文档并 git commit
  7. Step 7设计文档自审(占位符扫描、一致性检查、范围检查、歧义检查)
  8. Step 8用户审查书面规格说明
  9. Step 9过渡到 writing-plans 技能
🚩 关键反模式:"这太简单了不需要设计" 一个 Todo List、一个工具函数、一个配置修改——所有这些都需要经过这个过程。"简单"项目恰恰是未经审视的假设造成最大浪费的地方。
Part 3 · 开发方法论技能

TDD · 系统调试 · 验证完成

这三个技能构成了日常开发的铁三角——它们是刚性技能,违反字母就是违反精神。

开发方法论 刚性 · 铁律 88.7K installs

03 · test-driven-development

TDD — Red-Green-Refactor 循环

一句话:没有先看到测试失败,就不知道它是否测试了正确的东西。先写测试→看它失败→写最少代码→看它通过→重构。

铁律
没有失败的测试,不写生产代码
例外
一次性原型、生成代码、配置文件(需用户许可)
违规惩罚
先写代码没写测试?删除代码,重新开始
适用场景
新功能、Bug 修复、重构、行为变更

Red-Green-Refactor 循环:

  • RED写一个最小的失败测试——清晰的名称、一个行为、真实代码(避免 mock)
  • Verify RED运行测试确认失败,且失败原因必须是"功能缺失"而非拼写错误
  • GREEN写最少代码让测试通过——YAGNI,不添加未测试的功能
  • Verify GREEN运行测试确认通过,所有其他测试也保持通过
  • REFACTOR清理重复、改善命名、提取辅助函数,保持测试绿色

为什么测试必须先写?实现后写的测试立即通过,这证明不了任何事——测试可能有 Bug、可能测了实现细节而非行为、可能遗漏了你在实现时忘记的边缘情况。只有看着测试先失败,你才知道它真正捕获了 Bug。

🚩 常见借口与真相 "太简单了不需要测试" → 简单代码也会坏,写测试只需30秒。
"我之后再补测试" → 后补的测试立即通过,什么都证明不了。
"手动测试过了" → 手动测试是临时性的,没有记录、不能重跑。
"删除 X 小时的工作太浪费" → 沉没成本谬误。保留无法信任的代码才是真正的技术债务。
开发方法论 刚性 · 铁律 101.9K installs

04 · systematic-debugging

systematic-debugging — 不允许未找到根因的修复

一句话:随机修复浪费时间并产生新 Bug。必须先找到根因再实施修复——治疗症状就是失败。

铁律
未完成 Phase 1(根因调查)之前,不得提出修复方案
3次失败规则
≥3次修复失败→停止→质疑架构,而非继续修复
真实效果
系统方法:15-30分钟 / 随机修复:2-3小时
首次修复率
系统方法95% vs 随机修复40%

四阶段法:

  • Phase 1 根因仔细读错误信息→稳定复现→检查最近变更→多组件系统加诊断埋点→追踪数据流
  • Phase 2 模式找工作样例→对比参考实现→识别差异→理解依赖
  • Phase 3 假设形成单一假设→最小化测试→一次一个变量→不知道就说"我不知道"
  • Phase 4 实现先写失败测试→单一修复→验证通过→修复无效?回到Phase 1
🚩 当你想"快速修复一下,之后再调查"时——STOP。回到 Phase 1。 尤其警惕:紧急情况(越紧急越想猜)、"问题很简单"(简单Bug也有根因)、已尝试≥3次修复(每个修复都在不同地方暴露问题=架构问题)。
开发方法论 刚性 · 铁律 超高安装量

05 · verification-before-completion

verification-before-completion — 没有证据的完成声明 = 撒谎

一句话:声称工作完成而没有运行验证命令,是欺骗而非效率。证据先行,永远如此。

铁律
没有新鲜的验证输出,不得声称任何状态
门函数
确定命令→运行完整命令→阅读全部输出→确认输出证实声明→才能做声明
禁止词汇
"应该"、"可能"、"好像"、"Great!"、"Done!"
适用时机
提交前、PR前、任务完成前、移交前、表达满意前

验证对照表:

声明需要的验证不够的
测试通过测试命令输出:0 failures前一次运行、"应该通过"
Linter 干净Linter 输出:0 errors部分检查、推断
构建成功构建命令:exit 0Linter 通过、日志看起来好
Bug 修复测试原始症状:通过代码改了、假设修复了
回归测试有效Red-Green 循环已验证测试通过一次
🚩 来自24个失败记忆的教训: 用户说"我不相信你"——信任破裂。未定义的函数被发布——会崩溃。缺失的需求被发布——功能不完整。
Part 4 · 规划与执行技能

从设计到代码的桥梁

这四个技能负责将 brainstorming 产出的设计文档转化为可执行的计划,并通过不同策略落地实现。

规划执行 刚性 101.2K installs

06 · writing-plans

writing-plans — 编写零上下文也能执行的实现计划

一句话:假设执行者对我们代码库一无所知、品味可疑。记录他们需要知道的一切——每个文件的精确路径、每行代码、每条命令及预期输出。

输入
brainstorming 产出的设计文档
输出
docs/superpowers/plans/YYYY-MM-DD-功能名.md
粒度要求
每步2-5分钟可完成
禁止事项
TBD、TODO、占位符、模糊描述

计划文档必须包含精确的:文件路径、完整代码、完整命令和预期输出、测试代码。不允许"添加适当的错误处理"或"写测试"这样的模糊指令。

🚩 计划失败信号:TBD/TODO、"稍后实现"、"添加适当的错误处理"、"写测试(无具体测试代码)"、"与Task N类似(必须重复代码,因为执行者可能乱序阅读)"
规划执行 刚性 推荐方案

07 · subagent-driven-development

subagent-driven-development — 每任务一个全新子Agent + 双重审查

一句话:执行计划的首选方式——每个任务派一个干净上下文的子Agent实现,然后通过规格合规审查→代码质量审查两阶段门控。

核心循环
分配实现Agent→自审→规格审查→修复→代码质量审查→修复→完成
vs executing-plans
同会话、持续进行、无需等待
模型策略
机械任务用便宜模型,集成/判断用标准模型,审查用最强模型
连续执行
不在任务之间暂停向用户汇报(除非阻塞)

实现Agent四种返回状态处理:

  • DONE正常进入规格合规审查
  • DONE_WITH_CONCERNS先阅读Agent的疑虑再决定
  • NEEDS_CONTEXT补充缺失上下文后重新派发
  • BLOCKED诊断原因:上下文不足?需要更强模型?任务太大?计划本身有误?
规划执行 灵活 备选方案

08 · executing-plans

executing-plans — 单会话内联执行计划

一句话:当没有子Agent支持时,在当前会话中按步骤执行计划,完成后用 finishing-a-development-branch 收尾。

何时使用
平台不支持子Agent,或任务紧密耦合不适合拆分
三步流程
加载并审查计划→逐任务执行→完成开发
阻塞规则
遇到阻塞立即停止并求助,不要猜测
收尾技能
完成后必须调用 finishing-a-development-branch

注意:如果平台支持子Agent,subagent-driven-development 的质量会显著更高。

规划执行 灵活 特定场景

09 · dispatching-parallel-agents

dispatching-parallel-agents — 并行派发独立任务

一句话:当面对 3 个以上互不依赖的独立问题时,派发多个Agent并行解决,将总耗时压缩到单个任务的时长。

触发条件
3+个测试文件因不同根因失败,多个子系统独立崩溃
不适用时
失败相互关联、需要全局上下文、Agent会互相干扰
Agent指令要素
明确范围、清晰目标、约束条件、预期输出格式
集成步骤
审查各摘要→检查冲突→运行全量测试→抽查

真实案例:一次重构后6个测试失败分布在3个文件中,3个Agent并行调查——最终全部独立修复、零冲突、全量测试通过。

Part 5 · 代码审查技能

请求审查 ↔ 接收反馈

代码审查 刚性 89.8K installs

10 · requesting-code-review

requesting-code-review — 尽早审查,经常审查

一句话:派发一个代码审查子Agent,给它精确审慎的上下文(而非你的会话历史),在问题扩散之前捕获它们。

强制时机
每个子Agent任务完成后、主要功能完成后、合并到main前
可选时机
卡住时(新视角)、重构前(基线检查)、复杂Bug修复后
派发方法
获取BASE_SHA和HEAD_SHA,用code-reviewer.md模板派发子Agent
反馈处理
Critical立即修→Important继续前修→Minor记录、审查者错误时驳回
代码审查 刚性

11 · receiving-code-review

receiving-code-review — 技术验证,而非表演性认同

一句话:收到审查反馈后,先验证再实现。永远禁止表演性感谢("You're absolutely right!"、"Great point!"),用技术回应代替社交客套。

响应六步
阅读→复述理解→验证→技术评估→回应→逐项实现测试
禁止响应
"You're absolutely right!" / "Great point!" / "Thanks for catching!"
外审五检
技术正确?破坏现有功能?当前实现的理由?所有平台兼容?审查者了解完整上下文?
YAGNI检查
审查者建议"正确实现"→grep代码库确认实际使用量
🚩 核心原则:外部反馈 = 需要评估的建议,不是需要服从的命令。 验证、质疑、再实现。没有表演性认同。技术严谨性永远高于社交舒适性。
Part 6 · 工作区管理技能

环境隔离与分支收尾

工作区管理 刚性

12 · using-git-worktrees

using-git-worktrees — 确保工作在隔离环境中进行

一句话:在开始任何功能开发前,先检测是否已在隔离环境→优先使用平台原生工具→fallback 到 git worktree。

Step 0
检测已有隔离(GIT_DIR vs GIT_COMMON,排除子模块)
Step 1a
优先使用平台原生工具(EnterWorktree等)
Step 1b
Git worktree fallback(.worktrees/优先于全局路径)
Step 3-4
项目Setup(npm install等)+ 验证干净基线(运行全量测试)

关键安全检查:创建 worktree 前必须用 git check-ignore 验证目录已在 .gitignore 中,防止将 worktree 内容提交到仓库。

工作区管理 刚性

13 · finishing-a-development-branch

finishing-a-development-branch — 合理收尾,清晰选择

一句话:实现完成后,先验证测试→检测环境→呈现结构化选项→执行选择→清理。

六步流程
验证测试→检测环境→确定基准分支→呈现选项→执行选择→清理工作区
标准菜单
1.本地合并 2.推送PR 3.保持现状 4.丢弃(需输入discard确认)
Detached HEAD
3个选项:推送PR / 保持 / 丢弃
清理规则
仅选项1和4清理worktree;仅清理自己创建的(来源检查)
Part 7 · 元技能

创造新技能的方法论

元技能 刚性 · 铁律

14 · writing-skills

writing-skills — TDD 应用于流程文档

一句话:创建技能就是用 TDD 写文档——先用子Agent跑压力场景(RED),看到它违规,再写技能(GREEN),然后堵住所有漏洞(REFACTOR)。

铁律
没有先看到测试失败,不能写技能
TDD映射
测试用例=压力场景 / 生产代码=SKILL.md / 重构=堵漏洞
四种技能类型
纪律执行型 / 技术指南型 / 思维模式型 / 参考文档型
测试方法论
学术问题→压力场景→复合压力→记录借口→堵住每个漏洞

防绕过设计(Bulletproofing):

  • 关闭每个漏洞不仅说"不能这样",还要列举具体禁止的变通方案
  • 精神vs文字在开头声明"违反规则的文字就是违反规则的精神"
  • 借口反驳表从基线测试中捕获Agent实际使用的借口,逐个反驳
  • 红旗信号列表让Agent能自检是否正在自我合理化

Description 字段的核心教训:Description 只描述触发条件,绝不总结工作流程。测试发现——当 Description 包含流程摘要时,Agent 会按照摘要行事而不阅读完整技能。subagent-driven-development 技能因此被触发只做一次审查而非规定的两次。

🚩 与 TDD 相同的铁律:创建或编辑技能前没有先写测试→删除技能,重新开始。不适用"简单添加"、"只是文档更新"、"批量创建更高效"等任何借口。
Part 8 · 速查矩阵

什么场景用什么技能

场景 应使用的技能 关键动作
开始任何对话 using-superpowers 检查技能列表,即使只有1%可能性也调用Skill工具
"帮我做一个X功能" brainstormingwriting-plans 先出设计文档取得批准,再写实现计划
"有实现计划了,开始写代码" using-git-worktreessubagent-driven-development 创建隔离环境,逐任务派发子Agent+双重审查
"这个测试挂了,帮我修" systematic-debuggingtest-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收尾
Part 9 · 关键洞察

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 违规,你不知道技能是否教会了正确的事情。"

—— Superpowers 体系的 Red-Green 哲学,同时适用于代码和技能文档

本报告基于 obra/superpowers v1.0 · 14 个技能 · 总安装量 82万+
github.com/obra/superpowers  ·  生成于 2026.05.19