Superpowers
给 coding agent 安装的软件开发方法论 + 可组合 Skills 库 + 启动引导指令,核心价值是约束 Agent 行为而非提升代码生成能力。
#type / resource
#status / evergreen
#tech / ai
#resource / superpowers
#media / tool
[!info] related notes
- 所属 MOC: Coding Agent MOC
- 相关概念: Agent 工程纪律, Skills 是什么,为什么重要, Autonomous Coding Agent
- 关系笔记: Superpowers 工作流与核心技能
- 相关 howto: Superpowers 安装和使用
- 相关资源: Claude Code, TDD Skill
Superpowers
一句话定义
obra/superpowers 是一套给 coding agent 使用的完整软件开发方法论,通过可组合 skills 和启动引导指令,把”一个优秀工程师做事的流程”固化成 Agent 必须遵守的技能流程。
核心价值
Superpowers 解决的不是”让 AI 更会写代码”,而是约束 Agent 行为:
- 不让 AI 一上来就乱写代码
- 让 AI 先问清楚需求、写设计、写计划
- 强制 TDD、验证、代码评审、分支隔离
- 用子 Agent 分工执行,并在每个任务后进行审查
- 让流程纪律自动触发,而不是靠用户每次提醒
工作原理
Superpowers 靠三层机制工作,不依赖后台服务:
第一层:Bootstrap 引导指令 Agent 会话开始时注入规则:“只要有 1% 可能某个 skill 适用,就必须先调用 skill。”
第二层:Skill 文件
每个 skill 是一个目录,包含 SKILL.md。文件顶部的 description 字段决定触发条件。Agent 通过 description 判断何时调用。
第三层:Agent 平台集成
不同平台通过各自机制加载 skills:Claude Code 用 Skill tool,Copilot CLI 用 skill tool,Gemini CLI 用 activate_skill,OpenCode 通过 plugin hook 注入。
它不是”劫持模型”,而是给 Agent 的系统上下文加了一套操作规程。
与普通 Prompt / Rules 的区别
| 维度 | 普通 Prompt | Cursor Rules / AGENTS.md | Superpowers |
|---|---|---|---|
| 触发机制 | 无,靠记忆 | 静态规则 | 按场景动态触发 |
| 覆盖范围 | 单次对话 | 项目级约束 | 开发全周期 |
| 流程强制 | 无 | 无 | 强制执行 |
| 平台集成 | 无 | 文件级 | 平台级加载 |
核心技能一览
| 技能 | 触发时机 | 核心约束 |
|---|---|---|
using-superpowers | Agent 启动 | 1% 可能适用就必须调用 skill |
brainstorming | 任何创造性工作之前 | 一次只问一个问题,写设计文档,用户批准后才继续 |
writing-plans | 有 spec 准备实现之前 | 计划必须具体到文件路径、代码、测试命令,2-5 分钟粒度 |
test-driven-development | 实现任何功能或 bugfix 之前 | 没有先看到失败测试就不能写生产代码 |
systematic-debugging | 任何 bug 或异常行为之前 | 不猜根因就不修,四阶段调查流程 |
subagent-driven-development | 执行多步计划时 | 每个任务派新子 Agent,实现者和审查者分离 |
平台支持
Claude Code、Codex CLI、Codex App、Factory Droid、Gemini CLI、OpenCode、Cursor、GitHub Copilot CLI。多平台需分别安装。
适合场景
- 中大型功能开发、多文件多步骤修改
- 需要高可靠性的重构
- 需要 Agent 长时间自主工作的项目
- 对”AI 写完看似能跑但后患很多”很敏感的项目
不适合场景
- 一次性脚本、快速探索性 spike
- 没有测试框架也暂时不想补测试的项目
- 只追求最快出结果、不关心过程质量
- 没有子 Agent 支持的平台
局限
- 流程成本高:简单任务也可能触发完整流程
- 强依赖平台能力:没有 subagent 支持时效果下降
- 不是银弹:不能保证 Agent 理解业务、测试写得好、设计正确
- 可能和团队习惯冲突:不采用 TDD 的团队会觉得强势