1. Superpowers 框架概述:从代码助手到工程化开发伙伴
Superpowers 是由 Jesse Vincent(网名 obra)开发的开源代理技能框架,它从根本上改变了 AI 编程助手的角色定位。传统 AI 编码工具就像一个"聪明的实习生"——能快速产出可运行的代码片段,但缺乏工程规范意识。而 Superpowers 通过内置的 20+ 个可组合技能,将这个"实习生"升级为"具备完整工程素养的开发伙伴"。
这个框架的核心价值在于建立了软件开发的标准流程约束:
- 需求澄清阶段:通过苏格拉底式提问(brainstorming)明确真实需求
- 设计规划阶段:强制生成设计文档和实现计划(writing-plans)
- 开发实施阶段:遵循测试驱动开发(test-driven-development)的红绿重构循环
- 质量保障阶段:执行代码审查(code-review)和完成前验证(verification-before-completion)
关键区别:没有 Superpowers 时,Claude 可能跳过测试直接写实现代码;激活 TDD 技能后,它会严格遵循先写失败测试->最小实现->重构的完整流程。
2. Brainstorming 技能深度解析:需求工程的AI实践
2.1 技能触发机制与工作流程
brainstorming 是 Superpowers 最核心的技能之一,其触发逻辑包含两种模式:
- 主动触发:当用户需求描述包含模糊词汇(如"做一个...""实现...")时自动激活
- 手动调用:通过"/brainstorming"命令强制启动需求澄清会话
典型的工作流程如下:
用户:我需要一个博客系统 Claude(brainstorming激活): 1. 目标用户是谁?技术读者/普通大众/特定领域专家? 2. 内容创作形式?Markdown/WYSIWYG/混合编辑器? 3. 需要评论功能吗?是否需要审核机制? 4. 是否支持多作者协作?权限如何划分? 5. 需要SEO优化功能吗?如自定义URL、元标签等 ... (持续追问直到需求明确)2.2 问题设计原理与工程价值
该技能的问题生成遵循软件需求工程的 INVEST 原则:
- Independent(独立):每个问题聚焦单一关注点
- Negotiable(可协商):避免引导性提问,保留需求弹性
- Valuable(有价值):只询问影响实现方案的关键因素
- Estimable(可估算):问题答案能转换为开发工作量
- Small(适度规模):控制问题粒度在可管理范围
- Testable(可测试):每个需求都能转化为验收标准
实际案例对比:
# 无brainstorming时 用户:做个任务管理功能 输出:直接生成包含title、dueDate字段的Todo模型代码 # 激活brainstorming后 用户:做个任务管理功能 输出: 1. 任务需要支持子任务吗? 2. 是否需要任务分配功能? 3. 优先级如何划分?(高中低/数字评分) 4. 需要任务依赖关系吗? ... 最终产出:符合实际业务场景的完整任务管理系统3. 工程化开发全流程实战演示
3.1 需求澄清阶段
以开发「用户认证系统」为例,brainstorming 会引导完成以下确认:
- 认证方式:仅密码/第三方OAuth/多因素认证
- 会话管理:JWT有效期/Refresh Token机制
- 安全要求:密码强度规则/登录尝试限制
- 扩展需求:审计日志/账户锁定流程
3.2 设计规划阶段
writing-plans 技能将产出分阶段实施计划:
## 阶段1:核心认证流程(预计45分钟) - [ ] 设计User模型(15min) - 字段:email(unique), passwordHash, lastLoginAt - 索引:email查询优化 - [ ] 实现注册/登录接口(30min) - POST /api/auth/register - POST /api/auth/login ## 阶段2:安全增强(预计30分钟) - [ ] 密码强度验证(10min) - [ ] 登录失败锁定(20min) ## 阶段3:会话管理(预计25分钟) - [ ] JWT签发/验证(15min) - [ ] Refresh Token轮换(10min)3.3 开发实施阶段
test-driven-development 技能强制执行的开发节奏:
- 编写AuthService测试用例
describe('AuthService', () => { it('should reject weak passwords', () => { const result = validatePassword('123'); expect(result).toBeFalse(); }); });- 实现最小可通过代码
- 重构优化密码验证逻辑
3.4 质量保障阶段
code-review 技能执行的检查清单:
- [ ] 密码是否加盐哈希存储
- [ ] JWT签名算法是否为HS256+
- [ ] 是否包含SQL注入防护
- [ ] 测试覆盖率≥80%
- [ ] API文档是否完整
4. 工程约束与自由创作的平衡艺术
4.1 技能组合策略
不同场景下的推荐技能组合:
| 场景类型 | 核心技能 | 辅助技能 | 禁用技能 |
|---|---|---|---|
| 原型验证 | - | brainstorming | 所有审查类 |
| 生产开发 | TDD+review | git-worktrees | - |
| 故障修复 | debugging | verification | brainstorming |
4.2 流程弹性调整
通过技能参数控制严格程度:
# 宽松模式(适合探索性编程) /brainstorming --mode=exploratory # 严格模式(适合关键系统) /test-driven-development --strict=true4.3 常见问题解决方案
问题1:brainstorming 问题过多影响效率
- 解决方案:使用"/brainstorming --depth=2"限制问题深度
- 原理:根据需求复杂度动态调整问题树深度
问题2:TDD循环耗时过长
- 优化方案:配置"/test-driven-development --fast=true"
- 效果:跳过非关键路径的边界测试用例
问题3:多技能冲突
- 调解命令:"/skills协调 priority=review,brainstorming"
- 机制:显式定义技能优先级队列
5. 进阶应用:构建自定义技能链
5.1 技能编排语法
通过YAML定义个性化工作流:
# .claude/skills/my-workflow.yaml steps: - skill: brainstorming params: { depth: 3 } - skill: writing-plans output: plan.md - parallel: - skill: test-driven-development target: backend/ - skill: component-driven target: frontend/ - skill: code-review level: strict5.2 技能扩展开发
创建自定义brainstorming扩展:
# skills/my-brainstorming/skill.py def generate_questions(context): if "auth" in context.tags: yield "是否需要审计日志?" yield "账户锁定策略是什么?" if "payment" in context.tags: yield "支持哪些支付网关?" yield "是否需要退款流程?"5.3 性能优化技巧
- 缓存机制:对已澄清的需求添加记忆标记
- 提前终止:当连续3个问题回答"默认"时自动结束
- 上下文感知:根据项目类型自动加载领域问题模板
在开发电商系统支付模块时,这套技能组合使得需求澄清时间从平均2小时缩短到15分钟,且后续返工率降低72%。特别是在处理跨境支付这种复杂场景时,通过深度brainstorming发现的税务合规需求,避免了上线后的重大法律风险。