
Superpowers - 01 让 AI 真正“懂工程”:Superpowers 软件开发工作流深度解析
面向读者:日常已经在用 Claude Code / Cursor / Copilot CLI / Gemini CLI / Codex / OpenCode 等 AI 开发工具,希望把「写代码的 agent」升级成「会做工程、会规划、会审查的工程搭子」的开发者与技术爱好者。
过去一年,几乎所有人都体验过类似的场景:
- 把一个需求丢给 AI,它立刻开始写代码,看起来很聪明,但你总有点不放心。
- 方案没有权衡、没有设计文档、没有测试计划,最后你要自己收拾技术债。
- 越用越发现:AI 更像是一个「代码 autocomplete++」,而不是一个懂工程纪律的同事。
在这套体系下,一个典型的需求(比如「给我的应用加上用户认证」)不会直接变成一堆代码,而会自动走完:头脑风暴 → 设计 → 计划拆分 → Git 隔离 → 子 Agent 开发 → TDD → 收尾合并 这一整条流水线。
这一篇文章,就带你从「概念」到「落地」,完整走一遍 Superpowers 的快速开始指南,并结合工程实践聊聊它到底改变了什么,又有什么坑需要注意。
Superpowers 当前版本为 v5.0.7,本质上是一个「基于技能(Skill)的工作流系统」。
它有几个关键特征:
- 技能库驱动
内置 15+ 个可组合技能,每个技能都是一个独立的SKILL.md文件,并带有 YAML Frontmatter 用于自动发现与匹配,比如:
brainstorming:头脑风暴与需求澄清writing-plans:编写实现计划using-git-worktrees:使用 Git worktree 进行隔离开发subagent-driven-development:子 Agent 驱动开发test-driven-development:端到端 TDD 流程finishing-a-development-branch:开发分支收尾与合并策略
- 零依赖设计
除了你自己的 Agent 平台(Claude Code / Cursor / 等)以外,Superpowers 不依赖额外服务或基础设施。
- 两大运行机制
- SessionStart Hook:每次新会话启动时,自动注入
using-superpowers技能。 - 技能目录:扫描技能目录下的
SKILL.md和 Frontmatter,根据对话意图自动选择合适技能。
- SessionStart Hook:每次新会话启动时,自动注入

