26 万 Star 的 AI 编程方法论:Superpowers 如何给编码 Agent 装上工程纪律

你打开了 Claude Code,输入一句需求,几秒钟后代码就开始输出了。速度快,代码看起来也不错。但几轮迭代下来,你发现问题:Agent 跳过了测试直接写实现,遇到 Bug 时随机试改而不定位根因,架构决策全靠猜。

这不是模型能力的问题,是工程纪律的问题。Jesse Vincent 看到了这一点,于是他做了 Superpowers。

obra/superpowers GitHub 仓库

截至 2026 年 7 月底,Superpowers 在 GitHub 上拿到了 263,646 个 Star,23,541 个 Fork。从 2025 年 10 月首次发布算起,不到十个月,它是 GitHub 上增长最快的开发者工具项目之一。

Jesse Vincent 是谁

如果你在 IT 行业待得够久,大概率用过他做的东西。1990 年代,他创建了 Request Tracker (RT),至今仍是全球使用最广泛的开源工单系统之一。2005 至 2008 年,他担任 Perl 6 项目经理。他做了 Android 上的 K-9 Mail(后来被 Mozilla 收购,改名为 Thunderbird for Android)。他还创立了 Keyboardio,做人体工学机械键盘。

他的共同点:造开发者赖以生存的基础设施,对工作流有近乎偏执的追求。

Superpowers 的起源很简单。Vincent 在用 Claude Code 做正式开发时发现,Agent 能力很强但不够稳定。放任不管的话,它会跳过测试,不理解需求就动手写代码,用快速补丁对付没诊断过的 Bug。这些不是 AI 独有的问题,初级工程师也这样。

核心洞察:给 Agent 纪律

Superpowers 的设计哲学可以用一句话概括:如果你的 Agent 聪明但缺乏纪律,那就给它纪律。

这里的"纪律"不是写在 CLAUDE.md 里的一句"请先写测试"。Vincent 发现,单条提示指令只是一个建议。Agent 在前几个任务里会遵守,但随着对话变长、问题变复杂,测试就悄悄被跳过了,你直到出了事才发现。

Superpowers 的做法是用"硬门禁"(hard gate)替代"建议"。比如 TDD 技能的铁律是这样写的:

NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST. Write code before the test? Delete it. Start over. No exceptions.

这跟你在 CLAUDE.md 里写"always write tests first"有本质区别。一个是限速牌,一个是减速带。限速牌提供信息,减速带物理上阻止你超速。

14 个可组合技能:完整的软件开发方法论

Superpowers 内置了 14 个技能文件(每个都是一个 SKILL.md),覆盖了从设计到交付的完整软件开发流程:

设计阶段

  • brainstorming(头脑风暴):在任何创意工作开始前激活。硬门禁:在展示设计并获得用户批准之前,不得写任何代码、搭建任何项目。它会探索项目上下文(读文件、文档、最近提交),一次一个问题地澄清需求,提出 2-3 种方案及权衡,分段展示设计供审批。

规划阶段

  • writing-plans(编写计划):设计批准后激活。将工作拆分成 2-5 分钟的微任务,每个任务包含精确的文件路径、完整代码上下文、验证步骤。计划的书写假设执行者"对你的代码库一无所知,品味堪忧"。

  • using-git-worktrees(使用 Git 工作树):设计批准后自动创建隔离的工作分支,运行项目设置,验证测试基线。让多个任务可以在同一项目上并行推进而互不干扰。

实现阶段

  • test-driven-development(测试驱动开发):最严格的技能。铁律:没有失败的测试,就没有生产代码。经典的 RED-GREEN-REFACTOR 循环:写失败的测试,验证它因正确的原因失败,写最少的代码通过测试,验证所有测试通过,重构。还附带了一份常见 TDD 反模式参考。

  • subagent-driven-development(子代理驱动开发):这是 Superpowers 从"好实践"跨入"架构创新"的关键技能。它从计划中为每个任务派遣一个全新的子代理,每个任务完成后进行两阶段审查:先检查规格合规性,再检查代码质量。每个子代理从干净状态启动,只接收自己的任务描述和相关上下文,不携带完整的对话历史。这防止了上下文污染(积累的上下文降低判断力),也让协调器可以在不耗尽上下文窗口的情况下管理大量任务。Vincent 说,Agent 连续自主工作几个小时不偏离计划并不罕见。

质量保证阶段

  • systematic-debugging(系统化调试):四阶段流程——根因调查、假设形成、针对性修复、验证。铁律:没有根因调查,就不做修复。明确警告不要跳步:"时间紧迫时尤其要用这个技能。紧急情况让猜测变得诱人。"

  • requesting-code-review(请求代码审查):派遣一个独立的子代理来审查已完成的工作。审查者只获取精心构建的评估上下文,看不到实现者的会话历史,避免知道实现理由后产生的偏见。

  • receiving-code-review(接收代码审查):处理另一个方向——如何不带防御性地回应反馈,不做不相关的修改。

