Superpowers:自动触发的工程纪律

5,087 字 · 预计阅读 15 分钟

Superpowers 是一套不许跳步的开发方法:每一步由 Skill 自动触发,每一步都要你点头。


跟 Agent 说「帮我做个导出功能」,它立刻开始建文件、写代码,十分钟后你才发现它理解的需求和你想的不是一回事。Superpowers 就是冲这个来的。它的 README 开头讲得很直白:Agent 一看到你要做东西,不会马上开始写代码,而是先退一步,问清楚你到底想做什么。

它由 Jesse Vincent(GitHub 上的 obra)和 Prime Radiant 团队维护,2025 年 10 月发布,写作时 GitHub 上有将近 30 万 Star,MIT 许可。

它的理念就四条:

  • 测试驱动:永远先写测试
  • 系统化而不是即兴:按流程走,不靠猜
  • 降低复杂度:简单是第一目标
  • 证据优先:宣布成功之前先验证

一、安装

Superpowers 已经上架 Anthropic 的官方插件市场,在 Claude Code 里输入:

/plugin install superpowers@claude-plugins-official

也可以用作者自己的市场,里面还有几个相关插件:

/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

装好之后新开一个会话,说一句要做个新东西,比如:

我想做一个 React 的待办清单

正常的话,它不会动手写代码,而是先开始问你问题,说明 brainstorming 已经自动触发了。


二、它怎么做到自动的

Skill 要靠 description 被模型想起来才会加载,Superpowers 却要保证每次都被触发。办法在它的 hooks/hooks.json 里,全文只有这么多:

json
{
  "hooks": {
    "SessionStart": [
      {
        "matcher": "startup|clear|compact",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}/hooks/run-hook.cmd\" session-start",
            "shell": "bash",
            "async": false
          }
        ]
      }
    ]
  }
}

一个 SessionStart Hook,在三个时间点触发:

  • 新开会话(startup)
  • /clear 之后
  • 上下文压缩(compact)之后。

它把一个叫 using-superpowers 的引导 Skill 注入上下文,告诉 Agent 做任何事之前先检查有没有对应的 Skill。README 里对这件事的说法是:这些是必须执行的流程,不是建议。


前面讲过的 ECC 用 SessionStart 注入会话摘要,Superpowers 用同一个机制注入规矩。

compact 这个 matcher 是为压缩准备的:上下文压缩之后,最早注入的引导内容可能被压没了,所以要再注入一次。

README 提到,在没有压缩后 Hook 的平台上,长会话压缩掉开头的引导之后,Skill 就可能不再触发,建议开新会话。

💡 Superpowers 的仓库里没有 agents/ 目录。它要派的子代理(实现者、审查员),提示词都作为模板放在对应 Skill 的文件夹里,比如 implementer-prompt.md、task-reviewer-prompt.md,派活时由主会话拼好再发出去。

放在 agents/ 里的子代理,description 会常驻主线上下文。做成 Skill 里的模板,只有走到这一步、Skill 正文被加载时,模板才会被读到。

自己写插件时,也可以把子代理提示词放进对应的 Skill,走到那一步才加载。


三、七步工作流

Superpowers 的基本工作流:7 个 Skill 依次自动触发

步骤 Skill 什么时候触发 交接物 关卡
1 brainstorming 动手做任何东西之前 项目级的需求写成 docs/superpowers/specs/YYYY-MM-DD-<主题>-design.md 你批准完整描述:小改动在对话里批,项目批设计文档
2 using-git-worktrees 设计批准之后 一个新的 worktree 和分支,测试基线是干净的
3 writing-plans 有了批准的设计 docs/superpowers/plans/YYYY-MM-DD-<功能名>.md 你审计划,选执行方式
4 subagent-driven-development 或 executing-plans 有了计划 进度账本 ledger
5 test-driven-development 实现过程中 测试、代码、提交
6 requesting-code-review 任务之间 审查结论 Critical 问题阻断
7 finishing-a-development-branch 所有任务完成 你选:合并 / 开 PR / 保留 / 丢弃

第 5 步的规矩很硬:测试之前写的代码会被删掉。先写一个失败的测试,看着它失败,再写最少的代码让它通过,然后提交。

除了这 7 个,仓库里还有系统化调试、完成前验证、接收审查意见、写 Skill 等辅助 Skill,一共 15 个:

Superpowers 仓库里的 skills 目录

下面挑三个最值得看的 Skill 精读。

💡 这里按 2026 年 10 月 9 日发布的 v7.0.0 讲,以你手上的版本为准。


四、brainstorming Skill:先弄清你要什么,再决定流程

brainstorming Skill 开头讲它为什么存在:Agent 会去做它以为你想要的东西,这个以为有时和你想的不一样。所以动手之前,先把要做什么弄清楚。


1. 第一条消息:只有两样东西

它要和你对话时,第一条消息只有两样东西,按顺序:

  1. 一句话告诉你:不想回答问题、想让它直接开始,说一声就行
  2. 一个开放式问题,让你开始描述。问的是真实的场景或具体画面,比如「你是在什么时候,开始希望有这个东西的?」

之后每条消息也只以一个问题结尾。

先问开放式问题,而不是先把选项摆给你,是因为选项会带偏方向。你用自己的话描述时带的意图,选项给不了。只有你说「你看着办」,它才给几个具体的选项或提议。


2. 怎么做出来的,由谁来定

平台、语言、库、媒介这些「怎么做」的选择,它会早早问清楚:哪些你想自己定,哪些交给它,你手上已经有什么。

你有主见,它就跟你讨论;你交给它,它就用合理的默认值,并且明确说出来。

它替你做的选择,在设计里要写成它的决定,不能写成你同意的。

发布说明里讲了加这一条的原因:有一次会话设计的是一个 iOS 应用,从头到尾没问平台,最后做出来一个网页应用。


3. 边问边复述

它理解了一部分(这东西是给谁用的、某个环节怎么运作),就用两三百字复述给你听,再接着问下一部分,直到全部讲完。

本文是会员内容

全文 5,087 字,已试读约 29%。开通专业版可阅读全文,并解锁全部官方课程与后续更新。

开通专业版

支持 7 天无理由退款 · 早鸟价 99 元/年(售完恢复365/年)

课程中涉及的第三方项目,其著作权与商标归各自权利人所有;引用处的署名与许可见《开源与来源说明》。