# Brainstorming

> 结构化头脑风暴技能，在编码前生成约束、边界情况和备选方案。适用于功能规划、架构决策、技术选型等场景。当用户开始新项目、设计新功能、做技术决策时使用。

- Skill: `gaoqiongxie/brainstorming` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add gaoqiongxie/brainstorming`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gaoqiongxie/brainstorming/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gaoqiongxie (https://skillmd.com/u/gaoqiongxie)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gaoqiongxie/brainstorming

---


# Brainstorming - 结构化头脑风暴

> **来源**: obra/superpowers (142K⭐) - AI辅助开发方法论框架
> 
> **参考**: 苏格拉底式设计细化方法

## 核心价值

> "在编码之前先思考" —— 大多数重构源于早期的设计缺陷

**Brainstorming** 帮助在动手之前系统性地思考问题，减少返工，提高代码质量。

## 适用场景

| 场景 | 问自己 |
|-----|--------|
| 新功能开发 | 这个功能的核心是什么？ |
| 架构设计 | 有什么扩展需求？ |
| 技术选型 | 有什么权衡取舍？ |
| Bug修复 | 为什么会出现这个Bug？ |
| 重构 | 目标是什么？风险是什么？ |

## 头脑风暴四步法

### 步骤1️⃣：明确核心问题

**问**：
- 用户/业务真正需要的是什么？
- 什么是最小可用版本？
- 成功的标准是什么？

**输出**：
```
## 核心问题
[一句话描述真正要解决的问题]

## 成功标准
- [ ] 标准1
- [ ] 标准2
```

### 步骤2️⃣：识别约束条件

**问**：
- 有什么技术限制？
- 有什么时间限制？
- 有什么资源限制？
- 有什么必须兼容的要求？

**输出**：
```
## 约束条件

### 技术约束
- [技术限制1]
- [技术限制2]

### 时间约束
- [时间限制1]

### 兼容性要求
- [要求1]
```

### 步骤3️⃣：列举边界情况

**问**：
- 什么情况下会出错？
- 什么情况下性能会差？
- 空输入？无效输入？极限输入？
- 并发情况？竞态条件？

**输出**：
```
## 边界情况

### 输入边界
- 空输入 (null, "", [])
- 单个元素
- 极大数量
- 非法字符

### 错误场景
- 网络失败
- 超时
- 权限不足
- 资源耗尽

### 特殊场景
- 并发写入
- 数据不一致
- 历史数据迁移
```

### 步骤4️⃣：生成备选方案

**问**：
- 有哪些实现路径？
- 各有什么优缺点？
- 权衡取舍是什么？

**输出**：
```
## 备选方案

### 方案A: [名称]
- 优点：✅ [优点1]
- 缺点：❌ [缺点1]
- 风险：⚠️ [风险1]

### 方案B: [名称]
- 优点：✅ [优点1]
- 缺点：❌ [缺点1]
- 风险：⚠️ [风险1]

### 推荐：方案A/B
理由：[简短理由]
```

## 实用模板

### 功能开发模板

```markdown
## 功能： [名称]

### 🎯 核心需求
[一句话描述]

### ✅ 成功标准
- [ ] 核心流程跑通
- [ ] 错误处理完善
- [ ] 性能满足要求
- [ ] 测试覆盖 ≥ 80%

### 📋 用户故事
- 作为 [角色]，我希望 [功能]，以便 [收益]

### ⚠️ 边界情况
| 场景 | 预期行为 |
|-----|---------|
| 空数据 | 显示空状态 |
| 加载中 | 显示loading |
| 请求失败 | 显示错误 + 重试 |
| 数据量>1000 | 分页/虚拟滚动 |

### 🔧 技术约束
- 响应时间 < 200ms
- 兼容 IE11 / 最新Chrome
- 移动端适配

### 📝 备选方案
[如有]

### ⏰ 时间估算
- MVP: X天
- 完整版: Y天
```

### Bug修复模板

```markdown
## Bug: [标题]

### 🔍 问题描述
[复现步骤和期望vs实际]

### ❓ 为什么会出现
[根本原因分析]

### ⚠️ 影响范围
- 受影响功能：[功能1]
- 受影响用户：[用户群]
- 数据影响：[如有]

### 🛠️ 修复方案
```
[代码改动]
```

### ✅ 验证方式
- [ ] 复现场景验证
- [ ] 单元测试
- [ ] 集成测试

### 📊 回归风险
- [ ] 相关功能测试
- [ ] 监控告警
```

## 苏格拉底式追问

在头脑风暴中，使用追问深入理解：

```
1. 追问本质
   "这个需求背后的真正目的是什么？"
   "如果不做这个会怎样？"

2. 追问边界
   "什么情况下这个方案会失败？"
   "输入的极限是什么？"

3. 追问权衡
   "选择A而不是B的最大理由是什么？"
   "我们愿意牺牲什么来获得什么？"

4. 追问风险
   "最坏的情况是什么？"
   "如何快速恢复？"
```

## 常见陷阱

| ❌ 陷阱 | ✅ 正确做法 |
|--------|-----------|
| 上来就写代码 | 先明确需求和边界 |
| 追求完美方案 | 先做MVP |
| 忽略边界情况 | 头脑风暴时列出边界 |
| 忽略性能 | 提前考虑扩展性 |
| 单人决策 | 团队讨论 |

## 输出示例

### 用户说："帮我设计一个用户登录系统"

**AI执行Brainstorming**：

```markdown
## 用户登录系统设计

### 🎯 核心需求
安全、简单地验证用户身份

### ✅ 成功标准
- [ ] 用户名密码登录
- [ ] 记住登录状态
- [ ] 安全的密码处理
- [ ] 错误处理友好

### 📋 用户故事
- 作为用户，我希望用邮箱密码登录
- 作为用户，我希望忘记密码能找回
- 作为管理员，我希望看到异常登录

### ⚠️ 边界情况
| 场景 | 处理方式 |
|-----|---------|
| 密码错误3次 | 临时锁定 |
| 用户不存在 | 提示"用户不存在"或"密码错误"（安全） |
| 密码过期 | 强制修改 |
| 并发登录 | 允许多设备？ |
| CSRF | Token验证 |

### 📐 安全考虑
- [ ] 密码加密存储 (bcrypt)
- [ ] 防止SQL注入
- [ ] 防止XSS
- [ ] HTTPS
- [ ] 限流

### 🛠️ 技术约束
- 使用JWT Token
- Token有效期7天
- 支持第三方登录扩展

### ⏰ 初步估算
- MVP: 3天
- 含找回密码: 5天
```

---

## 何时跳过

某些简单任务不需要完整头脑风暴：

- 简单的CRUD操作
- 已有的模式重复
- 紧急Bug修复
- 纯UI调整
- 小型重构

**判断标准**：如果预判这个问题你能在10分钟内想清楚，就不需要。

