TL;DR
Superpowers 解决的核心问题:AI写代码容易”拿起键盘就是干”,结果改一处崩三处。
它的解决方案:给AI装上”老师傅的工作流程”——先画图纸(设计)、再列清单(规划)、后动手(TDD实现)。
适合谁用:
– 用 Claude Code 写代码的开发者
– 受够了AI”聪明一时、翻车一世”的人
– 想让AI遵循专业开发流程的团队
一、问题:AI写代码为什么容易翻车
1.1 典型场景
你对AI说:”给这个函数加个缓存功能。”
没有Superpowers的AI:
✅ 2分钟写完代码
❌ 没写测试
❌ 没考虑边界条件
❌ 引入了新bug
❌ 你花30分钟调试
装了Superpowers的AI:
1. 先问你:缓存策略用LRU还是TTL?
2. 列出实现计划:改哪3个文件,预计影响范围
3. 先写失败的测试
4. 再写实现代码
5. 验证测试通过
1.2 根本原因
AI的天然弱点:
– 看到需求就想写代码(像拿到锤子就想砸钉子)
– 不会主动思考”这样改会影响哪里”
– 缺少”先测试后实现”的纪律
结果:短期效率高,长期债务多。
二、Superpowers是什么
2.1 一句话定义
Superpowers = 给AI编程装上”老师傅的工作流程”。
2.2 生活比喻
| 场景 | 没有流程 | 有Superpowers |
|---|---|---|
| 盖房子 | 学徒拿砖就砌墙 | 师傅要求:先看图纸→备料清单→打地基→砌墙→验收 |
| 修汽车 | 学徒听到异响就拆引擎 | 师傅要求:先诊断→列故障树→定位部件→修复→路试 |
| 写代码 | AI看到需求就敲键盘 | Superpowers要求:先设计→列任务→写测试→实现→验证 |
核心理念:流程不是束缚,是防止翻车的护栏。
三、Superpowers的5阶段工作流
3.1 阶段1:设计(Brainstorming)
目的:确保AI理解需求,而不是”自以为理解”。
AI会做什么:
1. 反问你需求细节(像苏格拉底式提问)
"你说的缓存,是内存缓存还是Redis?"
"缓存失效策略是什么?"
2. 列出3种设计方案
方案A:简单LRU内存缓存
方案B:Redis + TTL
方案C:两层缓存(内存+Redis)
3. 分析每个方案的优缺点
方案A:快,但重启丢失
方案B:持久,但网络延迟
方案C:最优,但复杂度高
4. 等你拍板再继续
为什么重要:防止AI理解偏差,省下后期返工时间。
3.2 阶段2:环境准备(Using Git Worktrees)
目的:隔离开发环境,主分支永远干净。
AI会做什么:
# 创建独立工作空间
git worktree add ../feature-cache feature/add-cache
# 在新分支开发
cd ../feature-cache
# 主分支不受影响
生活比喻:装修房子时在客厅搭脚手架,卧室照常住人。
3.3 阶段3:规划(Writing Plans)
目的:把大任务拆成2-5分钟的小任务。
AI生成的计划示例:
### Task 1: 创建缓存接口 (3分钟)
- 文件:src/cache/interface.ts
- 内容:定义 Cache 接口的 get/set/delete 方法
- 验证:TypeScript编译通过
### Task 2: 实现LRU缓存 (5分钟)
- 文件:src/cache/lru.ts
- 内容:用 Map + 双向链表实现
- 验证:单元测试通过
### Task 3: 集成到现有服务 (4分钟)
- 文件:src/services/user.ts
- 改动:在 getUser 前加缓存层
- 验证:集成测试通过
为什么重要:小任务容易验证,出错范围小。
3.4 阶段4:执行(两种模式)
模式A:并行子任务(Dispatching Parallel Agents)
适合场景:多个任务互不依赖。
AI的做法:
同时执行:
- Agent 1: 写缓存接口
- Agent 2: 写Redis客户端
- Agent 3: 更新文档
完成后合并
模式B:检查点批处理(Executing Plans)
适合场景:需要人工确认的关键节点。
AI的做法:
1. 执行前3个任务
2. 暂停,等你review
3. 你确认后继续执行后3个任务
3.5 阶段5:TDD实现(Test-Driven Development)
核心流程:RED → GREEN → REFACTOR
AI的工作节奏:
// Step 1: RED - 先写失败的测试
test('LRU cache should evict oldest item', () => {
const cache = new LRUCache(2);
cache.set('a', 1);
cache.set('b', 2);
cache.set('c', 3); // 应该淘汰 'a'
expect(cache.get('a')).toBeUndefined(); // ❌ 测试失败
});
// Step 2: GREEN - 写最简单的实现让测试通过
class LRUCache {
// ... 实现代码
}
// ✅ 测试通过
// Step 3: REFACTOR - 优化代码结构
// 提取公共方法、改进命名、删除重复代码
为什么重要:
– 先写测试 = 先定义”什么是对的”
– 后写代码 = 朝着目标前进
– 重构 = 保持代码整洁
四、Superpowers的12个核心技能
4.1 测试与质量(4个)
| 技能 | 作用 | 比喻 |
|---|---|---|
| test-driven-development | 强制TDD流程 | 先画靶子再射箭 |
| verification-before-completion | 修复后必须验证 | 修完车必须路试 |
| requesting-code-review | 请求代码审查 | 师傅检查徒弟作业 |
| receiving-code-review | 响应审查反馈 | 徒弟按意见改进 |
4.2 调试(1个)
| 技能 | 作用 | 比喻 |
|---|---|---|
| systematic-debugging | 4阶段根因分析 | 医生诊断:症状→检查→诊断→治疗 |
调试流程示例:
1. 追踪(Tracing):复现错误路径
2. 防御(Defense-in-depth):加断言验证假设
3. 条件等待(Condition-based waiting):定位时序问题
4. 根因修复(Root cause fix):改代码而非绕过
4.3 协作开发(6个)
| 技能 | 作用 | 使用时机 |
|---|---|---|
| brainstorming | 苏格拉底式需求澄清 | 收到新需求时 |
| writing-plans | 任务分解成2-5分钟小块 | 开始编码前 |
| executing-plans | 批处理执行带检查点 | 执行计划时 |
| dispatching-parallel-agents | 并行执行独立任务 | 多任务无依赖 |
| using-git-worktrees | 隔离开发环境 | 功能开发前 |
| finishing-a-development-branch | 决策:合并/PR/丢弃 | 功能完成后 |
4.4 元技能(2个)
| 技能 | 作用 | 面向人群 |
|---|---|---|
| writing-skills | 创建自定义技能 | 高级用户 |
| using-superpowers | 框架使用指南 | 新手入门 |
五、如何安装和使用
5.1 安装(3步)
前提:已安装 Claude Code CLI
Step 1: 添加插件市场
/plugin marketplace add obra/superpowers-marketplace
Step 2: 安装插件
/plugin install superpowers@superpowers-marketplace
Step 3: 验证安装
/help
# 看到 /superpowers:* 相关命令即成功
5.2 使用示例
场景:给API添加认证功能
传统方式(没有Superpowers):
你:"加个JWT认证"
AI:duang一下写完200行代码
你:发现没考虑Token刷新,又花1小时改
Superpowers方式:
Step 1: AI触发 brainstorming 技能
AI: "我注意到这个任务需要设计决策,使用 brainstorming 技能。
问题1:认证方案选择?
A. JWT (无状态,适合分布式)
B. Session (有状态,需要Redis)
C. OAuth2 (第三方登录)
问题2:Token存储位置?
A. LocalStorage (易用但XSS风险)
B. HttpOnly Cookie (安全但CSRF风险)
C. Memory + Refresh Token (最安全但复杂)
问题3:Token有效期?
A. 短期(15分钟Access + 7天Refresh)
B. 长期(30天单Token)
"
你: "选A+B+A方案"
Step 2: AI触发 writing-plans 技能
### Task 1: 创建JWT工具类 (4分钟)
- 文件: src/auth/jwt.ts
- 依赖: jsonwebtoken库
- 验证: 单元测试生成/验证Token
### Task 2: 实现登录接口 (5分钟)
- 文件: src/routes/auth.ts
- 逻辑: 验证密码 → 生成Token → 设置Cookie
- 验证: 集成测试登录成功
### Task 3: 添加认证中间件 (3分钟)
- 文件: src/middleware/auth.ts
- 逻辑: 从Cookie读Token → 验证 → 注入user到req
- 验证: 测试保护路由返回401
### Task 4: 实现Token刷新 (4分钟)
- 文件: src/routes/refresh.ts
- 逻辑: 验证RefreshToken → 签发新AccessToken
- 验证: 测试过期Token可刷新
Step 3: AI触发 test-driven-development 技能
// AI先写失败测试
describe('JWT Authentication', () => {
test('should generate valid token', () => {
const token = jwt.sign({ userId: 1 });
expect(jwt.verify(token)).toEqual({ userId: 1 }); // ❌
});
});
// 再写实现
export const jwt = {
sign: (payload) => jsonwebtoken.sign(payload, SECRET, { expiresIn: '15m' }),
verify: (token) => jsonwebtoken.verify(token, SECRET)
};
// ✅ 测试通过
Step 4: AI触发 verification-before-completion 技能
# AI执行验证命令
npm test -- auth.test.ts # ✅ 单元测试通过
npm run test:integration # ✅ 集成测试通过
curl -X POST /api/login # ✅ 手动验证可登录
AI: "所有验证通过,任务完成。"
5.3 关键理解
Superpowers不是可选建议,是强制流程:
❌ 错误理解:"AI提示我用TDD,但我觉得不需要,跳过。"
✅ 正确理解:"技能激活=必须遵循,这是防止翻车的护栏。"
技能触发规则:
– AI检测到任务匹配技能描述 → 自动激活
– 你可以手动调用:/superpowers:brainstorming
– 一旦激活,AI必须走完整个流程
六、设计哲学:为什么这样设计
6.1 四大支柱
| 原则 | 含义 | 为什么重要 |
|---|---|---|
| 测试先行 | 先写测试再写代码 | 定义”什么是对的”,防止目标漂移 |
| 流程导向 | 系统化流程替代临时决策 | 减少遗漏,提高一致性 |
| 简化优先 | 复杂度是首要敌人 | 简单方案易维护、少出错 |
| 证据驱动 | 验证后才能声称完成 | 防止”看起来对”实际上错 |
6.2 为什么需要强制流程
AI的自由发挥 = 熵增:
Day 1: AI写代码很快
Day 7: 代码库一团乱麻
Day 30: 没人敢改代码
Superpowers的约束 = 熵减:
每次改动:
1. 有设计文档(为什么这么改)
2. 有任务计划(改了哪些文件)
3. 有测试覆盖(怎么验证对错)
4. 有代码审查(别人能看懂)
结果:代码库长期保持健康
6.3 与Linus Good Taste的共鸣
Linus的”好品味”代码原则:
– 消除特殊情况,而非增加if/else
– 设计让边界自然融入常规
– 三个以上分支立即重构
Superpowers的体现:
– brainstorming 阶段强制思考”能否用更简单的设计消除分支”
– test-driven-development 通过测试驱动设计,避免过度复杂
– systematic-debugging 要求找根因而非打补丁
案例:链表删除节点
坏品味(特殊情况处理):
if (node == head) {
head = node->next;
} else if (node->next == NULL) {
prev->next = NULL;
} else {
prev->next = node->next;
}
好品味(哨兵节点设计):
node->prev->next = node->next; // 一行代码统一处理
Superpowers如何引导AI到好品味:
brainstorming阶段AI会问:
“`
“我注意到这个设计有3个分支处理删除:- 头节点删除
- 尾节点删除
- 中间节点删除
可否通过添加哨兵节点消除特殊情况?”
“`
writing-plans阶段AI会列出对比:
“`markdown
方案A:if/else处理3种情况(12行代码)
方案B:哨兵节点设计(1行代码)
推荐方案B,理由:
– 消除边界特殊情况
– 代码简洁、易维护
– 符合Good Taste原则
“`
test-driven-development阶段测试覆盖边界:
typescript
test('delete head node', () => { /* 验证哨兵设计 */ });
test('delete tail node', () => { /* 验证哨兵设计 */ });
test('delete middle node', () => { /* 验证哨兵设计 */ });
七、适合谁用
7.1 必备条件
| 条件 | 说明 |
|---|---|
| 使用Claude Code | Superpowers是Claude Code的插件 |
| 有基本编程经验 | 理解测试、分支、调试等概念 |
| 认可流程价值 | 愿意用”慢一点的流程”换”长期的稳定” |
7.2 典型用户画像
✅ 适合的人:
– 独立开发者:一个人维护多个项目,需要代码质量保障
– 技术Leader:希望团队AI助手遵循统一开发规范
– 开源维护者:需要AI生成的代码符合项目风格
– 学习者:想通过AI学习专业开发流程
❌ 不适合的人:
– 写一次性脚本(杀鸡用牛刀)
– 完全不懂编程(流程假设你理解基本概念)
– 追求极致速度(流程会慢一点,但质量高)
八、常见问题
Q1: Superpowers会让AI变慢吗?
A: 单次任务会慢一点,但长期更快。
对比:
没有Superpowers:
写代码 2分钟 + 调试30分钟 + 返工1小时 = 92分钟
有Superpowers:
设计5分钟 + 规划3分钟 + TDD实现15分钟 + 验证2分钟 = 25分钟
Q2: 能只用部分技能吗?
A: 可以,但建议完整使用。
理由:技能之间有依赖关系。
brainstorming → writing-plans → test-driven-development
(设计) (规划) (实现)
跳过设计直接规划 = 方向可能错
跳过规划直接实现 = 容易遗漏
跳过TDD直接写代码 = 回到老问题
Q3: 如何自定义技能?
A: 使用 writing-skills 技能创建。
示例:创建”前端设计”技能
/superpowers:writing-skills
AI会引导你:
1. 定义技能触发条件
2. 设计技能工作流程
3. 编写技能文档
4. 测试技能可用性
Q4: 与GitHub Copilot有什么区别?
对比:
| 维度 | GitHub Copilot | Superpowers |
|---|---|---|
| 定位 | 代码补全工具 | 开发流程框架 |
| 工作方式 | 根据上下文补全代码 | 引导完整开发流程 |
| 测试 | 不主动写测试 | 强制TDD |
| 设计 | 不参与设计决策 | 强制设计阶段 |
| 质量保障 | 靠开发者自觉 | 靠流程强制 |
结论:Copilot是”打字助手”,Superpowers是”项目经理”。
Q5: 开源吗?商业项目能用吗?
A: MIT协议,完全开源,商业项目随意用。
许可证详情:
– 可自由使用、修改、分发
– 可用于商业项目
– 无需支付费用
– 作者Jesse Vincent接受GitHub赞助支持开源工作
九、实战建议
9.1 新手入门路径
Week 1: 熟悉基础技能(3个)
1. using-superpowers: 了解框架理念
2. brainstorming: 学会需求澄清
3. test-driven-development: 掌握TDD流程
Week 2: 完整流程体验(1个小项目)
选择一个真实需求(如:添加用户登录功能)
走完完整5阶段:设计→环境→规划→执行→TDD
Week 3: 进阶技能(3个)
1. systematic-debugging: 系统化调试
2. dispatching-parallel-agents: 并行开发
3. requesting-code-review: 代码审查
9.2 团队推广策略
阶段1:小范围试点
1. 选1-2个愿意尝鲜的开发者
2. 在非关键项目试用1周
3. 收集反馈,调整工作流
阶段2:建立最佳实践
1. 总结常用技能组合(如:新功能开发=brainstorming+writing-plans+TDD)
2. 创建团队自定义技能(如:符合公司代码规范的检查技能)
3. 编写内部使用文档
阶段3:全团队推广
1. 技术分享:演示Superpowers的价值
2. 配对编程:老手带新手体验流程
3. Code Review:检查是否遵循技能流程
9.3 避坑指南
| 常见错误 | 后果 | 正确做法 |
|---|---|---|
| 觉得流程繁琐跳过设计 | AI理解偏差,后期返工 | 强制自己走brainstorming |
| TDD写测试太慢不写 | 代码质量无保障 | 先写简单测试,逐步完善 |
| 并行执行有依赖的任务 | 任务冲突,浪费时间 | 用writing-plans梳理依赖关系 |
| 没验证就声称完成 | 潜在bug未发现 | 必须走verification流程 |
十、未来展望
10.1 技术趋势
AI编程助手的演进方向:
2023: 代码补全(Copilot时代)
2024: 对话式编程(Claude Code时代)
2025: 流程化编程(Superpowers时代)← 我们在这里
2026: ?自适应流程(AI根据项目特点定制流程)
10.2 Superpowers的进化空间
可能的新技能:
– performance-profiling: 性能分析流程
– security-review: 安全漏洞检查流程
– api-design: RESTful API设计流程
– database-migration: 数据库迁移流程
可能的新功能:
– 技能市场:社区贡献的自定义技能
– 流程模板:针对不同语言/框架的预设流程
– 度量仪表盘:跟踪流程遵循率和代码质量指标
十一、总结
核心价值
Superpowers = 把”老师傅的工作纪律”装进AI大脑。
它不是让AI写得更快,而是让AI写得更对。
三个关键认知
-
流程不是束缚,是护栏
新手觉得TDD慢,老手知道它省时间。 -
短期慢一点,长期快很多
设计5分钟防止返工1小时。 -
AI需要纪律,人类也需要
Superpowers约束AI,也提醒你遵循最佳实践。
立即开始
# 3条命令,2分钟安装
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
/help
# 找个小需求,体验完整流程
# 你会发现AI变成了靠谱的老师傅
参考链接
– GitHub仓库:https://github.com/obra/superpowers
– Claude Code官网:https://claude.ai/claude-code
– 作者Jesse Vincent:https://github.com/obra
– MIT开源协议:https://opensource.org/licenses/MIT
订阅更新
关注本站获取更多AI开发工具教程:https://www.80aj.com/








程序员数学扫盲课
AI周刊:大模型、智能体与产业动态追踪
Claude Code 全体系指南:AI 编程智能体实战
Karpathy神经网络零基础课程
最新评论
开源的AI对话监控面板很实用,正好团队在找这类工具。准备试用一下。
折叠屏市场确实在升温,不过售罄也可能是备货策略。期待看到实际销量数据。
从磁盘I/O角度解释B树的设计动机,这个切入点很好。终于理解为什么数据库不用二叉树了。
IT术语转换确实是个痛点,之前用搜狗总是把技术词汇转成奇怪的词。智谱这个方向值得期待。
这个工具结合LLM和搜索API的思路很有意思,正好解决了我在做知识管理时遇到的问题。请问有没有部署文档?
这个漏洞确实严重,我们团队上周刚遇到类似问题。建议补充一下如何检测现有项目是否受影响的方法。
从简单规则涌现复杂性这个思路很有意思,让我想起元胞自动机。不过数字物理学在学术界争议还挺大的。
我也遇到了指令跟随变差的问题,特别是多轮对话时容易跑偏。不知道是模型退化还是负载优化导致的。