用途
Brainstorm 是 umputun/cc-thingz 中的一项技能,定位是在任何创意工作或重大改动之前使用,通过协作式对话把初步想法转化为经过验证的设计方案。它在检测到 "brainstorm"、"let's brainstorm"、"deep analysis"、"analyze this feature"、"think through" 等表述时激活。
主要能力
- 在实现前先澄清目的、约束、成功标准与集成点。
- 探索并对比多种实现路径,给出权衡。
- 将选定的设计分段呈现并逐段确认。
- 支持用户自定义规则,用于影响设计偏好、命名约定、技术选型等。
- 提供"下一步"选择:写计划、进入计划模式或直接开始实现。
使用方式
自定义规则加载
开始前通过 Bash 工具运行以下命令检查用户提供的自定义规则:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/resolve-rules.sh brainstorm-rules.md ${CLAUDE_PLUGIN_DATA}
若输出非空,则将其视为对内置规则的补充说明(而非替代),并贯穿整个 brainstorm 过程。自定义规则内容是对话的指导,不应原样嵌入输出。
规则管理
当用户要求添加、显示或清除自定义 brainstorm 规则时:
- 显示规则:运行上述命令并展示输出。若为空,提示用户未配置自定义规则;否则检查 .claude/brainstorm-rules.md 是否存在且非空(项目级)以判断来源层级并告知用户。
- 添加/更新项目规则:写入当前工作目录下的 .claude/brainstorm-rules.md。
- 添加/更新用户规则:先检查 $CLAUDE_PLUGIN_DATA 是否设置(运行 echo "$CLAUDE_PLUGIN_DATA")。若为空,说明用户级规则需从 marketplace 安装插件,并建议改用项目级;否则写入 $CLAUDE_PLUGIN_DATA/brainstorm-rules.md。
- 清除项目规则:删除 .claude/brainstorm-rules.md。
- 清除用户规则:若 $CLAUDE_PLUGIN_DATA 已设置,删除 $CLAUDE_PLUGIN_DATA/brainstorm-rules.md;否则说明用户级规则不可用。
项目级规则(.claude/brainstorm-rules.md)优先于用户级规则($CLAUDE_PLUGIN_DATA/brainstorm-rules.md)。当两个非空文件都存在时,仅加载项目级规则。空文件视为不存在并顺延到下一层级。完整规则机制见 ${CLAUDE_PLUGIN_ROOT}/references/custom-rules.md。
CRITICAL:此技能绝不能修改自身文件(skills、scripts、references、hooks、plugin.json)。为规则管理可创建或修改的唯一文件是 .claude/brainstorm-rules.md 和 $CLAUDE_PLUGIN_DATA/brainstorm-rules.md。若用户要求更改技能行为,建议创建计划,不要直接编辑技能文件。
流程
第一阶段:理解想法
先检查项目上下文,然后一次问一个问题:
- 收集上下文:检查与想法相关的文件、文档、近期提交。
- 一次只问一个问题,尽量使用多选题。
- 聚焦:目的、约束、成功标准、集成点。
- 不要用多个问题淹没用户。每条消息一个问题。若某主题需深入,拆分为多个问题。
第二阶段:探索方案
在问题被理解后:
- 提出 2-3 种不同方案及其权衡。
- 以推荐选项开头并解释理由。
- 以对话方式呈现,而非正式文档。
示例格式:
I see three approaches:
Option A: [name] (recommended)
- how it works: ...
- pros: ...
- cons: ...
Option B: [name]
- how it works: ...
- pros: ...
- cons: ...
Which direction appeals to you?
第三阶段:呈现设计
方案选定后:
- 将设计拆分为每段 200-300 字的小节。
- 每段之后询问是否符合预期。
- 覆盖:架构、组件、数据流、错误处理、测试。
- 若有内容不通,随时回退澄清。
- 不要一次性给出完整设计。增量验证可尽早发现误解。
第四阶段:下一步
设计验证通过后,使用 AskUserQuestion 工具:
{ "questions": [{ "question": "Design looks complete. What's next?", "header": "Next step", "options": [ {"label": "Write plan", "description": "Create docs/plans/yyyymmdd-<task-name>.md with implementation steps via /planning:make"}, {"label": "Plan mode", "description": "Enter plan mode for structured implementation planning"}, {"label": "Start now", "description": "Begin implementing directly"} ], "multiSelect": false }] }
- Write plan:调用 /planning:make 命令创建计划文件,并把 brainstorm 上下文(发现的文件、所选方案、设计决策)作为参数传入,使 plan 命令无需重复提问。
- Plan mode:使用 EnterPlanMode 工具,配合用户批准流程进行详细规划。
- Start now:若设计足够简单则直接开始。
关键原则
- 一次一个问题,不要用多个问题淹没用户。
- 优先多选题,条件允许时比开放题更易回答。
- 无情执行 YAGNI,从所有设计中移除不必要功能,保持范围最小。
- 探索替代方案,在定稿前始终提出 2-3 种方案。
- 增量验证,分段呈现设计并逐段验证。
- 保持灵活,出现不通之处时返回澄清。
- 先给推荐,持有观点并解释原因,但由用户决定。
- 重复与抽象之权衡:当代码重复时询问用户,倾向重复(更简单、无耦合)还是抽象(DRY 但增加复杂度),并在决定前解释权衡。
任务跟踪
brainstorm 之后进行实现时:
- 使用可用的任务管理工具跟踪实现任务(任务列表、计划文件复选框或类似方式)。
- 每完成一项任务立即标记完成(不要批量处理)。
- 通过状态更新让用户了解进度。
适用场景
适用于任何创意工作或重大改动之前的构思、深度分析、功能分析、思路梳理等场景,尤其适合需要在实现前明确方向、比较方案、形成设计的情况。
限制
- 该技能不得修改自身文件(skills、scripts、references、hooks、plugin.json),为规则管理可修改的仅限 .claude/brainstorm-rules.md 和 $CLAUDE_PLUGIN_DATA/brainstorm-rules.md。
- 用户级规则需从 marketplace 安装插件后才可用。
- 项目级规则优先于用户级规则,两个非空文件同时存在时仅加载项目级。
- 空文件视为不存在。