从“会写代码”到“会正确交付”:Superpowers 的源码拆解¶
一套被装载到 coding agent 上的开发方法论,如何把模糊需求变成经过验证的交付物?答案藏在 hook、skill、subagent 和 review loop 的组合里。
先给结论¶
Superpowers 的核心不是某个大模型调用,也不是一套内置工具。它做的事情是把软件开发中的隐性经验变成一组可触发、可组合、可验证的过程模块:
flowchart LR
A[用户提出想法] --> B[brainstorming]
B --> C[设计获批]
C --> D[writing-plans]
D --> E[executing-plans 或 SDD]
E --> F[TDD / debugging]
F --> G[review / verification]
G --> H[finish branch]
它的独特之处可以压缩成三句话:
- Hook 负责让规则出现。
SessionStart启动时注入using-superpowers,防止能力库“装了但没被使用”。 - Skill 负责把规则写清楚。 每个
SKILL.md都是一个带触发条件、流程、反模式和验证门槛的过程协议。 - Harness 负责真正执行。 Superpowers 不接管模型、终端或文件系统,而是通过适配层把同一套意图翻译成宿主能理解的 manifest、hook 和工具名。
建议阅读顺序¶
先读第 1–3 章理解“它是什么、怎样进入会话、技能怎样被发现”;再读第 4–6 章理解开发生命周期;最后读第 7–8 章看同一套方法论如何跨平台和持续演进。
证据从哪里来¶
本网站基于 superpowers-main 本地快照,manifest 中的版本为 6.2.0。正文中的源码路径和行号用于定位原始证据;上游仓库为 obra/superpowers。
这不是使用手册
这份文档的目标是解释设计,而不是重复上游 README 的安装步骤。想安装插件,请以上游 README为准;想理解它为什么这样组织,再从第 1 章开始。
章节导览¶
| 章节 | 核心问题 | 读完后你应该能解释 |
|---|---|---|
| 01 总览 | Superpowers 到底是什么? | 它与 Agent、模型、工具和插件的边界 |
| 02 启动与注入 | 规则如何进入一次会话? | manifest → hook → additional context 的链路 |
| 03 技能系统 | 一个 SKILL.md 如何改变 Agent 行为? | 触发、渐进披露、引用和脚本的分工 |
| 04 设计与计划 | 为什么不直接开始写代码? | brainstorming 到 plan 的人工确认状态机 |
| 05 执行与协作 | 如何把计划变成可靠改动? | subagent、worktree、并行和修复循环 |
| 06 质量闭环 | 如何避免“看起来完成了”? | red/green、根因、证据和 review 的闭环 |
| 07 多 Harness 适配 | 为什么一个项目有这么多入口? | 统一技能内容与平台方言的分层 |
| 08 测试与演进 | 方法论怎么自我验证? | shell、Node、集成和迁移测试的布局 |