乐于分享
好东西不私藏

superpowers 凭什么让 AI 编码助手“工程化“?

superpowers 凭什么让 AI 编码助手“工程化“?

superpowers 凭什么让 AI 编码助手"工程化"?

obra/superpowers,单周新增 30k+ stars,直接拿下双榜冠军,目前总 Star 突破 27.6 万

但很多人误以为它"又是一个提示词模板"。错了。superpowers 不是"更好的 prompt",而是一套把软件工程纪律,变成 AI 编码代理默认行为的技能框架

这篇我们从架构设计、技能激活机制、TDD 强制、subagent 协作、worktree 隔离五个技术维度,把它拆开看。

版本说明:以下基于官方仓库 v5.1.0(约 203k Stars、18.1k Forks)结构分析。作者 Jesse Vincent(GitHub: obra),2025 年 10 月首发。

01 核心洞察:AI 编码助手缺的不是能力,是纪律

superpowers 解决的根本问题不是"模型不够聪明",而是 AI 编码代理的三大失控点

失控点
表现
后果
抢跑
需求没澄清就写代码
做了一堆错的事
漏测
"写完"但没测试验证
假的完成
早宣告成功
没验证就报"好了"
集成时才爆雷

superpowers 的设计哲学一句话:把"靠自觉完成的工程动作",改成 agent 的默认强制路径

它不提升模型上限,但把模型的下限拉到"像样的高级工程师"。

02 仓库结构:分发面与强制面分离

先看清 superpowers 的物理结构,才能理解它怎么生效:

obra/superpowers/├── .claude-plugin/      # Claude Code 插件定义├── .codex-plugin/       # Codex 插件定义├── .cursor-plugin/      # Cursor 插件定义├── .opencode/           # opencode 配置├── gemini-extension.json # Gemini CLI 扩展├── skills/              # 核心:可调用技能目录│   ├── workflow/        # 工作流类(brainstorming/planning)│   ├── debugging/       # 调试类(systematic-debugging)│   ├── testing/         # 测试类(test-driven-development)│   └── meta/            # 元技能(writing-skills)├── hooks/               # 检查技能是否被遵守├── tests/               # 跨 harness 验证流程├── AGENTS.md            # 强制面入口(通用)├── CLAUDE.md            # 强制面入口(Claude)└── GEMINI.md            # 强制面入口(Gemini)

关键设计:分发面 ≠ 强制面

  • 安装插件只是"分发"技能文件到本地
  • 真正的约束靠 AGENTS.md / CLAUDE.md 等强制面入口文件——它们在会话开始时注入"有技能就必须用技能""先查技能再行动"的强制提示
  • hooks/
     和 tests/ 负责验证这些技能在真实会话里有没有被跳过

这就是为什么 superpowers 能在 Claude Code、Cursor、Codex、Gemini、Copilot、Kimi、Hermes 等 9+ 平台上通用——它不强依赖某个模型的特性,而是用"入口文件 + 技能目录"这套通用范式挂钩。

03 技能如何自动激活:不是"建议",是"强制"

普通提示词框架是"建议你用 TDD",superpowers 是"每个任务前必须检查相关技能"。

激活机制三层

① 强制面(入口文件)AGENTS.md 在会话启动时注入核心约束:

“遇到开发任务,先查 skills 目录里有没有对应技能,有就必须用,不要凭直觉。”

② 触发时机 README 明确:agent 会在每个任务前检查相关 skills。skill 是入口,不是补充材料。

③ 验证面(hooks/tests)hooks/ 检查技能是否在真实代理会话里被遵守;tests/ 专门验证"时间压力大 / 沉没成本高"的场景下,agent 有没有偷懒跳过技能。

常见"不生效"原因

根据官方说明,三种情况会导致技能没激活:

  1. 没重启会话加载入口文件
  2. 触发的不是"开始任务"信号(比如在闲聊中)
  3. 当前目录不是 Git 干净基线(worktree 信号不显)

04 TDD 强制:RED → GREEN → REFACTOR

test-driven-development 技能把测试驱动开发变成不可绕过的流程:

强制顺序

RED(红)    → 先写测试,看到它失败GREEN(绿)  → 写最小实现,让测试通过REFACTOR(重构)→ 在测试保护下重构

官方表述很硬:“测试之前写出来的代码,该删就删。”

为什么这个设计有效

普通 AI 编码是"先写一大坨,再补测试糊弄一下"。superpowers 反向操作——先让测试失败,再写实现。这强制 agent:

  • 先想清楚"什么叫对"(测试即规格)
  • 不写无法验证的代码
  • 重构时有安全网

这直接解决了"AI 写完的代码其实没跑过"的行业顽疾。

05 Subagent 两阶段审查:先查偏题,再查风格

subagent-driven-development(或 executing-plans)是 superpowers 放大量吞吐的核心。但它不是简单地"开 N 个 agent 并行",而是有两阶段审查纪律:

审查顺序

阶段一:Spec compliance(规格符合性)

  • 先判断:有没有做对?有没有偏题?
  • 这是优先级最高的检查

阶段二:Code quality(代码质量)

  • 再判断:写得好不好?风格对不对?

设计逻辑

为什么要分两阶段?因为如果 agent 已经做偏了(spec 不对),再去纠结代码风格毫无意义。先纠偏,再提质——避免一个上下文越做越歪。

这也是 superpowers 解决"长任务偏航"的关键:把大任务拆成小任务派给 subagent,每个小任务完成后先过 spec 再过质量。

06 Git Worktree 隔离:在什么时候建工作区

