| name | superpowers-brainstorming |
| description | Socratic 设计头脑风暴技能,帮助在编写代码前完善粗糙的想法。
**核心功能:**
- 通过苏格拉底式提问探索问题本质
- 展示设计选项供用户验证
- 将模糊需求转化为具体规范
**触发条件:**
- 任何需要设计决策的任务开始前
- 用户需求模糊或需要澄清
- 存在多种设计方案可选
**激活方式:**
- 命令: `/superpowers:brainstorm`
- 上下文: 检测到设计需求时自动触发
|
Superpowers: Brainstorming Skill
Overview
这是一个 Socratic 风格的头脑风暴技能,激活于编写代码之前。它通过提问来完善粗糙的想法,探索替代方案,并将设计以小块形式展示给用户验证。
Core Philosophy
"先思考,再编码"
- 不要急于写代码
- 确保理解真正的需求
- 探索多种可能的解决方案
- 在开始前获得用户确认
The Brainstorming Process
Phase 1: 问题探索
通过提问理解真正的目标:
## 🔍 问题探索
**原始需求:** [用户描述]
**澄清问题:**
1. **目标澄清**
- 你想解决的核心问题是什么?
- 成功的标志是什么?
- 如何衡量成功?
2. **范围界定**
- 这包含什么?
- 这不包含什么?
- 有什么约束条件?
3. **上下文了解**
- 现有系统是怎样的?
- 用户是谁?他们的技术水平?
- 为什么现在需要这个?
Phase 2: 需求分解
将模糊需求转化为具体需求:
## 📋 需求分解
**核心功能:**
1. [功能1] - 优先级: P0
2. [功能2] - 优先级: P1
3. [功能3] - 优先级: P2
**用户故事:**
- 作为[角色],我希望[功能],以便[价值]
**验收标准:**
- Given [上下文], When [操作], Then [结果]
Phase 3: 方案探索
探索多种可能的解决方案:
## 💡 方案探索
### 方案 A: [方案名称]
**优点:**
- [优点1]
- [优点2]
**缺点:**
- [缺点1]
- [缺点2]
**复杂度:** [高/中/低]
**工时估算:** [时间]
### 方案 B: [方案名称]
**优点:**
- [优点1]
- [优点2]
**缺点:**
- [缺点1]
- [缺点2]
**复杂度:** [高/中/低]
**工时估算:** [时间]
### 方案 C: [方案名称]
**优点:**
- [优点1]
- [优点2]
**缺点:**
- [缺点1]
- [缺点2]
**复杂度:** [高/中/低]
**工时估算:** [时间]
### 推荐方案: [方案X]
**理由:**
1. [理由1]
2. [理由2]
Phase 4: 设计展示
以小块形式展示设计供验证:
## 🎨 设计展示
### 数据模型
```typescript
interface User {
id: string;
name: string;
email: string;
createdAt: Date;
}
API 设计
GET /api/users - 获取用户列表
GET /api/users/:id - 获取单个用户
POST /api/users - 创建用户
PUT /api/users/:id - 更新用户
DELETE /api/users/:id - 删除用户
UI 结构
┌─────────────────────────────────┐
│ Header │
├─────────────────────────────────┤
│ ┌─────────┐ ┌─────────────────┐│
│ │ Sidebar │ │ Main Content ││
│ │ │ │ ││
│ │ │ │ ││
│ └─────────┘ └─────────────────┘│
└─────────────────────────────────┘
组件关系
App
├── Header
├── Layout
│ ├── Sidebar
│ └── MainContent
│ ├── UserList
│ └── UserDetail
└── Footer
请确认以上设计是否符合预期?
## Interactive Questioning Patterns
### 当需求模糊时
```markdown
我注意到你的描述中有一些模糊的地方:
1. **"优化性能"** - 你能具体说明吗?
- 当前响应时间是多少?
- 期望的响应时间是多少?
- 主要瓶颈在哪里?
2. **"用户友好"** - 能举例子吗?
- 哪些操作应该简化?
- 当前流程中哪些步骤繁琐?
当有冲突需求时
我注意到几个需求可能存在冲突:
- 需求A要求[描述]
- 需求B要求[描述]
这些可能需要权衡。你的优先级是什么?
1. [选项A] → [理由]
2. [选项B] → [理由]
3. [折中方案] → [理由]
当需要技术决策时
关于技术实现,有几个选择:
**选项1: 快速实现**
- 优点: 开发快
- 缺点: 可能需要重构
**选项2: 稳健架构**
- 优点: 扩展性好
- 缺点: 开发周期长
**我的建议:** [理由]
你觉得哪个更适合当前情况?
Output Format
启动头脑风暴
## 🧠 头脑风暴会话启动
**主题:** [任务名称]
**时间:** [timestamp]
### 已知信息
[用户提供的需求]
### 我的问题
[需要澄清的问题列表]
### 下一步
请回答上述问题,或直接描述你希望达成的目标。
阶段总结
## 📝 头脑风暴总结
### 已确认
- [x] [需求1]
- [x] [需求2]
### 待确认
- [ ] [问题1]
- [ ] [问题2]
### 建议的下一步
1. [行动1]
2. [行动2]
3. 进入 `/superpowers:write-plan`
设计确认请求
## ✅ 设计确认
我已经根据讨论整理了设计方案,请确认:
### 核心范围
- [ ] 功能A
- [ ] 功能B
- [ ] 功能C(不在范围内)
### 技术选择
- [ ] 方案A(推荐)
- [ ] 方案B
- [ ] 需要更多讨论
**请确认后回复:** "确认设计,开始计划" 或 提出修改意见。
Trigger Conditions
自动触发
- 用户描述一个需要设计的新任务
- 检测到模糊或矛盾的需求
- 任务涉及多个组件或系统
手动触发
/superpowers:brainstorm - 启动头脑风暴
/superpowers:brainstorm:resume - 继续上次讨论
/superpowers:brainstorm:reset - 重新开始
Best Practices
1. 保持好奇心
- 多问"为什么"而不是假设
- 探索用户真正的痛点
- 不要急于给出方案
2. 结构化思考
- 将大问题分解为小问题
- 使用用户故事和验收标准
- 绘制图表帮助理解
3. 保持开放
- 接受用户可能改变主意
- 探索意想不到的方向
- 记录所有讨论内容
4. 推动共识
Exit Criteria
当满足以下条件时,头脑风暴完成:
Integration
配合 Planning with Files
- 头脑风暴结果保存到
findings.md
- 设计决策记录到
task_plan.md
- 自动更新
progress.md
进入下一阶段
- 用户确认后自动建议
/superpowers:write-plan
- 或保存设计供后续使用
Example Session
用户: 我想做一个任务管理应用
AI: 太好了!让我们先了解一下需求。
## 🔍 几个问题
1. **目标用户是谁?**
- 个人用户?团队?还是企业?
2. **核心功能需要哪些?**
- 创建/编辑/删除任务?
- 任务分类和标签?
- 截止日期和提醒?
- 协作功能?
3. **现有解决方案有什么问题?**
- 太复杂?太简单?太贵?
请回答这些问题,我会帮你梳理需求。
Common Patterns
Pattern 1: MVP First
从最小可行产品开始,逐步扩展。
Pattern 2: Problem First
先明确定义问题,再找解决方案。
Pattern 3: User Journey
从用户使用流程反向设计。
Pattern 4: Constraints First
先了解约束条件,再设计方案。
Success Metrics
- ✅ 需求清晰度提升
- ✅ 设计变更减少
- ✅ 开发效率提高
- ✅ 用户满意度提高