装上 Superpowers 插件后,Claude Code 终于像一个真正的高级工程师了
让 AI 先想清楚再动手、写测试再写代码、出了 Bug 先查根因——Superpowers 用一套方法论把 Claude Code 从”代码生成器”变成了”AI 高级工程师”。这篇是我用了两个月后的最佳实践总结。
你的 Claude Code 是不是也这样?
你让 Claude Code 帮你加一个功能,它”唰”地写了 200 行代码,跑起来一看——基本能用,但:
- 没写测试
。你问它”加个测试吧”,它补了几个 happy path 的用例,边界情况一个没覆盖 - 没想清楚就动手
。你说”加个缓存”,它直接上了 Redis,你其实只需要一个内存 Map - 改 Bug 靠猜
。报错了就加 try-catch,不去查为什么报错 - 大任务串行做
。10 个文件要改,它一个一个来,你看着 token 烧了半小时
这不是 Claude 的问题,是你没给它方法论。
Superpowers 就是来解决这个问题的。它是 Claude Code 上最火的插件(93,000+ Stars),2026 年 1 月进入 Anthropic 官方插件市场。核心思路很简单:用一组 Skills 约束 AI 的工作方式,让它像一个有纪律的高级工程师一样工作。
工具介绍
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
claude plugin add obra/superpowers |
安装和配置
一行命令安装
claude plugin add obra/superpowers
安装后,你的 Claude Code 就获得了一整套 Skills。输入 / 就能看到以 superpowers: 开头的命令。
核心 Skills 一览
|
|
|
|
|---|---|---|
| brainstorming | /superpowers:brainstorm |
|
| writing-plans | /superpowers:write-plan |
|
| executing-plans | /superpowers:execute-plan |
|
| test-driven-development |
|
|
| systematic-debugging |
|
|
| dispatching-parallel-agents |
|
|
| verification-before-completion |
|
|
| requesting-code-review | /superpowers:requesting-code-review |
|
| using-git-worktrees |
|
|
最佳实践 1:先 Brainstorm,再动手
这是 Superpowers 最颠覆性的功能。它阻止 Claude 在没想清楚之前写代码。
怎么用
当你说”帮我加一个用户通知系统”,没有 Superpowers 的 Claude 会直接开始写代码。有了 Superpowers,它会先进入 Brainstorming 模式,用苏格拉底式提问帮你理清需求:
🧠 Brainstorming: 用户通知系统在开始实现之前,我想先确认几个关键问题:1. 通知的渠道有哪些?(邮件/站内信/Push/短信)2. 通知需要支持模板吗?还是纯文本?3. 用户可以配置通知偏好吗?(关闭某类通知)4. 通知的实时性要求?(必须立即送达 vs 可以有几分钟延迟)5. 需要通知已读/未读状态吗?
你回答这些问题后,它会生成一个结构化的设计摘要,确认你同意后才进入实现阶段。
为什么这很重要
AI 最贵的 Bug 不是语法错误,而是方向错误。 你让它写了 500 行代码才发现”我其实不需要 Redis,一个内存队列就行”——这才是真正的浪费。
Brainstorming 阶段消耗的 token 不多(通常 3000-5000,相当于一次普通对话),但能避免方向性的返工。投入产出比极高。
我的实践
我现在养成了一个习惯:任何超过 50 行代码的功能,都先跑一次 /superpowers:brainstorm。 不是因为我自己想不清楚,而是通过回答 Claude 的提问,我经常发现自己漏掉的边界情况。
最佳实践 2:TDD 模式,先写测试再写代码
Superpowers 的 TDD 实现非常激进:如果你让 Claude 写代码但没有先写失败的测试,它会拒绝。
工作流程
1. Claude 根据需求写一个测试 → 必须是 FAILING 的(Red)2. 确认测试失败后,写最少的代码让测试通过(Green)3. 重构代码(Refactor)4. 重复,直到所有功能完成
实际效果
// Step 1: 先写测试(Red)describe('NotificationService', () => {it('should send email notification', async () => {const service = newNotificationService();const result = await service.send({userId: 'user-1',channel: 'email',message: 'Hello' });expect(result.status).toBe('sent'); });it('should respect user preferences', async () => {// 用户关闭了邮件通知const service = newNotificationService();const result = await service.send({userId: 'user-muted',channel: 'email',message: 'Hello' });expect(result.status).toBe('skipped');expect(result.reason).toBe('user_muted'); });});// Step 2: 跑测试,确认失败 ✗// Step 3: 写最少的实现代码让测试通过 ✓// Step 4: 重构
为什么这比”先写代码再补测试”好?
先写代码再补测试,AI 会按照实现来写测试——它知道代码怎么跑,所以测试永远通过,但不测边界情况。
先写测试再写代码,AI 会按照需求来写测试——它还不知道实现细节,所以测试会覆盖各种预期行为,包括异常情况。
我的团队上了 Superpowers TDD 后,AI 产出代码的测试覆盖率从 30% 提升到了 85%。
最佳实践 3:系统性调试,不要”加个 try-catch”
没有 Superpowers 的 Claude 改 Bug 是这样的:
报错了 → 加个 try-catch → 不报错了 → "修好了!"
有了 Superpowers 的 Claude 改 Bug 是这样的:
Phase1: 复现 → 写一个能稳定触发 Bug 的测试用例Phase2: 定位 → 追踪调用链,找到根因(不是症状)Phase3: 修复 → 改根因,而不是包一层 catchPhase4: 验证 → 跑测试确认修复,检查没有引入新问题
实际案例
假设你遇到一个 “TypeError: Cannot read properties of undefined (reading ‘id’)” 的错误。
没有 Superpowers:Claude 会在报错的那一行加 if (user && user.id),Bug “消失”了,但实际上只是被掩盖了——为什么 user 是 undefined?上游的数据源有问题?数据库查询的条件不对?
有 Superpowers:Claude 会先写一个测试复现这个 Bug,然后沿着调用链往上追踪,发现是 findUser() 在用户不存在时返回了 undefined 而不是抛出错误。修复方案是在 findUser() 里加明确的错误处理,而不是在下游加空值检查。
最佳实践 4:并行 Agent,大任务分而治之
当你有多个互不依赖的任务时,Superpowers 会自动启动多个子 Agent 并行执行。
什么时候触发
你:"帮我把这 6 个 API 接口都加上参数校验和错误处理"Superpowers 分析后发现这 6 个接口互不依赖 →自动分发给 3 个子 Agent 并行处理 →每个子 Agent 遵循 TDD 流程 →完成后合并,跑一遍集成测试
实际效果
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Token 消耗略多(因为每个子 Agent 有独立的上下文),但时间节省 60%。对于大型重构任务,这个提升非常显著。
配合 Git Worktrees
Superpowers 会自动为每个子 Agent 创建独立的 Git Worktree,避免文件冲突。完成后自动合并。你不需要手动管理——这一切都是自动的。
最佳实践 5:完整工作流串联
上面讲的是单个 Skill 的使用,真正的威力在于把它们串联起来。我日常开发一个功能的完整工作流:
Step1: /superpowers:brainstorm → 苏格拉底式问答,理清需求和边界Step2: /superpowers:write-plan → 生成实现计划:文件列表、依赖关系、任务拆分Step3: 审阅计划,修改后确认 → Claude 不会在你没确认前动手Step4: /superpowers:execute-plan → 自动分发给子 Agent → 每个 Agent 遵循 TDD → 任务间自动 Code Review → 关键问题阻塞推进Step5: 验证 + Code Review → verification-before-completion 自动跑测试 → requesting-code-review 发起最终审查
这套流程跑下来,产出的代码质量跟有经验的工程师写的没有明显差距。 关键不在于 AI 的能力变强了,而在于 Superpowers 用流程约束住了 AI 容易犯的错误。
常见误区
误区 1:”每个小任务都要走完整流程”
不需要。 改一行 CSS、修一个 typo,直接告诉 Claude 就行。Superpowers 的完整工作流适合 50 行以上的功能开发和 Bug 修复。
误区 2:”Superpowers 会消耗更多 Token”
短期看是的,长期看不是。 Brainstorming + TDD 会多消耗 10-20% 的 Token,但减少了 60-70% 的返工。算总账,Token 消耗反而降低。
误区 3:”TDD 太慢了,我就想快速出个原型”
Superpowers 不是铁板一块。你可以只用 Brainstorming 和 Plan,跳过 TDD。但我的建议是:原型阶段跳过 TDD 没问题,但正式开发一定要开。 原型的 Bug 你可以容忍,上线的 Bug 你容忍不了。
效率对比
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我的使用心得
用了两个月,说几个真实感受:
优点:
- 代码质量显著提升
:不是 AI 变聪明了,是流程把常见错误堵住了 - 减少焦虑
:以前让 AI 写代码总担心”它是不是又在瞎写”,现在每一步都有验证 - 适合团队推广
:新人用 Claude Code 最大的问题是”不知道怎么用好”,Superpowers 给了一个标准工作流
不足:
- 简单任务有些重
:改个文案也要走 Brainstorm 会让人烦(但可以跳过) - 并行 Agent 偶尔冲突
:Git Worktree 合并时极少数情况会有冲突,需要手动解决 - Token 消耗增加
:完整工作流比直接写代码多消耗 10-20% Token
一句话总结:正式项目必装,写脚本做原型随意。
总结
-
Superpowers 是 Claude Code 最火的插件(93k Stars),用一套 Skills 约束 AI 的工作方式 - 核心理念
:先想清楚(Brainstorm)→ 先写测试(TDD)→ 系统性调试 → 并行执行 → 完成前验证 - 最大价值不是 AI 变强了,而是流程把 AI 容易犯的错误堵住了
-
推荐的入门路径:先用 Brainstorm,感受到价值后再逐步开启 TDD 和并行 Agent -
安装只需一行: claude plugin add obra/superpowers
你用 Claude Code 开发时最头疼的问题是什么? 是测试覆盖不够、方向跑偏、还是 Bug 修不干净?欢迎在评论区聊聊,我来分享对应的 Superpowers 配置方案。
往期相关
-
《我靠这份配置文件,让 AI 写出的代码直接通过了 Code Review》——CLAUDE.md 基础配置 -
《Claude Code 进阶配置:Hooks + Skills + 自定义 Agent》——Hooks/Skills/Agent 详解 -
《Git Worktrees + Claude Code:同时跑 4 个任务》——并行开发工作流
延伸阅读
-
obra/superpowers — 官方仓库,包含所有 Skill 源码 -
Superpowers 完整指南 — 详细配置和使用教程 -
作者博客:How I’m using coding agents — Jesse Vincent 的设计思路
每周四更新工具推荐,关注「开发者效率局」不迷路。
夜雨聆风