SKILL 02 / CODING · DEEP DIVE

Superpowers 拆解

把方法论钉成强制流水线 — 十四个 skill · 装法 · 它什么时候是负担

2026-09-04 · BigCat

它最有意思的地方不是那七段流程,是它根本不靠「模型觉得相关才读」——开场就把规矩灌进每一次会话。这既是它管用的原因,也是它的账单。

前置 → Skill 01 编码类 Skills 榜单(superpowers 在表里排第一行)

// WHY THIS MATTERS

superpowers(作者 Jesse Vincent,MIT;据 GitHub 仓库页 2026-09,约 28.2 万 star / 2.5 万 fork;据仓库 RELEASE-NOTES.md,最新 v6.3.0 发布于 2026-08)不是一个 skill,是 14 个 skill 组成的一套开发方法论,外加一个把它塞进每次会话的钩子。它替你干掉的那件事是:agent 一上来就动手写代码。本期把这 14 个逐个点名、给出各自的目录链接和该不该用的判断,再拆开它凭什么能强制生效——以及这份强制在小任务上收多少费。

// 01

它替你干掉什么:一条命令,十四个 skill

论断:它治的不是「模型代码写得不好」,是「模型跳过了想清楚、跳过了测试、跳过了自查就宣布做完了」。这四件事各有一个 skill 顶着。

装法(据仓库 README,2026-09)

# Claude Code:走官方 plugin 源
/plugin install superpowers@claude-plugins-official

# 其余 harness,README 各给一条:
Cursor:        /add-plugin superpowers
Gemini CLI:    gemini extensions install https://github.com/obra/superpowers
Copilot CLI:   copilot plugin install superpowers@superpowers-marketplace
Devin CLI:     devin plugins install obra/superpowers
Kimi Code:     /plugins install https://github.com/obra/superpowers

# 第一条立刻能跑的用法:装完什么都不用敲,直接说
#   「我想给这个项目加一个 X」
# 它不会开写,会先回你一串问题——那就是 brainstorming 起作用了。

十四个 skill,各自替你干掉什么

skill(仓库 skills/ 目录下同名文件夹) 替你干掉的那件事 什么时候别用它 ────────────────────────────────────────────────────────────────────────────── brainstorming 「还没问清就开写」 需求本来就一句话说得清 writing-plans 「计划只在模型脑子里」 一次性脚本,写完就扔 executing-plans 「写着写着偏离了计划」 没有计划文档时 subagent-driven-development 主上下文被实现细节撑爆 单文件小改 dispatching-parallel-agents 串行等待多个独立子任务 任务之间互相依赖 test-driven-development 「先写实现再补测试」 原型 / 生成代码 / 配置文件 systematic-debugging 「猜一个改一个」 错误信息已经指名道姓 requesting-code-review 自己审自己的 diff 已有强制人审 + 严格 CI receiving-code-review 对审查意见挑着听 —— 和上一条配套 using-git-worktrees 在主分支上做实验 仓库本来就一人一分支 finishing-a-development-branch 分支收尾时漏跑测试 你自己的合并流程更严 verification-before-completion 「我做完了」但没验 纯文本产出、无从验证 writing-skills 自己写 SKILL.md 没章法 你不打算写 skill using-superpowers —— 上面全部的调度入口 (不可单独禁用) ────────────────────────────────────────────────────────────────────────────── 据 obra/superpowers 仓库 skills/ 目录,2026-09;每个名字都是目录名,可直接进去读 SKILL.md

七段主流程就是把上表串起来:brainstorming → using-git-worktrees → writing-plans → subagent-driven-development → test-driven-development → requesting-code-review → finishing-a-development-branch。装的时候是一整个 plugin,没有勾选框。

失败模式:把它当成「装了代码就变好」的增强包。它不改模型的编码能力,只改做事顺序——顺序本来就对的人装了只会觉得慢。
// 02

机制:它凭什么能强制生效

论断:普通 skill 靠 description 被模型「觉得相关」才触发;superpowers 不赌这个——它用一个 SessionStart 钩子,每次开场把总则原文塞进上下文。

第一层:钩子,不是渐进式披露

仓库里 hooks/hooks.json 注册的是 SessionStart 钩子,匹配 startup|clear|compact 三个时机;hooks/session-start 这个脚本把 skills/using-superpowers/SKILL.md 的全文读出来,包在 <EXTREMELY_IMPORTANT> 标签里注入。所以「自动触发」在这里是字面意思:你没提需求它就已经在了,而且清空上下文、压缩上下文之后还会再来一遍。

第二层:一份「不许绕过」的调用契约

被注入的 using-superpowers 只有 63 行、约 3.1 KB(据仓库文件,2026-09),内容基本是一张反例表——把模型可能用来跳过流程的借口逐条列出来堵死:「这只是个简单问题」→ 问题也是任务;「我得先看看代码」→ skill 会告诉你怎么看;「这个 skill 太重了」→ 简单的事会变复杂。它还定了优先级:流程类 skill 先于实现类 skill,以及 CLAUDE.md / AGENTS.md 与你的直接指令高于 skill。

第三层:把审查做成隔离的子进程

requesting-code-review 的做法值得单拎出来:它不让主 agent 自己读 diff,而是取 BASE_SHA / HEAD_SHA,派一个 general-purpose subagent,用仓库里的 code-reviewer.md 模板填参数。SKILL.md 里明说了理由——审查者拿到的是精心构造的上下文,绝不继承你这一场的会话历史:一是让它盯产出而不是盯你的思路,二是 diff 和评审过程留在子上下文里,回来的只有结论。subagent-driven-development 把这条放大成「每个任务一个全新实现者 + 每任务一次审查 + 收尾一次整分支审查」。

