Superpowers:强制 TDD 和双阶段 Review 的 AI 编程方法论
214K Star 的 AI 编程方法论框架,自动触发结构化开发流程——brainstorming、TDD、subagent 双阶段 review、git worktree 隔离,支持 8 个主流 Agent 平台。
项目地址:https://github.com/obra/superpowers | MIT 开源协议 | ⭐ 214K+ Stars
这是什么
Superpowers 是一个给 AI 编程 Agent 用的软件开发方法论。它不是工具、不是 IDE、不是 prompt 包——它是一套强制执行的开发流程,以可组合的 skill 形式嵌入到你的 coding agent 里。
用了几个月 AI 编程工具后,你大概率遇到过这些问题:
- Agent 拿到需求直接开写,跳过了需求确认,结果做的不是你要的
- 没有测试就提交,改一行代码破三处,事后 debug 半天
- 复杂任务 Agent 一次性全干,上下文溢出后质量崩塌
- 说"做完了"但没有 review,merge 进去才发现问题
Superpowers 用四条原则解决这些问题:TDD 优先、系统化执行、降低复杂度、证据验证。所有 skill 自动触发,不是建议而是强制——Agent 开始工作前会检查是否有匹配的 skill。
核心理念
四条原则贯穿整个系统:
- TDD(测试驱动开发) — 先写测试再写实现,永远如此。测试前写的代码直接删
- 系统化 > 随意 — 结构化流程打败"我感觉这样就行"
- 降低复杂度 — 简单是首要目标,YAGNI(你不会需要它)
- 证据 > 声明 — "验证了才算完成",Agent 不能自己宣布任务完成
七步工作流程
所有任务自动进入这个流程,skill 之间无缝串联:
brainstorming → git worktree → writing plans → subagent 执行 → TDD → code review → finish branch
| 步骤 | Skill | 做什么 |
|---|---|---|
| 1 | brainstorming | 不急着写代码,先问你到底要做什么,提炼设计,保存 spec |
| 2 | using-git-worktrees | 开新分支 + 隔离工作区 + 确认测试基线干净 |
| 3 | writing-plans | 把设计拆成 2-5 分钟的小任务,精确到文件路径和验证步骤 |
| 4 | subagent-driven-development | 每个任务派一个全新 subagent 执行,完成后双阶段 review |
| 5 | test-driven-development | 强制 RED-GREEN-REFACTOR,测试前写的代码直接删 |
| 6 | requesting-code-review | 按 spec 审查,严重问题阻断进度 |
| 7 | finishing-a-development-branch | 验证测试通过,选择 merge/PR/保留/丢弃 |
关键特性:自动触发,不需要你手动调用。
核心 Skill 详解
brainstorming — HARD-GATE
这是整个系统的入口。在设计被你批准之前,Agent 不允许写任何代码,包括最简单的项目。
流程:
探索项目上下文 → 逐一提问(一次只问一个问题)→ 提出 2-3 个方案
→ 分段展示设计 → 你批准 → 写 spec 文件 → 自审 → 你审 spec → 交给 writing-plans
几个要点:
- 问你喜欢选择题而不是开放题,降低回答成本
- 超大项目会帮你拆成子项目,每个子项目走独立的 spec → plan → 实现循环
- 设计文档保存到
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md - 可选 Visual Companion(浏览器里展示 mockup 和架构图)
- 即使是修 typo,也会走这个流程——但设计审批可能是三句话
writing-plans — 精确到文件路径
把设计拆成极度精确的实现计划:
✅ "在 src/hooks/install.ts 中创建 installHook 函数,参数为 HookConfig,返回 Promise<void>"
❌ "添加适当的错误处理" ← 禁止模糊步骤
❌ "TBD"、"参考任务 N" ← 全部禁止
- 每步是一个动作,2-5 分钟内完成
- 包含完整代码块、精确命令、预期输出
- 保存到
docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md - 计划完成后提供两条路:subagent 驱动开发(自动)或 inline 执行(人工检查点)
subagent-driven-development — 最核心的执行机制
每个任务三个独立 subagent:
1. Implementer — 实现代码 + 测试 + 自审 + 提交
2. Spec Reviewer — 检查实现是否符合 spec(不多不少)
3. Code Quality Reviewer — 检查代码质量
执行流程:
读取计划 → 提取所有任务 → 逐个派遣 subagent → 每个任务完成后双阶段 review → 全部完成后最终 review
关键规则:
- 不停下问你 — 只有遇到无法解决的 BLOCKED 或真正的歧义才中断
- 每个任务全新 subagent — 不继承上一个任务的上下文,避免污染
- 先 spec review 再 code review — 顺序不能反
- review 不通过就修 — 修完再 review,循环直到通过
模型选择策略(省 token):
| 任务类型 | 模型选择 |
|---|---|
| 机械实现(1-2 文件、明确 spec) | 便宜模型 |
| 集成任务(多文件、需要判断) | 标准模型 |
| 架构/设计/review | 最强模型 |
Implementer 状态码:
| 状态 | 含义 | 处理方式 |
|---|---|---|
DONE | 完成 | 进入 spec review |
DONE_WITH_CONCERNS | 完成但有顾虑 | 先看顾虑再 review |
NEEDS_CONTEXT | 缺少上下文 | 补充后重新派遣 |
BLOCKED | 无法继续 | 尝试解决,不行就升级给人类 |
test-driven-development — 强制 RED-GREEN-REFACTOR
在 subagent 内部强制执行:
- RED — 先写一个会失败的测试
- GREEN — 写最少的代码让测试通过
- REFACTOR — 重构,保持测试通过
如果 Agent 在写测试之前就写了实现代码,Superpowers 会要求删除那部分代码,从测试重新开始。
finishing-a-development-branch — 收尾
所有任务完成后:
- 验证全部测试通过
- 提供四个选项:merge、创建 PR、保留分支、丢弃
- 清理 worktree
安装方式
Superpowers 支持 8 个主流 Agent 平台:
| Agent | 安装方式 |
|---|---|
| Claude Code | /plugin install superpowers@claude-plugins-official |
| Codex CLI | /plugins → 搜索 superpowers → Install |
| Codex App | 侧边栏 Plugins → Coding 分类 → 找到 Superpowers → + |
| Factory Droid | droid plugin marketplace add https://github.com/obra/superpowers && droid plugin install superpowers@superpowers |
| Gemini CLI | gemini extensions install https://github.com/obra/superpowers |
| OpenCode | 对 Agent 说:Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.opencode/INSTALL.md |
| Cursor | /add-plugin superpowers |
| GitHub Copilot CLI | copilot plugin marketplace add obra/superpowers-marketplace && copilot plugin install superpowers@superpowers-marketplace |
安装后 skill 自动生效,不需要额外配置。
使用示例
你不需要做任何特殊操作,正常使用即可。所有流程自动触发:
你:帮我加一个暗黑模式
Agent(自动触发 brainstorming):
→ 先问你:暗黑模式是全局还是按页面?
→ 你:全局
→ Agent:有三个方案... [A/B/C],推荐 A,因为...
→ 你:就 A
→ Agent:设计文档已保存到 docs/superpowers/specs/2026-06-01-dark-mode-design.md
→ 你:OK
Agent(自动触发 writing-plans):
→ 拆成 5 个任务,每个 2-5 分钟,精确到文件路径
→ 计划保存到 docs/superpowers/plans/2026-06-01-dark-mode.md
Agent(自动触发 subagent-driven-development):
→ 任务 1: 实现 ThemeContext → subagent 实现 + 测试 + 自审
→ Spec Reviewer: ✅ 符合 spec
→ Code Reviewer: ✅ 代码质量通过
→ 任务 2: 添加 CSS 变量 → subagent ...
→ ...全部完成后
Agent(自动触发 finishing):
→ 测试全通过,要创建 PR 还是直接合并?
即使是修一个 typo,也会走一遍 brainstorming → plan → 实现 → review,但每一步都被压缩到极简:
你:修一下 index.ts 第 42 行的拼写错误
Agent(brainstorming,极简版):
→ 把 "recieve" 改成 "receive",其他地方没影响。可以吗?
→ 你:OK
Agent(plan,极简版):
→ 任务 1:修改 index.ts 第 42 行,运行测试确认通过
Agent(subagent + review,极简版):
→ 修改完成,测试通过,review 无问题。
设计边界
- skill 是强制的 — 不是建议,Agent 必须遵循
- 不跨会话 — Superpowers 不管理跨会话记忆,单次会话内闭环
- 不自动部署 — finishing 只到 merge/PR 为止
- 支持 8 个平台 — 新 skill 必须在所有平台上可用才被接受
- 不接受新 skill PR — 维护者控制 skill 集的扩展,但接受对现有 skill 的改进
使用建议
适合的场景:
- 你希望 AI 写代码有严格的 TDD 纪律
- 复杂任务需要结构化流程,不想 Agent 跳步
- 想要 subagent 双阶段 review 保证质量
- 团队中多人使用 AI 编程,需要统一流程
不太需要的场景:
- 纯一次性小脚本,不需要 TDD 和 review
- 你自己已经有完善的开发流程,不想被覆盖
- 对 token 消耗敏感(subagent 调度和双阶段 review 会增加开销)
注意:Superpowers 的全流程自动触发意味着每个任务都有固定开销,即使是最简单的修改。如果你觉得这个开销过大,可以考虑配合 CatPaw 的等级路由一起使用——CatPaw 决定任务是否进入正式流程,Superpowers 负责进入后的执行质量。
与其他工具的关系
| 维度 | Superpowers | gstack | CatPaw |
|---|---|---|---|
| 本质 | 方法论 + 可执行 skill | 工程工作站 | 跨会话协作协议 |
| Star | 214K | 103K | 早期 |
| 执行方式 | 自动触发,subagent 双阶段 review | 斜杠命令手动调用 | Agent 自动分类路由 |
| 跨会话 | 不管理 | 不管理 | 核心能力 |
| TDD | 强制 RED-GREEN-REFACTOR | 无 | 无 |
| 子 Agent | 核心机制 | 无 | 无 |
| 设计阶段 | brainstorming HARD-GATE | /spec + /plan-ceo-review | 无 |
| Code Review | 双阶段(spec 合规 + 代码质量) | /review | Expert Council(仅咨询) |
三者可以叠加:CatPaw 管跨会话记忆和任务路由,Superpowers 管单次会话内的执行质量,gstack 管部署和监控。