一、superpowers是什么?

  • superpowers是一套给 AI 编程 Agent 使用的标准化开发流程
  • Superpowers 把整个软件开发过程编排成七个阶段,每个阶段有明确的「入口条件」和「出口条件」
→ Brainstorming(头脑风暴)
→ Git Worktree(工作区隔离)
→ Writing Plans(编写计划)
→ Subagent-Driven Development(子代理驱动开发)
→ Test-Driven Development(测试驱动开发)
→ Code Review(代码审查)
→ Finishing Branch(分支收尾)

二、核心流程拆解

  1. Brainstorming(头脑风暴)
    • 触发时机:在任何代码编写、功能创建或行为修改之前强制触发。

    • 核心动作

      1. 探索项目上下文:检查现有文件、文档和近期提交,理解当前系统状态
      2. 苏格拉底式追问:一次只提一个问题(优先选择题),聚焦目的、约束、成功标准
      3. 提出 2-3 种方案:给出不同选项的 Trade-off 并给出推荐
      4. 分段展示设计:按复杂度分块展示(简单功能几句话,复杂功能 200-300 字),每段后请求用户确认
      5. 写入设计文档:将批准的设计保存至 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 列表、单函数工具或配置变更,也必须经过此过程。

  2. Git Worktree(工作区隔离)
    • 触发时机:设计文档获得用户批准后,进入实施阶段前。
    • 核心动作
      1. 基于新分支创建独立的 Git Worktree 工作目录
      2. 验证 .gitignore 配置
      3. 运行项目初始化和依赖安装
      4. 运行现有测试基线,确保环境干净
    • 为什么隔离:新项目探索性强,方向随时可能调整。Worktree 提供了"改坏了直接删除重来,主分支干干净净"的安全网,避免实验性开发污染生产代码。
  3. Writing Plans(编写计划)
    • 触发时机:设计已批准,Worktree 准备就绪后。
    • 核心动作: 将设计文档拆解为粒度极细的任务(官方推荐 2-5 分钟完成一个),每个任务必须包含:
      • 精确的文件路径:不允许模糊定位
      • 完整的代码内容禁止 TBD、TODO 等占位符,必须是可以直接落地的完整实现
      • 明确的验证步骤:如何确认该任务完成
    • 设计哲学:计划的清晰度必须达到"足以让一个热情但品味差、缺乏判断力、不了解项目背景且讨厌测试的初级工程师都能执行"的程度。
  4. Subagent-Driven Development(子代理驱动开发)
    • 触发时机:实施计划就绪后,作为核心执行引擎启动。
    • 核心动作
      • 每个任务派遣一个全新的子代理(Fresh Subagent),子代理不继承主会话的任何上下文
      • 主 Agent 负责协调,子 Agent 只拿到当前任务的完整描述和必要代码
      • 执行两阶段审查
        1. 规格合规性:实现是否符合计划?
        2. 代码质量:代码本身是否优质?
  5. Test-Driven Development(测试驱动开发)
    • 触发时机:每个子代理执行具体任务时强制嵌入。
    • 核心动作(铁律级 RED-GREEN-REFACTOR)
      1. RED:先写一个失败的测试(或让现有测试失败)
      2. GREEN:写最小量的生产代码使测试通过
      3. REFACTOR:重构代码,保持测试通过
      4. COMMIT:提交
    • 铁律"Code written before its test gets deleted." 任何在测试之前编写的生产代码都会被删除。
  6. Code Review(代码审查)
    触发时机:每个任务完成后,进入下一个任务前。
    核心动作
    • 对照原始计划审查实现偏差
    • 按严重程度分类报告问题(Critical / Major / Minor)
    • Critical 问题阻塞流程:必须修复后才能继续下一步
    • 生成结构化的审查报告,覆盖功能、性能、安全维度
  7. Finishing Branch(分支收尾)
    • 触发时机:全部任务完成且审查通过后。
    • 核心动作
      1. 最终验证:运行完整测试套件,确认全部通过
      2. 决策四选一
        • 合并:直接合并到主分支
        • PR:提交 Pull Request 供团队评审
        • 保留:保留分支但暂不合并
        • 丢弃:实验性分支直接删除
      3. 清理 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 + 系统使用指南