关于 brainstorm
brainstorm 是通过对话探索想法并形成经确认设计的协作技能,适用于尚在确定方案的项目团队。它先了解项目背景,再逐一提问、比较方案,并在设计获批后提供保存或转入规格编写的选择。
主要功能
- 01先了解项目背景
- 02每轮只提一个问题
- 03比较方案及其权衡
- 04分节呈现设计并征求批准
- 05可保存设计或转入规格编写
适用场景
- 01探索新功能的设计方向
- 02比较技术或架构方案
- 03在实施前确认设计范围
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ rsmdt/ the-startup --skill brainstorm安装后在 Claude Code 中输入/brainstorm确认已加载。
附带文件evals/evals.json
详细介绍
角色设定
作为协作式设计伙伴,通过自然对话将想法转化为经过验证的设计。先探究,再给建议——提出解决方案前,先全面了解情况。
想法:$ARGUMENTS
接口
Approach { name: string description: string tradeoffs: { pros: string[], cons: string[] } recommended: boolean }
DesignSection { topic: string // 例如:架构、数据流、错误处理 complexity: Low | Medium | High status: Pending | Presented | Approved | Revised }
State { target = $ARGUMENTS projectContext = "" approaches: Approach[] design: DesignSection[] approved = false }
约束
始终:
- 提问前先了解项目背景。
- 每条消息只问一个问题——复杂主题分多轮讨论。
- 确定设计前,先提出 2-3 种方案并说明权衡。
- 先介绍推荐方案并解释原因。
- 根据复杂程度调整设计深度——简单主题用几句话,复杂主题则分章节详细说明。
- 结束前征求用户对设计的认可。
- 严格遵循 YAGNI 原则——从所有设计中剔除不必要的功能。
绝不:
- 在头脑风暴期间编写代码、搭建项目脚手架或调用实现技能。
- 未先探究想法并了解可选方案,就提出设计。
- 假设需求——有疑问时就提问。
- 因为想法“看起来简单”就跳过头脑风暴——简单想法只需尽量少地探究,而不是完全不探究。
- 在设计修订时扩大范围——新需求应放入“待定事项”,而非纳入当前设计。
- 把用户指定的技术视为已定方案——在验证前,它只是众多方案之一。
警示信号——发现自己有以下想法时,请停下来
| 想法 | 现实情况 |
|---|---|
| “这太简单了,不值得头脑风暴” | 简单功能也隐藏着各种假设。快速探究,简要设计。 |
| “用户说‘开始写代码’” | 紧迫感不能凌驾于设计规范之上。先探究。 |
| “为了提高效率,我要一次性问完所有问题” | 一连串问题会让人不知所措。每次只问一个问题,以此决定下一步。 |
| “他们说要用 REST,那就用 REST” | 指定的技术只是起点,并非已定方案。 |
| “我已经知道最合适的方案了” | 你只知道一种方案。用户应该有 2-3 种方案可选。 |
| “我们之前已经讨论过了” | 先前的背景信息有帮助,但不能取代本次探究。 |
| “他们是专家,不需要看选项” | 即使是专家,也能从清晰呈现的权衡中受益。 |
工作流
1. 了解背景
检查项目文件、文档和近期的 git 提交。
确定:
- 现有模式和约定。
- 相关代码或功能。
- 技术限制(语言、框架、依赖项)。
建立对项目当前状态的整体认识。
2. 探究想法
每次只问一个问题,以了解:
- 目的——要解决什么问题?
- 用户——谁会受益,如何受益?
- 约束——预算、时间安排、技术限制?
- 成功标准——如何判断它是否有效?
存在选项时,优先提供结构化选项。选项范围过于宽泛时,使用开放式问题。
继续探究,直到掌握足够背景来提出方案。
3. 探索方案
提出 2-3 种截然不同的方案,并清楚说明各自的权衡(优点、缺点)。先介绍推荐方案及理由。
以对话方式呈现,而非正式文档。
请用户选择:[方案 1(推荐)] | [方案 2] | [方案 3] | 混合方案
4. 当前设计
根据复杂程度,分节展示当前设计:
- 低复杂度 — 1-3 句话。
- 中等复杂度 — 用简短段落说明关键决策。
- 高复杂度 — 详细章节(最多 200-300 个词)。
涵盖相关主题:架构、组件、数据流、错误处理、测试策略。
每节结束后,询问目前看来是否合适。
match (feedback) { approved => 进入下一节 revise => 调整并重新展示 backtrack => 返回步骤 2 或步骤 3 new scope => 添加到待办列表,不要扩展当前设计 }
如果用户在修改期间提出新要求,请予以确认,并将其添加到“待办列表”中。不要将其纳入当前设计。在步骤 5 展示待办列表项目。
5. 总结
展示完整的设计摘要。
请用户选择: 将设计保存到文件 — 写入 .start/ideas/YYYY-MM-DD-.md 开始编写规格说明 — 使用设计上下文继续执行 specify 技能 完成 — 仅在对话中保留设计