收尾阶段

  • verification-before-completion(完成前验证):确保问题确实修复了。
  • finishing-a-development-branch(完成开发分支):任务完成后激活。验证测试,提供选项(合并/PR/保留/丢弃),清理工作树。

元技能

  • writing-skills(编写技能):教 Agent 如何按照最佳实践创建新技能。这开启了自我扩展能力——你可以在 Superpowers 之上写领域特定技能,比如部署检查清单技能、架构决策记录技能、安全审查技能。
  • using-superpowers(使用 Superpowers):技能系统的入口介绍。
  • dispatching-parallel-agents(派遣并行代理):并发子代理工作流。
  • executing-plans(执行计划):带人工检查点的批量执行。

跨平台:一份技能,到处运行

Superpowers 最有影响的设计决策是平台无关性。它的技能文件是 Markdown,不是特定平台的插件。任何能读取 SKILL.md 的 Agent 都能遵循指令。

当前支持的平台包括:Claude Code、Antigravity、Codex App、Codex CLI、Cursor、Factory Droid、Gemini CLI、GitHub Copilot CLI、Kimi Code、OpenCode、Pi——共 11 个编码 Agent。

这让 Superpowers 成为一种可移植的方法论。你的团队用 Claude Code,同事偏好 Codex CLI,两者运行同一套技能。头脑风暴、TDD 强制执行、子代理协调全部可迁移。

当然,不同平台的集成深度不同。Claude Code 有最深度的集成,allowed-tools 沙箱、自动插件更新、原生子代理支持让部分技能(特别是子代理驱动开发)在 Claude Code 上运行得最好。其他 Agent 获得核心工作流但缺乏高级编排。

僵硬与灵活:刻意的设计区分

并非所有技能都用同样方式工作。有些僵硬地带着硬门禁,另一些灵活地提供指导但不强制。这个区分是刻意的。

TDD 和调试是僵硬的。 铁律、明确禁令、"删掉重来"的后果。这些领域偷工减料会造成复合损害——今天跳过的测试,明天变成几小时的回归调试;没调查清楚的根因,变成下游三个 Bug。

头脑风暴是结构化但适应性的。 有检查清单和硬门禁(设计批准前不写代码),但问题和方案因上下文而异。一个 Todo 应用得到简洁设计,一个分布式系统得到彻底的处理。

代码审查是咨询性的。 报告发现和严重程度,人类决定修哪些。

关键在于"解释为什么,不是做什么"。每个技能解释自己的推理:为什么测试必须先失败再通过,为什么根因比症状重要,为什么干净的上下文能防止漂移。Agent 遵守规则是因为理解原则,而不是被要求盲目执行。

子代理驱动开发:实际效果

Superpowers 最大的架构贡献是子代理驱动开发模式。协调器从计划中逐个派遣子代理执行任务,每个完成后进行两阶段审查。协调器负责派遣、审查、处理失败、继续推进——只在真正需要人类判断时才升级。

Vincent 用 Superpowers 完成了 chardet 7.0.0 的发布:速度提升 41 倍,准确率 96.8%,修复了数十个长期存在的问题。覆盖 2,161 个文件、99 种编码的全面测试套件,是 TDD 技能的直接产物。

这套系统的运作逻辑是链式的:头脑风暴产出规格文档,规格文档喂给计划,计划喂给子代理开发,子代理遵循 TDD,代码审查捕捉 TDD 遗漏的问题。每个技能的输出是下一个技能的输入。

如何安装

以 Claude Code 为例,一行命令安装官方市场插件:

text
/plugin install superpowers@claude-plugins-official

其他平台的安装方式类似,Cursor 用 /add-plugin superpowers,Gemini CLI 用 gemini extensions install,Codex CLI 有自己的插件搜索界面。安装后无需额外操作,技能会根据任务类型自动触发。

Vincent 还在博客中分享了一个有趣细节:他用 Cialdini 的说服原则(权威、承诺、一致性、社会认同等)来强化技能的执行效果。Wharton 商学院的一项研究证实,这些原则对 LLM 同样有效。Superpowers 中的技能指令大量使用了权威框架("IMPORTANT: This is real")、承诺机制(让 Agent 主动宣布正在使用哪个技能)、稀缺性暗示(时间压力场景)等说服技巧,目的是让 Agent 更可靠、更有纪律。

Superpowers 不解决的问题

Vincent 很坦率:Superpowers 不是魔杖。它无法修复糟糕的计划,也无法让错误的架构行得通。它的作用是确保那些因为赶时间、跳步骤、不问问题而产生的低级错误不再发生。对大多数项目来说,这些低级错误浪费的时间最多。

如果你用过 AI 编码 Agent,也曾想过"要是它能慢下来好好做事就好了"——Superpowers 做的就是这件事。

来源:GitHub obra/superpowers | Jesse Vincent 博客原文