官方给了一张架构示意图,可以抽象为四层:
- Agent 平台层
- 例如 Claude Code、Cursor、Codex、Gemini CLI、Copilot CLI、OpenCode 等。
- Superpowers 插件层
- 核心组件包括:
- SessionStart Hook(
hooks/session-start) - hooks 配置(
hooks.json、hooks-cursor.json) using-superpowers路由技能(skill router & discipline)
- SessionStart Hook(
- 核心组件包括:
- 技能目录层
- 放的是 15+ 个 composable skills,每个技能一个
SKILL.md,通过 Frontmatter 描述触发条件、优先级等。
- 放的是 15+ 个 composable skills,每个技能一个
- 你的代码与文档层
- 设计规范:
docs/superpowers/specs/ - 实现计划:
docs/superpowers/plans/ - 源码与测试代码:你的项目本身。
- 设计规范:
数据流大致是这样:新会话 → SessionStart Hook 注入 using-superpowers → 根据用户意图查技能目录 → 选择匹配技能驱动工作流 → 在你的代码库中产出计划、代码和测试。
这一层「大脑」和你使用的 Agent 模型本身是解耦的,因此也具备较好的多平台迁移性。
Superpowers 当前开箱支持 7 个主流平台:
/add-plugin) ✅ 完整 IDE 集成工作流 GitHub Copilot CLI 插件市场 ✅ 完整 终端命令行工作流 Gemini CLI
gemini extensions install 通过 activate_skill 偏 Google AI 生态 Codex Git 克隆 + 符号链接 ✅ 完整(需配置) OpenAI CLI 用户 OpenCode 在
opencode.json 中配置插件 ⚠️ 有限 OpenCode.ai 用户
所有平台共享同一套技能库,区别仅在于「插件如何被加载、钩子如何注册、工具调用如何映射」。
下面以官方快速开始文档为基础,梳理各平台的安装路径和注意事项。
Claude Code 是 Superpowers 的首要目标平台,支持全部功能。
安装指令示意如下(在其插件系统中执行):
/plugin marketplace add obra/superpowers-marketplace /plugin install superpowers@superpowers-marketplace
安装完成后,每次你在 Claude Code 中创建「新会话」,SessionStart 钩子就会被触发,自动注入 using-superpowers 技能。
在 Cursor 中安装非常直接:
/add-plugin superpowers
或者在插件市场搜索 “superpowers” 安装。
这里有几个实现细节值得注意:
- Cursor 使用的是
sessionStart(小写 s)的钩子名称,而不是通用的SessionStart。 - Cursor 的额外上下文输出字段叫
additional_context,而不是别的平台常用的字段名。 - Superpowers 会通过
CURSOR_PLUGIN_ROOT环境变量自动检测当前运行在 Cursor 下,并选择对应的hooks-cursor.json与输出字段。
对你而言,这一切是透明的:安装 → 新会话 → 正常使用即可。
若你习惯在终端里用 Copilot CLI 辅助开发,可以这样安装:
copilot plugin marketplace add obra/superpowers-marketplace copilot plugin install superpowers@superpowers-marketplace
之后在命令行开启会话即可享受同样的工作流能力。
对于 Google Gemini CLI 用户,可以用官方的扩展机制安装:
gemini extensions install https://github.com/obra/superpowers
Superpowers 为 Gemini 生态提供了一个额外的 GEMINI.md:用于声明技能引用与工具映射,从而把不同平台之间的工具名称差异(比如 Claude Code vs Gemini)屏蔽在内部实现里。
如果你在用 Codex(OpenAI 生态 CLI agent),安装步骤略有不同:
- 在 Codex 会话里发出指令:
Fetch and follow instructions from https://raw.githubusercontent.com/obra/superpowers/refs/heads/main/.codex/INSTALL.md - 这会触发一个引导式脚本:
- 克隆 Superpowers 仓库。
- 在
~/.agents/skills/superpowers下创建指向技能目录的符号链接。
Codex 原生支持「技能目录扫描」机制,会在启动时扫描 ~/.agents/skills/ 并按需加载技能,这与 Superpowers 的结构天然契合。
如果你是 OpenCode.ai 用户,可以在你的全局或项目级 opencode.json 中添加如下配置:
{ "plugin": [ "superpowers@git+https://github.com/obra/superpowers.git" ] }
重启 OpenCode 后,系统会通过 Bun 自动安装插件,并用它自己的 config 钩子注册所有技能,无需你手动创建符号链接。
安装完成后,你需要做的第一件事不是「写代码」,而是验证 SessionStart 钩子和技能路由是否正常工作。
官方建议的步骤是:
- 在你的平台中开启一个全新的会话(而不是继续旧会话)。
- 输入一个应该能触发技能的请求,比如:
Help me plan this featureLet's debug this issue
如果 Superpowers 正常工作,你应该能看到类似的行为:
- Agent 明确说明自己正在使用某个技能,例如:
- “I’m using the brainstorming skill.”
- “I’m using the systematic-debugging skill.”
- 它不会马上跳到「代码实现」,而是先退一步:
- 询问澄清问题。
- 帮你整理需求背景。
- 讨论不同方案和权衡。
这正是 Superpowers 想要的默认行为:先重视工程思考,再开始代码实现。
如果你观察到的是「它还是像之前一样鲁莽写代码」,那大概率是安装或会话状态的问题。
/clear 或彻底重启 agent
从工程角度看,这一步就像为新引入的 CI/CD 流水线做一个最小可用验证(smoke test),强烈建议每位团队成员都跑一遍。

