在AI编程助手领域,Superpowers这款工具近期备受关注。它精准解决了一个常见痛点:许多代码生成Agent并非能力不足,而是容易在启动时盲目行动。由于没有先理清需求、制定计划、准备测试,最终只能边编码边修补,导致开发效率低下。
Superpowers的核心思路非常直接:将编码Agent的工作流程固定下来。先明确需求,再拆解计划;先编写测试,再撰写代码;能够分配给子Agent的任务就分派出去,最后统一进行审查与收尾。它管理的是执行方式,而非需求本身。
一、它是什么
Superpowers并非一个简单的提示词,而是一套为Agent设计的开发流程。它通过skills将常见动作串联起来:先进行头脑风暴,再编写计划,然后分工执行、测试、审查、收尾。
你可以把它理解为一种“习惯强制器”。Agent本身没有变化,但不再默认“立即开始编写代码”,而是先暂停,把任务拆解清楚。
二、它和OpenSpec的区别
最简洁的总结如下:
- OpenSpec负责“写什么”
- Superpowers负责“怎么写”
OpenSpec更偏向规格驱动,帮助你清晰定义目标、范围、约束和任务边界。Superpowers更侧重执行驱动,它不代替你确定产品方向,但会强制Agent按顺序操作,避免一头扎进代码中。
两者结合使用时,推荐的顺序非常简单:
- 先用OpenSpec将需要完成的事情阐述清楚;
- 再让Superpowers带领Agent按照流程落地执行;
- 中间通过plan、test、review来控制偏差。
这样就能避免“需求写得不错,但落地时却被Agent带偏”的尴尬局面。
三、安装
Superpowers支持多个harness,安装方式需根据你实际使用的环境来选择。
GitHub Copilot CLI
copilot plugin marketplace add obra/superpowers-marketplace
copilot plugin install superpowers@superpowers-marketplace
Claude Code
可以通过官方插件市场进行安装:
/plugin install superpowers@claude-plugins-official
OpenCode
将插件添加到opencode.json配置文件中:
{
"plugin": ["superpowers@git+https://github.com/obra/superpowers.git"]
}
安装完成后,重启对应的Agent即可。关键在于“真正按照这些skills运行”,而不仅仅是“安装成功”。
四、它的工作方式
Superpowers最核心的价值,并非某个单独的skill,而是它固定了一条完整的开发链路。
最短路径
- 触发
brainstorming; - 收敛设计;
- 进入
writing-plans; - 执行
subagent-driven-development; - 中间通过
test-driven-development和requesting-code-review控制质量; - 最后使用
finishing-a-development-branch完成收尾。
这套顺序看似朴素,实际效果非常显著。它能够提前拦截Agent最容易犯的几类错误:未确认需求就编写代码、未测试就合并、执行过程中逐渐偏离原始目标。如果只想快速落地一轮,先跑通这条链路就足够。
五、常用技能
官方README中的基本工作流,本质上是一组强绑定的skills:
| Skill | 作用 |
|---|---|
brainstorming |
先把问题问清楚,进行设计收敛 |
using-git-worktrees |
建立隔离的开发环境 |
writing-plans |
将方案拆解为可执行的计划 |
subagent-driven-development |
让子Agent按任务执行并互相审查 |
test-driven-development |
RED-GREEN-REFACTOR,先测试再编写代码 |
requesting-code-review |
在任务间进行代码审查 |
finishing-a-development-branch |
收尾、验证、合并或关闭分支 |
它的目的不是让你记忆命令,而是让这些动作在恰当的时机自动出现。
六、一个更实际的例子
假设你需要开发一个react todo list。
没有Superpowers时,通常的做法是直接输出代码,之后才发现状态管理、边界条件和测试都未对齐。
有了Superpowers,流程会变成:
- 先明确目标:这个todo list面向哪些用户?是否需要过滤、持久化、同步?
- 先编写计划:拆分为3-5个小任务;
- 先编写测试:每个功能都用失败的测试来逼出边界条件;
- 再执行编码:使用子Agent分工协作;
- 再审查代码:每一步都确认没有偏离原始需求。
最终的结果通常更平稳、更可靠:需求清晰,代码整洁,接手的人无需猜测。
七、总结
如果你已经在使用OpenSpec,Superpowers非常适合作为后续环节。OpenSpec负责把需求讲清楚,Superpowers负责防止Agent跑偏。一个管理入口,一个管理执行。两者配合使用,整体体验会比单独使用顺畅得多。