using-git-worktrees 技能的触发时机很讲究——不是一开始建工作区,而是 brainstorming 设计获批之后、写计划之前

隔离原理

  1. 创建隔离工作区(worktree)
  2. 切到新分支
  3. 验证干净基线(没有未提交改动)

为什么必须在这一步

“没有隔离,你很难判断修改是否带入问题。”

设计获批前就建 worktree,等于在需求还模糊时占坑;设计获批后建,才能保证:

  • 主分支不被半成品污染
  • 出问题容易回滚
  • 多个任务并行时不互相踩

前置依赖:当前目录必须是 Git 仓库,且基线干净。否则 worktree 信号不显,技能不触发。

07 Writing-plans:把 spec 变成"傻瓜可执行清单"

writing-plans 是 superpowers 里最容易被低估、却最关键的技能。它定义了计划拆解的粒度标准

粒度标准

  • 每个步骤 2 到 5 分钟 能完成
  • 文档要清楚到"一个热情但品味不佳、没有判断力、没有项目上下文、不爱测试的初级工程师"也能执行
  • 每个步骤含确切文件路径 + 代码草图

为什么这个标准厉害

AI agent 在长流程里偏航,往往是因为计划太粗——"实现登录功能"这种粒度,agent 会自由发挥。拆成"在 auth.ts 第 12 行加 token 校验,参考 utils/jwt.ts 的 sign()"这种粒度,agent 就没多少自由发挥空间了。

writing-plans 是 spec 变可执行清单的桥梁,直接决定了后续 subagent 执行的成功率。

08 Brainstorming:写代码前先问清楚

brainstorming 在所有技能里最靠前——开始写代码之前必须触发

苏格拉底式提问

agent 通过提问澄清:

  • 单人用还是协作?
  • 需要持久化吗?
  • 要登录吗?
  • 移动端支持吗?

设计哲学

“不澄清需求和边界,后面计划再细,也只是把错事做工整。”

brainstorming 解决的是"抢跑"失控点——先确认做什么、不做什么,再谈怎么做。

09 完整实战:用 superpowers 写一个 React Todo List

输入:“Let’s make a React todo list”

Step 1 — Brainstorming agent 先问:单人还是协作?要持久化吗(localStorage)?要登录吗?要移动端适配吗? 你答:单人、localStorage 持久化、不要登录、桌面优先。

Step 2 — Using Git Worktrees 设计确认后,agent 建隔离工作区、切新分支、验证干净基线。

Step 3 — Writing Plans 拆成:① 项目骨架 ② 列表渲染与交互 ③ localStorage 存储 ④ 测试 + review。

Step 4 — Subagent Dispatch 你说"go"后,agent 派发 subagent 并行推进各步骤。

Step 5 — TDD 每步 每步先写测试看到 RED,再写实现到 GREEN,最后 REFACTOR。

Step 6 — Code Review 任务之间 requesting-code-review 拦截关键缺陷(不是所有问题都拦,但严重问题必须解决)。

Step 7 — Finishing Branch 完成 finishing-a-development-branch:统一验证,给你选项 merge / PR / keep / discard。

怎么判断 superpowers 真生效了?

盯三个信号:

  1. ✅ 先问清需求(brainstorming 触发)
  2. ✅ 拆细计划(writing-plans 输出 2-5 分钟粒度)
  3. ✅ TDD 真见失败测试(不是"我写好了",而是"测试先红了")

三个都满足,说明框架在起作用;缺一个,说明技能被跳过了。

10 安装与配置

superpowers 通过各编码工具的插件市场安装:

# Claude Code/plugin install superpowers@claude-plugins-official# Cursor/add-plugin superpowers# Codex# 插件市场搜索安装# Gemini CLIgemini extensions install https://github.com/obra/superpowers# Kimi Code/plugins install https://github.com/obra/superpowers# Hermes Agenthermes plugins install obra/superpowers --enable

安装后无需手动操作——代理在会话启动首条消息即自动激活 superpowers,技能按场景自动触发。

关闭遥测:export SUPERPOWERS_DISABLE_TELEMETRY=1

11 亮点与边界

亮点

  • 本周双榜冠军
    :27.6 万 Star,社区强验证
  • 解决失控点
    :抢跑 / 漏测 / 早宣告成功,三个都堵上了
  • 跨工具通用
    :9+ 编码助手全支持,不绑定模型
  • 可扩展
    writing-skills 让你把团队规范写成技能,越用越贴合
  • MIT 协议
    :商用友好

边界(必须说清楚)

  • 不提升模型上限——只会让模型的下限更稳。模型本身弱,装了也白搭
  • 小修小改显啰嗦
    :改个 typo 也走完整流程,有时效率不如直接手写
  • 依赖干净 Git 基线
    :脏工作区会导致部分技能不触发
  • 中文文档仍少
    :社区以英文为主

写在最后

superpowers 的爆火,揭示了一个被很多人忽略的事实:

2026 年的 AI 编程,瓶颈不在"模型聪不聪明",而在"工程纪律有没有被强制执行"。

一个高级工程师的价值,不是他懂多少语法,而是他先想清楚、先写测试、隔离改动、主动 review 的纪律。superpowers 把这些纪律从"人靠自觉"变成了"agent 靠框架强制"。

装上它,你的编码助手就从"热心但毛躁的实习生",变成了"有流程、有标准、有交付意识的搭档"。

如果你天天用 Claude Code / Cursor / Codex 写代码,这个本周冠军值得装——毕竟,能逼着 AI 不偷懒的框架,才是好框架。

GitHub:https://github.com/obra/superpowers