关于 brainstorming
brainstorming 是用于研究或规划前探索想法的交互式技能。它通过一次一个问题的苏格拉底式问答,逐步形成轻量级预需求文档,并要求用户参与。
主要功能
- 01一次一个问题的苏格拉底式探索
- 02Verbose 与 Critical 模式
- 03逐步创建头脑风暴文档
- 04综合结论并衔接后续流程
- 05综合后进行文件审阅
适用场景
- 01正式研究前澄清想法
- 02制定计划前探索需求
- 03记录决策与待定问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ desplega-ai/ ai-toolbox --skill brainstorming安装后在 Claude Code 中输入/brainstorming确认已加载。
附带文件template.md
详细介绍
头脑风暴
通过苏格拉底式问答,引导用户交互式地探索想法。目标是在实施前先达成理解——文档会在会话中逐步完善,最终形成轻量级的预备 PRD,供 /research 或 /create-plan 使用。
协作约定
头脑风暴的设计初衷就是交互式探索——问答是整个过程的核心。每次提问都使用 AskUserQuestion,一次只问一个问题(循环见步骤 3)。此技能有意不遵循 desplega:ask-user 的批量提问约定——苏格拉底式探索需要聚焦于单个问题。
默认启用文件审阅——综合整理完成后,对头脑风暴文档进行审阅。
适用情形
以下情况会启用此技能:
- 用户调用
/brainstorm命令 - 另一项技能引用
**REQUIRED SUB-SKILL:** Use desplega:brainstorming - 用户想在决定开展研究或制定计划前探索一个想法
- 用户尚未准备好开展正式研究
自主模式
头脑风暴本质上是交互式的,因此仅支持两种模式:
| 模式 | 行为 |
|---|---|
| 详细(默认) | 进行完整的苏格拉底式探索,每次提问一个问题,深入讨论 |
| 关键 | 减少提问,聚焦影响最大的方面,更快完成综合整理 |
不支持自动驾驶模式——头脑风暴需要人工参与。如果用户请求自动驾驶模式,则改用关键模式,并说明原因。
调用命令会传入自主模式。如果未指定,默认使用详细模式。
流程步骤
步骤 1:初始化文档
使用 cc-plugin/base/skills/brainstorming/template.md 中的模板创建 thoughts/<username|shared>/brainstorms/YYYY-MM-DD-<topic>.md。
路径选择: 如果上下文中已知用户姓名(例如 thoughts/taras/brainstorms/),则使用该路径。不明确时使用 thoughts/shared/brainstorms/。
填写 frontmatter 和 Context 部分,记录已知信息:主题、用户提供的上下文以及初步想法。写下目前已知的内容。
回顾过往经验
可选子技能: 如果 ~/.agentic-learnings.json 存在,则运行 /learning recall <current topic>,在继续之前查看相关的过往经验。
步骤 2:评估阶段
了解探索的大致方向。使用 AskUserQuestion 提问:
| 问题 | 选项 |
|---|---|
| “这属于哪种探索?” | 1. 要解决的问题,2. 要完善的想法,3. 要进行的比较,4. 要改进的工作流,5. 其他(请描述) |
更新文档的 exploration_type frontmatter,并在 Context 部分补充探索方向。
步骤 3:探索阶段
通过苏格拉底式问答循环,系统地挖掘需求、约束和见解。
规则:
- 每次通过 AskUserQuestion 只问 一个问题
- 每个问题都要附上推荐答案——将你的建议作为第一个选项,并标注“(推荐)”,在描述中说明理由。不要对本可以提供默认选项的问题开放式提问;让用户确认或修改即可。
- 区分事实与决策:绝不要询问用户你可以查明的内容。代码的功能、库支持什么、当前行为如何——这些都是事实:在会话期间启动一个快速的后台子 Agent(根据
desplega:delegate-work,定位问题用 Haiku,分析问题用 Sonnet),并将答案记录为见解。只有真正的决策——权衡、偏好、范围选择——才交由用户决定。 - 跟踪待决事项:维护尚未解决的决策分支列表(简短的 TodoWrite 列表即可)。每个答案都可能关闭一个分支并开启新的分支。待决事项清空时,探索即告完成——每个分支都已解决或明确延期,不存在任何被默默假定的事项。
- 每次收到答案后,都在文档的
## Exploration标题下追加一个新章节:### Q: [Your question] [User's answer] **Insights:** [Any observations, implications, or connections you noticed] - 找出下一个最重要的问题,以缩小范围或加深理解
- 持续进行,直到用户表示满意或自然达到饱和
提问策略:
- 从宽泛问题开始:了解问题领域和目标
- 逐步缩小范围:约束、现有解决方案、非功能性需求
- 探查边界:“什么情况会导致失败?”“最简单的版本是什么?”“你不打算解决什么?”
YAGNI 原则
**重要:**在探索阶段避免过早提出解决方案。目标是理解,而非实施。如果用户过早开始设计解决方案:
- 简短地认可这个想法
- 将话题引回需求:“这个方法很有意思。在决定采用之前,我们先确认一下是否理解了[相关约束/需求]。[后续问题]”
- 解决方案应放在综合阶段或后续的
/create-plan中
步骤 4:综合阶段
探索完成后(待决事项已清空,或用户表示结束),追加 ## Synthesis 章节:
## Synthesis
### Key Decisions
- [Decision 1]
- [Decision 2]
- [Deferred: <decision> — defaulting to <recommended answer> unless revisited]
### Open Questions
- [FACT-shaped question only — answerable by /research, tagged as its input]
### Constraints Identified
- [Constraint 1]
- [Constraint 2]
### Core Requirements
- [Requirement 1 — lightweight PRD-style]
- [Requirement 2]
如果头脑风暴结束时仍有未决决策,说明任务尚未完成。“开放问题”中只能包含事实类事项——即 /research 可以从代码库或文档中查明的内容。决策类问题必须在“关键决策”中解决,或记录为“延期,默认采用 X”,并写明你的建议。如果用户提前结束会话,仍有决策尚未敲定,则在进行综合之前,只需一次性询问所有问题的默认选项;或者将你自己的建议记录为默认选项,并明确标注。
学习记录
**可选子技能:**如果此工作流中产生了重要见解、模式、注意事项或决策,可以考虑使用 desplega:learning 通过 /learning capture 将其记录下来。重点记录能帮助他人在未来会话中有所收获的内容。
步骤 5:交接阶段
交接前,提议对头脑风暴文档运行 /review,以找出尚未探索的方面。
然后使用 AskUserQuestion 提问:
| 问题 | 选项 |
|---|---|
| “下一步是什么?” | 1. 基于此头脑风暴开始研究(→ /research),2. 直接制定计划(→ /create-plan),3. 目前先到这里(暂存头脑风暴) |
根据回答:
- 研究:建议使用
/research命令,并将头脑风暴文件作为输入上下文 - 计划:建议使用
/create-plan命令,并将头脑风暴文件作为输入上下文 - 结束:酌情将文档的
status设为parked或complete
文档演进
头脑风暴文档在会话期间是一份不断完善的文档。它最初可能较为粗略,并在问答过程中逐渐形成结构。到最后,它应当能够作为独立的上下文文档供他人阅读和理解。
评审集成
文件评审默认启用:
- 综合完成后,调用
/file-review:file-review <path>添加行内人工评论 - 使用
file-review:process-review技能处理反馈