superpowers-guide
Claude Code SuperPowers 使用指南
目录
简介
Superpowers 是一个面向 AI 编程助手(Claude Code、Codex 等)的核心技能库插件,由 Jesse Vincent 开发并维护。
- 仓库地址:https://github.com/obra/superpowers
- 许可证:MIT
- 当前版本:5.1.0
它将复杂的工作流程——如测试驱动开发、系统化调试、代码审查、并行子代理调度等——封装为可复用的参考文档,AI 在遇到对应场景时自动加载并遵循。
核心价值:
- 规范化工作流程:确保每次操作都遵循经过验证的最佳实践
- 模块化扩展:按需安装,不增加无关开销
- 零依赖设计:插件本身不依赖任何第三方项目
- 纪律约束:通过 “Iron Law”(铁律)和反合理化表,防止 AI 在压力下跳过关键步骤
典型工作流: Brainstorming(构思) → Writing Plans(编写计划) → Subagent-Driven Development(子代理执行) → Verification(验证) → Finishing Branch(完成分支)
安装与配置
安装命令
通过 Skills CLI 安装:
# 安装 Superpowers 插件
npx skills add obra/superpowers -g -y
也可以从 GitHub 仓库克隆:
git clone https://github.com/obra/superpowers.git
安装后的效果
安装成功后,插件自动注册以下内容,无需额外配置:
| 类型 | 路径 |
|---|---|
| 技能(Skills) | skills/ |
| 子代理(Agents) | agents/ |
| 命令(Commands) | commands/ |
| 钩子(Hooks) | hooks/ |
技能目录结构
skills/
skill-name/
SKILL.md # 主文档(必需)
supporting-file.* # 辅助文件(可选)
检查与更新
npx skills check # 检查是否有更新
npx skills update # 更新到最新版本
核心概念
指令优先级
Superpowers 技能会覆盖系统默认行为,但用户指令始终具有最高优先级:
- 用户显式指令(CLAUDE.md、AGENTS.md、直接请求)——最高优先级
- Superpowers 技能——在与默认系统行为冲突时覆盖
- 默认系统提示——最低优先级
技能类型
| 类型 | 特点 | 示例 |
|---|---|---|
| Rigid(严格型) | 必须严格遵循,不能偏离 | TDD、Systematic Debugging、Verification |
| Flexible(灵活型) | 根据上下文灵活应用原则 | Writing Plans、Writing Skills |
技能文档自身会说明属于哪种类型。
技能调用铁律
即使只有 1% 的可能性某个技能适用,也必须调用它。
如果调用后发现技能不适用,可以跳过,但必须先检查。
常见合理化借口(需要警惕的思维陷阱)
| 借口 | 现实 |
|---|---|
| “这只是一个简单的问题” | 问题即任务,先检查技能 |
| “我需要先了解更多上下文” | 技能告诉你如何收集信息 |
| “我可以快速查看文件” | 文件缺乏对话上下文 |
| “这个技能太复杂了,没必要” | 简单的事也会变复杂 |
| “我记得这个技能怎么用” | 技能会演进,阅读当前版本 |
子代理(Subagent)支持
Superpowers 大量使用子代理模式:
- Claude Code:通过
Task工具分发子代理 - Codex:通过
Task工具 - 核心原则:每个子代理获得独立的上下文和精确的指令
可用技能列表
当前 Superpowers 插件包含 15 个技能:
| 技能名称 | 用途 | 类型 |
|---|---|---|
brainstorming |
在创建功能、构建组件或修改行为之前进行创意构思与设计 | Rigid |
dispatching-parallel-agents |
当面临 2 个以上独立任务时并行分发子代理 | Flexible |
executing-plans |
在独立会话中执行已编写的实施计划 | Rigid |
find-skills |
发现和安装来自开放技能生态系统的技能 | Flexible |
finishing-a-development-branch |
实现完成后指导合并、创建 PR 或清理分支 | Rigid |
receiving-code-review |
接收代码审查反馈时的正确处理姿势——技术严谨,非表演性认同 | Rigid |
requesting-code-review |
完成任务或合并前发起代码审查 | Flexible |
subagent-driven-development |
在当前会话中通过子代理逐个执行计划任务,含两阶段审查 | Rigid |
systematic-debugging |
遇到任何 Bug、测试失败或意外行为时的系统化调试流程 | Rigid |
test-driven-development |
实现任何功能或修复 Bug 前使用 TDD(先写测试) | Rigid |
using-git-worktrees |
确保功能工作在隔离的 Git worktree 中进行 | Rigid |
using-superpowers |
技能系统总纲——定义何时调用技能、优先级、流程 | Rigid |
verification-before-completion |
在声称工作完成前必须运行验证命令——证据优先 | Rigid |
writing-plans |
为多步骤任务编写详细的实施计划 | Flexible |
writing-skills |
创建、编辑和验证新技能(TDD 应用于过程文档) | Rigid |
常用命令与使用方式
技能调用
技能通过 Skill 工具自动调用,不需要手动执行命令。当 AI 识别到当前任务与某个技能匹配时,会自动加载并遵循该技能。
插件管理命令
npx skills find [query] # 搜索技能
npx skills add <pkg> -g -y # 安装技能
npx skills check # 检查更新
npx skills update # 更新全部
npx skills init my-skill # 创建自定义技能
各技能使用方式
brainstorming —— 创意构思
使用场景:创建新功能、构建组件、修改行为之前
触发条件 → AI 自动调用 brainstorming 技能
↓
探索项目上下文
↓
逐个提问(每次一个问题)
↓
提出 2-3 个方案并比较优劣
↓
分段呈现设计,每段获得批准后继续
↓
撰写设计文档 → 提交 git
↓
调用 writing-plans 技能
systematic-debugging —— 系统化调试
使用场景:遇到 Bug、测试失败、意外行为
Phase 1: 根因调查(读错误信息、复现、检查变更、追踪数据流)
Phase 2: 模式分析(找可工作的例子、对比差异)
Phase 3: 假设与测试(提出单一假设、最小化测试)
Phase 4: 实施修复(写测试 → 修复 → 验证)
↓ 如果 3 次修复仍失败 → 质疑架构设计
test-driven-development —— 测试驱动开发
使用场景:实现任何功能或修复 Bug
# RED 阶段
# 1. 写一个失败的测试
# 2. 运行确认测试失败
# GREEN 阶段
# 3. 写最少量的代码使测试通过
# 4. 运行确认测试通过
# REFACTOR 阶段
# 5. 重构,保持测试绿色
铁律:没有失败的测试就不写生产代码。 如果先写了代码,删除它,重新从测试开始。
subagent-driven-development —— 子代理驱动开发
使用场景:已有实施计划,需要在当前会话中执行
读取计划文件 → 提取所有任务 → 创建 TodoWrite
↓
对每个任务:
1. 分发实现者子代理
2. 分发规格审查子代理 → 确认符合规格
3. 分发代码质量审查子代理 → 确认代码质量
4. 标记任务完成
↓
所有任务完成后 → 分发最终代码审查
↓
调用 finishing-a-development-branch 技能
verification-before-completion —— 完成前验证
使用场景:在声称任何工作完成、修复成功或测试通过之前
必须运行验证命令并读取输出:
测试 → 确认通过
Lint → 确认干净
构建 → 确认成功
↓
然后才能声称"完成"
using-git-worktrees —— Git 隔离工作区
使用场景:开始需要隔离的功能开发
Step 0: 检测是否已在隔离工作区
Step 1: 创建隔离工作区(优先使用平台原生工具,回退到 git worktree)
Step 2: 项目设置(npm install / cargo build / pip install)
Step 3: 验证基线测试通过
finishing-a-development-branch —— 完成开发分支
使用场景:实现完成、所有测试通过后
验证测试通过
↓
检测环境(普通仓库 / worktree / 分离 HEAD)
↓
呈现 4 个选项:
1. 本地合并到主分支
2. 推送并创建 Pull Request
3. 保持分支不变
4. 丢弃此工作(需确认)
↓
执行选择 → 清理 worktree
find-skills —— 发现与安装技能
使用场景:用户询问"如何做 X"、“有没有技能可以做 X”
# 先查看 skills.sh 排行榜
# 然后搜索
npx skills find [query]
# 验证质量后推荐给用户
# 安装
npx skills add <owner/repo@skill> -g -y
技能调用流程
技能调用遵循以下决策流程:
用户消息
↓
可能有技能适用?
├─ 是 → 调用 Skill 工具 → 宣布使用哪个技能 → 严格按技能执行
└─ 否 → 直接响应
多技能优先级
当多个技能可能适用时:
- 流程技能优先(brainstorming、systematic-debugging)——决定如何 Approach 任务
- 实施技能其次(writing-plans、TDD)——指导具体执行
技能间的依赖关系
using-superpowers (总纲)
↓
brainstorming → writing-plans → subagent-driven-development / executing-plans
↓ ↓
writing-skills (可选) requesting-code-review
↓ ↓
test-driven-development (实施中使用) finishing-a-development-branch
↓
verification-before-completion (每次声称完成前)
平台适配
Superpowers 使用 Claude Code 的工具命名。在其他平台使用时,需要进行工具名称映射:
Claude Code ↔ Codex
Codex 原生支持 Superpowers 的 Task 工具,技能文件可直接使用。
工具名称参考
当技能文档中出现以下工具名时,使用你所在平台的对应工具:
| 概念 | Claude Code / Codex |
|---|---|
| 读取文件 | Read |
| 写入文件 | Write |
| 编辑文件 | Edit |
| 执行命令 | Bash |
| 搜索内容 | Grep |
| 搜索文件 | Glob |
| 任务追踪 | TodoWrite |
| 调用技能 | Skill |
| 分发子代理 | Task |
最佳实践
1. 始终先检查技能
收到任何任务时,先问自己"有技能适用吗?"——即使只有 1% 的可能性。
2. 不要在主分支上直接开发
始终使用 using-git-worktrees 创建隔离工作区,保护主分支的稳定性。
3. 遵循 TDD 铁律
- 没有失败的测试就不写生产代码
- 如果先写了代码,删除它,重新从测试开始
4. 系统化调试,不猜
遇到 Bug 时读错误信息、能复现再动手、提出单一假设。3 次修复失败后质疑架构。
5. 完成前必须验证
运行测试、lint、构建并确认全部通过。不要依赖"应该没问题"的假设。
6. 审查代码时保持技术严谨
验证建议是否适用于当前代码库,检查是否破坏现有功能,对不需要的功能说"不"(YAGNI 原则)。
7. 并行任务用子代理
3 个以上独立问题时,分发多个子代理并行处理。
8. 技能编写遵循 TDD
创建新技能时:先观察失败行为(RED)→ 编写最小技能(GREEN)→ 测试修补(REFACTOR)。
9. 技能描述只写"何时使用"
不要在工作流程描述中总结技能的流程,这会导致 AI 跳过阅读完整内容。
10. 跨项目复用
技能应该是通用的、跨项目可复用的。项目特定的约定放在 CLAUDE.md 中。
常见问题
Q: Superpowers 是什么?
A: 它是一个 Claude Code / Codex 插件,包含 15 个核心技能,覆盖 TDD、调试、代码审查、并行子代理等工作流。安装后技能自动注册。
Q: 安装命令是什么?
A: npx skills add obra/superpowers -g -y
Q: 技能会减慢开发速度吗?
A: 不会。系统化方法比试错快得多。数据表明:系统化调试 15-30 分钟修复,随机尝试需要 2-3 小时。
Q: 可以跳过某些技能步骤吗?
A: 不可以。跳过步骤就是违反技能精神。如果确实不需要某个技能(如原型代码),应与用户沟通后决定。
Q: 技能在哪个平台能用?
A: Claude Code 和 Codex 原生支持。其他平台需要工具名称映射。
Q: 多个技能同时适用怎么办?
A: 流程技能(brainstorming、debugging)优先于实施技能(TDD、writing-plans)。
Q: 如何创建自己的技能?
A: 运行 npx skills init my-skill-name 创建模板,然后遵循 writing-skills 技能的 TDD 流程。
Q: 子代理是什么?为什么需要它?
A: 子代理是 AI 的"分身",拥有独立的上下文。每个任务独立处理,互不污染,还能并行执行。
Q: TDD 是不是太教条了?
A: TDD 本质上是务实的:它在提交前发现 Bug、防止回归、文档化行为、支持重构。测试先行迫使你在实现前思考边界条件。
本指南基于 Superpowers 5.1.0 版本编写。项目仓库:https://github.com/obra/superpowers
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)