跳转至

从“会写代码”到“会正确交付”: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]

它的独特之处可以压缩成三句话:

  1. Hook 负责让规则出现。 SessionStart 启动时注入 using-superpowers,防止能力库“装了但没被使用”。
  2. Skill 负责把规则写清楚。 每个 SKILL.md 都是一个带触发条件、流程、反模式和验证门槛的过程协议。
  3. 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、集成和迁移测试的布局