一键导入
brainstorming
在进行任何创造性工作之前,你必须使用此功能——创造特性、构建组件、添加功能或修改行为。在实施之前探索用户意图、需求和设计。
菜单
在进行任何创造性工作之前,你必须使用此功能——创造特性、构建组件、添加功能或修改行为。在实施之前探索用户意图、需求和设计。
当面临 2 个以上可以独立工作且没有共享状态或顺序依赖关系的任务时使用
当你有一份书面的实施 plan 要在单独的会话中执行,并带有审查检查点时使用
当实施完成,所有测试通过,你需要决定如何集成工作时使用 - 通过提供合并、PR 或清理的结构化选项来指导开发工作的完成
当完成任务、实施主要功能或在合并之前验证工作是否符合要求时使用
当在当前会话中执行具有独立任务的实施 plans 时使用
当遇到任何 bug、测试失败或意外行为时使用,在提出修复之前
| name | brainstorming |
| description | 在进行任何创造性工作之前,你必须使用此功能——创造特性、构建组件、添加功能或修改行为。在实施之前探索用户意图、需求和设计。 |
通过自然的协作对话,帮助将想法转化为完全成型的 designs(设计)和 specs(规范)。
首先了解当前的项目背景,然后一次问一个问题来完善想法。一旦你理解了你要构建什么,就展示 design 并获得用户批准。
在展示 design 且用户批准之前,不要调用任何实施 skill、编写任何代码、搭建任何项目或采取任何实施行动。这适用于每个项目,无论感知的简单程度如何。每个项目都要经过这个流程。一个待办列表、一个单函数工具、一个配置更改——所有这些。"简单" 项目恰恰是未经审视的假设导致最多浪费工作的地方。Design 可以很短(对于真正简单的项目只需几句话),但你必须展示它并获得批准。
你必须为以下每个项目创建任务并按顺序完成:
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md 并 commitdigraph brainstorming {
"Explore project context" [shape=box];
"Visual questions ahead?" [shape=diamond];
"Offer Visual Companion\n(own message, no other content)" [shape=box];
"Ask clarifying questions" [shape=box];
"Propose 2-3 approaches" [shape=box];
"Present design sections" [shape=box];
"User approves design?" [shape=diamond];
"Write design doc" [shape=box];
"Spec self-review\n(fix inline)" [shape=box];
"User reviews spec?" [shape=diamond];
"Invoke writing-plans skill" [shape=doublecircle];
"Explore project context" -> "Visual questions ahead?";
"Visual questions ahead?" -> "Offer Visual Companion\n(own message, no other content)" [label="yes"];
"Visual questions ahead?" -> "Ask clarifying questions" [label="no"];
"Offer Visual Companion\n(own message, no other content)" -> "Ask clarifying questions";
"Ask clarifying questions" -> "Propose 2-3 approaches";
"Propose 2-3 approaches" -> "Present design sections";
"Present design sections" -> "User approves design?";
"User approves design?" -> "Present design sections" [label="no, revise"];
"User approves design?" -> "Write design doc" [label="yes"];
"Write design doc" -> "Spec self-review\n(fix inline)";
"Spec self-review\n(fix inline)" -> "User reviews spec?";
"User reviews spec?" -> "Write design doc" [label="changes requested"];
"User reviews spec?" -> "Invoke writing-plans skill" [label="approved"];
}
终止状态是调用 writing-plans。 不要调用 frontend-design、mcp-builder 或任何其他实施 skill。你在 brainstorming 后调用的唯一 skill 是 writing-plans。
理解想法:
探索方法:
展示 Design:
为隔离和清晰而设计:
在现有 codebase 中工作:
文档:
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
Spec 自我审查: 写完 spec 文档后,用全新的眼光查看它:
内联修复任何问题。无需重新审查——修复后继续。
用户审查关卡: Spec 审查循环通过后,要求用户在继续之前审查书面 spec:
"Spec 已写入并 commit 到
<path>。请在开始编写实施 plan 之前审查它,如果需要做任何更改请告诉我。"
等待用户的回复。如果他们要求更改,进行更改并重新运行 spec 审查循环。只有在用户批准后才继续。
实施:
一个基于浏览器的伴侣,用于在 brainstorming 期间展示模型图、图表和视觉选项。作为工具可用——不是一种模式。接受伴侣意味着它可以用于受益于视觉处理的问题;这并不意味着每个问题都通过浏览器处理。
提供伴侣: 当你预期即将到来的问题将涉及视觉内容(模型图、布局、图表)时,一次性提供以获得同意:
"我们正在处理的一些内容,如果我能在浏览器中展示给你看可能更容易解释。我可以在过程中组合模型图、图表、比较和其他视觉效果。这个功能还比较新,可能会消耗较多 token。想试试吗?(需要打开本地 URL)"
此提议必须是独立的消息。 不要将其与澄清问题、上下文总结或任何其他内容组合。消息应该只包含上述提议,别无其他。在继续之前等待用户的回复。如果他们拒绝,继续纯文本 brainstorming。
按问题决策: 即使在用户接受后,也要为每个问题决定是使用浏览器还是终端。判断标准:用户通过看到它比阅读它更能理解吗?
关于 UI 主题的问题不自动就是视觉问题。"在这个上下文中 personality 意味着什么?" 是概念性问题——使用终端。"哪种向导布局更好?" 是视觉问题——使用浏览器。
如果他们同意使用伴侣,在继续之前阅读详细指南:
skills/brainstorming/visual-companion.md