一、superpowers是什么?
- superpowers是一套给 AI 编程 Agent 使用的标准化开发流程
- Superpowers 把整个软件开发过程编排成七个阶段,每个阶段有明确的「入口条件」和「出口条件」
→ Brainstorming(头脑风暴)
→ Git Worktree(工作区隔离)
→ Writing Plans(编写计划)
→ Subagent-Driven Development(子代理驱动开发)
→ Test-Driven Development(测试驱动开发)
→ Code Review(代码审查)
→ Finishing Branch(分支收尾)
二、核心流程拆解
- Brainstorming(头脑风暴)
-
触发时机:在任何代码编写、功能创建或行为修改之前强制触发。
-
核心动作:
- 探索项目上下文:检查现有文件、文档和近期提交,理解当前系统状态
- 苏格拉底式追问:一次只提一个问题(优先选择题),聚焦目的、约束、成功标准
- 提出 2-3 种方案:给出不同选项的 Trade-off 并给出推荐
- 分段展示设计:按复杂度分块展示(简单功能几句话,复杂功能 200-300 字),每段后请求用户确认
- 写入设计文档:将批准的设计保存至
docs/plans/YYYY-MM-DD-<topic>-design.md并提交
-
关键原则:"Do NOT invoke any implementation skill... until you have presented a design and the user has approved it." 即使是 TODO 列表、单函数工具或配置变更,也必须经过此过程。
-
- Git Worktree(工作区隔离)
- 触发时机:设计文档获得用户批准后,进入实施阶段前。
- 核心动作:
- 基于新分支创建独立的 Git Worktree 工作目录
- 验证
.gitignore配置 - 运行项目初始化和依赖安装
- 运行现有测试基线,确保环境干净
- 为什么隔离:新项目探索性强,方向随时可能调整。Worktree 提供了"改坏了直接删除重来,主分支干干净净"的安全网,避免实验性开发污染生产代码。
- Writing Plans(编写计划)
- 触发时机:设计已批准,Worktree 准备就绪后。
- 核心动作: 将设计文档拆解为粒度极细的任务(官方推荐 2-5 分钟完成一个),每个任务必须包含:
- 精确的文件路径:不允许模糊定位
- 完整的代码内容:禁止 TBD、TODO 等占位符,必须是可以直接落地的完整实现
- 明确的验证步骤:如何确认该任务完成
- 设计哲学:计划的清晰度必须达到"足以让一个热情但品味差、缺乏判断力、不了解项目背景且讨厌测试的初级工程师都能执行"的程度。
- Subagent-Driven Development(子代理驱动开发)
- 触发时机:实施计划就绪后,作为核心执行引擎启动。
- 核心动作:
- 每个任务派遣一个全新的子代理(Fresh Subagent),子代理不继承主会话的任何上下文
- 主 Agent 负责协调,子 Agent 只拿到当前任务的完整描述和必要代码
- 执行两阶段审查:
- 规格合规性:实现是否符合计划?
- 代码质量:代码本身是否优质?
- Test-Driven Development(测试驱动开发)
- 触发时机:每个子代理执行具体任务时强制嵌入。
- 核心动作(铁律级 RED-GREEN-REFACTOR):
- RED:先写一个失败的测试(或让现有测试失败)
- GREEN:写最小量的生产代码使测试通过
- REFACTOR:重构代码,保持测试通过
- COMMIT:提交
- 铁律:"Code written before its test gets deleted." 任何在测试之前编写的生产代码都会被删除。
- Code Review(代码审查)
触发时机:每个任务完成后,进入下一个任务前。
核心动作:- 对照原始计划审查实现偏差
- 按严重程度分类报告问题(Critical / Major / Minor)
- Critical 问题阻塞流程:必须修复后才能继续下一步
- 生成结构化的审查报告,覆盖功能、性能、安全维度
- Finishing Branch(分支收尾)
- 触发时机:全部任务完成且审查通过后。
- 核心动作:
- 最终验证:运行完整测试套件,确认全部通过
- 决策四选一:
- 合并:直接合并到主分支
- PR:提交 Pull Request 供团队评审
- 保留:保留分支但暂不合并
- 丢弃:实验性分支直接删除
- 清理 Worktree:移除临时工作空间
三、强制触发机制:为什么 Agent 不会"偷懒"
- Superpowers 能跑起来的关键不是建议,而是强制性。如果存在适用的 Skill,Agent 必须使用,没有选择余地。
- 其设计借用了 Robert Cialdini 的说服学原理:
- 权威性:提示词中声明"技能是强制性的"
- 承诺一致性:让 Agent 主动宣布正在使用某 Skill
- 社会证明:描述"始终"会发生什么
- 这套机制确保 Agent 不会在你说"写个登录功能"时直接开始堆代码,而是乖乖走完七步流程。
四、Skill 分类体系
14 个核心 Skill 按职责分为四类,支撑上述七步流程:
| 分类 | 包含 Skill | 职责 |
|---|---|---|
| 协作类 | brainstorming, writing-plans, executing-plans, subagent-driven-development, dispatching-parallel-agents, requesting-code-review, receiving-code-review, using-git-worktrees, finishing-a-development-branch |
需求到交付的全链路协作 |
| 测试类 | test-driven-development | 铁律级 TDD + 完成验证门禁 |
| 调试类 | systematic-debugging, verification-before-completion |
四阶段根因分析与完成前验证 |
| 元技能类 | writing-skills, using-superpowers |
自定义 Skill + 系统使用指南 |