为了让你感性认识 Superpowers 实际如何工作,官方用了一个非常典型的例子:
你对 agent 说:“I want to add user authentication to my app.”
接下来发生的一切,都会自动串联到一个完整的工程工作流中。下面我们按阶段拆开来看。
在 Brainstorming 阶段,Superpowers 驱动的 Agent 会做几件事:
- 逐条向你提出澄清性问题(如现有架构、技术栈、用户类型等)。
- 给出 2–3 套整体方案(例如基于 session 的认证 vs JWT vs OAuth 集成),并明确各自优劣。
- 把潜在的风险点、演进路径、对现有系统的影响列出来。
当设计规范确定后,Agent 会生成一份结构化的实施计划:
- 每个任务的粒度被控制在 2–5 分钟之内。
- 每个任务明确列出:
- 涉及的文件路径。
- 需要添加或修改的代码块。
- 对应的预期测试输出(例如某个测试用例应当失败/通过)。
这个计划并不是「写给人看的 checklist」而已,而是接下来整个自动化开发流水线的「执行蓝图」。
一个简化示例可能会长这样(仅示意):
Task 1: Add User model and migration - Files: src/models/User.ts, migrations/-add-user-table.ts - Tests: tests/models/user.test.ts (should include basic CRUD tests) Task 2: Implement password hashing - Files: src/services/password-hasher.ts - Tests: tests/services/password-hasher.test.ts (red → green → refactor) ...
接下来,Superpowers 会建议通过 Git worktree 创建一个隔离的开发工作区:
- 在一个新的分支上启用 worktree(而不是直接在主分支上改)。
- 在任何修改之前,先运行现有测试套件,确保当前基线是干净的。
- 项目初始化和依赖安装也在这个隔离环境中完成。
Git worktree 的好处在于,你可以同时在多个分支上有独立的工作目录,避免反复切分支、清理工作目录的痛点,也降低了实验性修改污染主工作区的风险。
在 Subagent 驱动开发阶段,Superpowers 的行为大致可以概括为:「计划驱动的并行小 Agent 协作」。
- 每个任务被分配给一个全新的子 Agent。
- 每个任务产出的结果要经过两轮审查:
- 规范符合性审查:检查是否严格遵循设计规范与计划。
- 代码质量审查:检查风格、可读性、复杂度、边界情况等。
这样做的好处,是可以避免「一个大 Agent 写着写着就跑偏了」的常见问题,它强制把注意力锁定在每个小任务的范围内。
Superpowers 内置了一个名为 test-driven-development 的能力,用于把 TDD 落实到每个任务中:
对每一小块实现,它都尽量遵循如下循环:
- Red:先写一个失败的测试。
- Green:写出刚好能让测试通过的最小实现。
- Refactor:在测试绿灯的保护下重构代码,使其更易维护。最后再提交。
这套节奏可以减少「先一大坨代码,最后再想怎么测」的混乱,也更符合持续集成的**实践。
当所有任务完成、测试通过后,Superpowers 会驱动 Agent 把分支收尾:
- 再次跑一遍测试确认。
- 给你提供明确选项:
- 在本地合并到主分支。
- 创建一个 Pull Request。
- 保留该 feature 分支供后续继续迭代。
- 直接丢弃这次工作(比如原型验证后不再需要)。
这个阶段有点像一个「互动式 Release 策略向导」,帮你把改动以合理方式落到团队的 Git 流程中。
如果你已经习惯了那些「一说完需求立刻刷屏写代码」的 Agent,Superpowers 的体验可能会让你有点不适应。
官方文档直接强调了这一点:
- 它是刻意设计成「先慢后快」。
- 它会先问你真正想要的是什么,梳理方案和权衡。
- 它会在动手写代码之前,先把设计、计划、测试策略确定下来。
从工程管理的视角看,这种「故意加前置步骤」有三个显而易见的收益:
- 返工更少:需求和边界先想清楚,后续变更量更可控。
- 架构更合理:不是 patch 式的修改,而是对系统演进路径的整体考量。
- 团队协作更顺畅:设计文档、计划和测试都更可复用、更易于 Code Review。
它给的是「默认工作方式」,而不是「强制流程」。
随着各大平台迭代,Superpowers 自身也在持续演进。官方推荐通过你所在平台的插件机制更新:
示例命令包括:
/plugin update superpowers # 通用插件系统示例 cd ~/.codex/superpowers && git pull # Codex gemini extensions update superpowers # Gemini CLI
其中 OpenCode 会在重启时自动更新,而 Cursor 则使用其插件市场的更新机制。
若你已经完成快速开始并成功跑通一个端到端项目,建议按官方推荐顺序继续深入:
- 平台安装指南:更细节的平台特定配置、高级选项与故障排查。
- 架构概述:进一步理解钩子触发机制、技能发现算法与优先级系统。
- 技能发现与激活:弄清楚 Agent 在什么情况下会选择哪个技能、为什么是它而不是别的。
- 头脑风暴与设计规范:深入研究工作流第一阶段,怎样写出更高质量的设计规范,让后续环节收益最大。
遇到问题时,你也可以通过 Discord 社区和 GitHub Issues 寻求帮助,入口在「社区与贡献」章节中给出。
从整体来看,Superpowers 做的事情可以概括成一句话:
它不试图让你的模型「更聪明」,而是让它「更像一个受过严格训练的软件工程师」。
它通过一组可组合的技能,把头脑风暴、设计、拆分计划、Git 隔离、子 Agent 协作、TDD 以及收尾合并等实践嵌进了日常的 AI 开发流程里,用「工作流」替代「一次次临时对话」。
如果你已经在用 Claude Code、Cursor、Copilot CLI 或 Gemini CLI 来写代码,不妨试试给它装上这层「工程大脑」,看看从下一个「加登录」的需求开始,你和 AI 之间的协作会发生哪些质变。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/257855.html