普通 skill superpowers ──────────────────────────────────────────────────────────────── 启动时只预载 name+description → 启动时注入 using-superpowers 全文 模型判定相关才读正文 → 开场即生效,compact 后重放 装了可能一次都不触发 → 想不触发得明确叫停 成本 = 几十 token 元数据 → 成本 = 每次会话约 3.1 KB 起步
失败模式:以为「装了不用就不花钱」。这条对靠 description 触发的普通 skill 成立,对 superpowers 不成立——钩子每次会话都跑。
// 03

真实用法与边界:哪几段真的值,哪几段可以放手

论断:这套流水线的收益全部集中在前两段和最后一段——想清楚、写计划、验收。中间的 TDD 与 subagent 分工,收益取决于你的项目有没有跑得起来的测试。

brainstorming 的三条路(v6.3.0 后的关键改动)

早期版本被吐槽最多的就是「问个小问题也要走两份文档的仪式」。据仓库 RELEASE-NOTES.md(v6.3.0,2026-08),现在它先把请求分成三类并把分类说出来让你否决:spike(可行性问题,产出是答案不是代码,几句话过一下就动手)、bounded(改仓库里已有的流程,设计直接在对话里讲几段)、architectural(新子系统,走完整问答+设计文档+writing-plans)。规则是拿不准就走重的那条,且只能中途升级不能降级。但那道批准闸门在三条路上一样硬——它不会未经你点头就开写。

几条硬到会咬人的规矩

适合它的活:多文件重构、新子系统、有测试基座的仓库、你要离开电脑让它自己跑一段的场景。不适合的活:改文案、调样式、写一次性脚本、排查一个错误信息已经指名道姓的 bug。

失败模式:在没有测试基座的老仓库上开 TDD 铁律——它会先要求你补测试,于是一个「加个字段」的活变成半天的测试工程。这不是它的错,但你要知道账单先到哪里。
// 04

代价与替代品:不装它你还能怎么办

论断:它的代价不是 star 数骗人,是你放弃了「这次快点」这个选项。而它的替代品几乎都能从它自己的仓库里拆出来。

三笔账

四条替代路线,从轻到重

  1. 只用 harness 自带的计划模式:Claude Code 的 /plan(见官方 permission modes 文档)在动盘之前先给你计划。替你干掉「先斩后奏」这一件,成本近乎零;什么时候不够:它不管测试、不管审查、不跨会话留痕。
  2. 只抄你要的那一两个 skill:仓库是 MIT,把 skills/systematic-debugging/ 或 skills/test-driven-development/ 整个文件夹拷进 ~/.claude/skills/ 即可,靠 description 正常触发、不带钩子。这是本期最推荐的入门方式——拿到 80% 的价值,不交常驻 context 税。什么时候不够:你要的正是那种「不许绕过」的强制力。
  3. 把纪律写进仓库约定:CLAUDE.md / AGENTS.md 里三五行「本仓改代码先补测试、合并前跑 X」。替你干掉每次重复交代;什么时候不够:约定是软的,模型赶时间时照样跳。
  4. 自己长一套:用官方 anthropics/skills 里的 skill-creator 生成脚手架,或者读 superpowers 自己的 writing-skills 当范本。什么时候不够:你还没积累出「每次都要重新解释」的那几件事,写出来的是空壳。
失败模式:装了它,然后每次都对它说「跳过 brainstorming、跳过测试」——那你付了钩子的钱,买了一个被你自己关掉的流程。这种情况直接卸载,改走上面第 2 条。

// 一页选购卡

先装这三个(如果你只想要 superpowers 的一部分):skills/systematic-debugging/ + skills/test-driven-development/ + skills/verification-before-completion/——三个文件夹拷进 ~/.claude/skills/,各自独立可用,不带 SessionStart 钩子。

什么时候装整套:手上的活是多文件重构或新子系统 · 仓库有跑得起来的测试 · 你打算让它自己跑一长段而不是每步盯着。三条同时成立才划算。

什么时候别装:十分钟能改完的活 · 没有测试基座的老仓库 · 你已经有严格的 CI 与人审流程 · 你的主要工作是改文案和样式。

装完两周复查:docs/superpowers/plans/ 里攒下几份计划?其中几份是你真的会回头读的?一份都没有,说明你的活根本不需要这一层。

// 术语表

SessionStart hook(会话开场钩子)
harness 在新会话、/clear、上下文压缩这些时机调用的外部命令,其输出被注入上下文。superpowers 用它把总则塞进每一次会话,这是它区别于普通 skill 的根本。
subagent(子代理)
上下文隔离的分身。主 agent 给它精心构造的任务与材料(不是自己的会话历史),它干完只把结论带回来。superpowers 用它做实现与代码审查。
git worktree
同一个仓库同时签出多个工作目录。superpowers 在动手前先开一个,让实验、测试基线与你的主分支互不干扰,收尾时再决定合并 / 开 PR / 丢弃。
RED-GREEN-REFACTOR
TDD 的三拍:先写会失败的测试并亲眼看它失败,再写最小实现让它变绿,最后在保持绿的前提下重构。superpowers 把「没看过它失败就不算数」写成硬规矩。
spike / bounded / architectural
v6.3.0 起 brainstorming 对请求的三档分类,决定它给多少仪式:可行性试探 / 已有流程上的小改 / 新子系统。分类会说出来让你否决,且只升不降。

// 延伸阅读