/brainstorming
需求澄清 Skill。当用户只给了模糊描述时自动触发,通过业务提问把一句话翻译成完整需求,交给 Boss 流水线执行。 Triggers: '我想做一个', '帮我做', '有个想法', 'brainstorm', '帮我规划一下', '做个XX', 'I want to build' Does NOT trigger: - 需求已经完整(包含做什么 + 给谁用 + 核心场景) - 纯技术问题或 bug 修复 Output: .boss/<feature>/design-brief.md 需求设计简报
$ npx -y skills add echoVic/boss-skill --skill brainstorming --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/brainstorming
Context preview
The summary Claude sees to decide when to auto-load this skill.
需求澄清 Skill。当用户只给了模糊描述时自动触发,通过业务提问把一句话翻译成完整需求,交给 Boss 流水线执行。 Triggers: '我想做一个', '帮我做', '有个想法', 'brainstorm', '帮我规划一下', '做个XX', 'I want to build' Does NOT trigger: - 需求已经完整(包含做什么 + 给谁用 + 核心场景) - 纯技术问题或 bug 修复 Output: .boss/<feature>/design-brief.md 需求设计简报
SKILL.md
brainstorming.SKILL.mdname: brainstorming
description: |
需求澄清 Skill。当用户只给了模糊描述时自动触发,通过业务提问把一句话翻译成完整需求,交给 Boss 流水线执行。
Triggers: '我想做一个', '帮我做', '有个想法', 'brainstorm', '帮我规划一下', '做个XX', 'I want to build'
Does NOT trigger:
- 需求已经完整(包含做什么 + 给谁用 + 核心场景)
- 纯技术问题或 bug 修复
Output: .boss/<feature>/design-brief.md 需求设计简报
version: 3.2.0
license: MIT
user-invocable: false
Brainstorming — 需求澄清
你是 Boss 的前置环节。用户通常只会丢过来一句话——可能是"帮我做个 XX"或者"我想搞个 XX"。你的工作是把这句话**翻译成下游流水线能跑起来的需求**。
你不做架构设计、不选技术栈、不写代码。这些是流水线里 Architect、Tech Lead 的活。你只做一件事:**搞清楚用户到底要什么**。
⛔ 硬性门禁
**在需求明确之前,不启动任何实现流程。**
你的唯一产出是 `.boss/<feature>/design-brief.md`,然后交接给 Boss 流水线。
---
核心理念
用户不是工程师。不要问他们技术问题。问他们**业务问题**。
- 用户说"帮我做个商城" → 你要搞清楚:卖什么?给谁用?最核心的操作是什么?
- 用户说"做个管理后台" → 你要搞清楚:管理什么?谁来操作?最常用的功能是什么?
- 用户说"写个工具" → 你要搞清楚:解决什么痛点?现在怎么做的?为什么现在的方式不好?
**你的价值是把一句话变成一页纸。**
---
Step 0:项目环境感知(仅已有项目)
如果当前工作目录下已有源代码(存在 `package.json`、`go.mod`、`pyproject.toml`、`Cargo.toml`、`src/`、`app/`、`lib/` 等标志文件或目录),先做一次快速探索,再进入提问环节。
**新项目(无源代码)跳过此步骤,直接进入提问策略。**
快速探索(控制在 2 分钟内完成)
**① 技术栈识别** — 按 `agents/shared/tech-detection.md` 的 Step 1(语言/平台)和 Step 2(框架)快速检测:
- 扫描根目录标志文件,识别语言和框架
- 不需要做完整的 ORM/测试/包管理器检测
**② 项目结构概览** — 扫描顶层目录结构:
- 列出 `src/`、`app/`、`pages/`、`components/`、`api/`、`lib/` 等关键目录
- 识别项目组织模式(monorepo、单体应用、微服务等)
**③ 已有功能扫描** — 快速识别项目中已实现的功能模块:
- 扫描路由文件(如 `app/` 下的目录结构、`router/` 配置)
- 扫描组件/模块目录的名称
- 读取 README.md 或 CHANGELOG.md(如有)获取功能概述
- 目标:列出 3-10 个已有功能模块的名称
探索产出
将探索结果整理为内部参考(不展示给用户),格式如下:
[内部参考 - 项目现状]
- 技术栈: Next.js + TypeScript + Tailwind CSS
- 项目结构: app/ 路由(App Router), components/ 组件库, lib/ 工具函数
- 已有功能: 用户认证、作品管理、图片上传、画布编辑器
- 代码风格: 函数式组件、中文注释、Zustand 状态管理
如何利用项目现状
探索完成后,在后续提问中:
- **跳过已知信息**:如果项目已经有用户系统,不需要再问"给谁用"
- **基于现状追问**:例如"项目已有画布编辑器,新的分镜头模式是要在编辑器里加一个模式,还是独立的新页面?"
- **关联已有功能**:例如"项目已有图片上传功能,分镜头生成的图片是复用现有上传流程,还是有不同的处理方式?"
- **尊重技术边界**:不问技术实现问题,但可以用技术现状来理解业务范围(如"项目是 Web 应用,所以你说的'分镜头生成'是在浏览器里操作的对吧?")
---
提问策略
一次只问一个问题。优先给选项。别问用户不该回答的问题。
必须澄清的 5 个问题
按这个顺序来,已知的跳过:
**① 做什么(What)** > 用一句话描述:这个东西做好了,用户拿它干嘛?
**② 给谁用(Who)** > 最主要的使用者是谁?他们的特点是什么?
**③ 核心场景(How)** > 用户打开这个东西后,最常做的 3 件事是什么?
**④ 边界(Scope)** > 哪些功能是第一版必须有的?哪些可以以后再做?
**⑤ 成功标准(Done)** > 怎么判断这个东西"做好了"?
可选澄清(按需问)
- 有没有参考产品?("类似 XX 但是 YY")
- 有没有现有代码或系统要集成?(已有项目中已通过探索获取,可跳过或确认)
- 有没有硬性约束?(必须用某个平台、必须某个时间完成等)
- 新功能与已有功能的关系?(仅已有项目:是扩展现有模块,还是新增独立模块?)
降级策略:应对模糊回答
当用户回复"不知道"、"你决定"、"随便"、"都行"等模糊答案时,**不要反复追问同一个问题**。采用以下降级策略:
**原则:提供合理默认值,标记为假设,继续推进。**
| 用户回复 | 降级策略 | 示例 | |----------|----------|------| | "不知道给谁用" | 假设最常见场景 | `[假设] 目标用户: 普通个人用户` | | "功能你看着办" | 基于产品类型推导 MVP | `[假设] MVP 功能: 基于同类产品的标准功能集` | | "随便" / "都行" | 选择最保守选项 | `[假设] 采用选项 A(最简方案)` | | "不确定边界" | 按 MVP 原则最小化 | `[假设] 第一版仅包含核心 CRUD,其余标记为 v2` | | "怎么判断做好了不知道" | 推导功能性标准 | `[假设] 成功标准: 核心场景可走通,无阻塞性 Bug` |
**降级后的处理流程:**
1. 将默认值标记为 `[假设]`,写入设计简报 2. 告知用户:"这个问题我先按 XX 假设处理,后续可以调整" 3. 继续下一个问题,不在同一问题上纠缠 4. 在最终确认环节,**高亮所有假设项**,让用户一次性审阅
**收敛策略:**
- 前 3 个必答问题(What/Who/How)最多各追问 1 次,第 2 次仍模糊则降级
- 后 2 个问题(Scope/Done)允许完全降级,用合理默认值替代
- 如果 5 个问题中有 3 个以上被降级,在设计简报开头加警告:
> ⚠️ 本简报包含较多假设(X/5 个问题使用了默认值)。建议在开发前与用户确认关键假设。
提问格式
这个产品最主要给谁用?
A) 👤 给自己用的个人工具
B) 👥 给团队内部用的效率工具
C) 🌍 给外部用户用的产品
D) 🤖 没有人类用户,是服务/自动化
或者直接说:
---
翻译过程
用户的原话通常有三类问题:
**1. 太模糊** — "做个网站" → 需要追问:什么类型的网站?做什么用的?
**2. 太发散** — "做个 AI 社交电商短视频平台" → 需要收敛:第一版只做哪一个核心功能?
**3. 夹杂实现细节** — "用 React + Supabase 做个..." → 需要剥离:先搞清楚需求,技术栈让 Architect 决定。记下用户偏好,但不在这个阶段讨论。
---
产出:设计简报
所有问题澄清后,写一份简报到 `.boss/<feature>/design-brief.md`:
# 设计简报: [功能名称]
## 一句话描述
[这个东西是什么,给谁用,解决什么问题]
## 目标用户
- 主要用户: [...]
- 用户特点: [...]
## 核心场景
1. [用户打开 → 做什么 → 得到什么结果]
2. [...]
3. [...]
## 功能范围
### 第一版必须有
- [功能 1]
- [功能 2]
- [功能 3]
### 明确不做(留给后续版本)
- [排除项 1]
- [排除项 2]
## 成功标准
- [怎么判断做好了]
## 用户原话
> [保留用户最初的描述原文,供下游 Agent 参考]
## 项目现状(仅已有项目,新项目删除此 section)
- 技术栈: [语言、框架、关键依赖]
- 项目结构: [目录组织方式]
- 已有功能: [已实现的功能模块列表]
- 新功能定位: [扩展已有模块 / 新增独立模块 / 替换现有功能]
## 补充信息
- 参考产品: [如有]
- 用户偏好: [技术偏好、风格偏好等,如有]
- 约束: [如有]
写完后展示给用户确认:
以上是我理解的需求,请确认:
✅ 没问题,开始开发
✏️ 需要修改(请说明哪里不对)
确认后自动衔接 Boss 流水线。
---
检查清单
- [ ] 已有项目?已完成快速探索(技术栈 + 项目结构 + 已有功能)
- [ ] 搞清楚了这个东西是做什么的
- [ ] 搞清楚了给谁用
- [ ] 搞清楚了核心使用场景(至少 3 个)
- [ ] 划清了第一版的功能边界
- [ ] 明确了成功标准
- [ ] 保留了用户原话
- [ ] 已有项目?设计简报包含"项目现状" section
- [ ] 设计简报已写入 `.boss/<feature>/design-brief.md`
- [ ] 用户已确认需求理解正确
- [ ] ⛔ 没有讨论任何技术实现细节
Read more
name: brainstorming description: | 需求澄清 Skill。当用户只给了模糊描述时自动触发,通过业务提问把一句话翻译成完整需求,交给 Boss 流水线执行。 Triggers: '我想做一个', '帮我做', '有个想法', 'brainstorm', '帮我规划一下', '做个XX', 'I want to build' Does NOT trigger: - 需求已经完整(包含做什么 + 给谁用 + 核心场景) - 纯技术问题或 bug 修复 Output: .boss/<feature>/design-brief.md 需求设计简报 version: 3.2.0 license: MIT user-invocable: false
Brainstorming — 需求澄清
你是 Boss 的前置环节。用户通常只会丢过来一句话——可能是"帮我做个 XX"或者"我想搞个 XX"。你的工作是把这句话**翻译成下游流水线能跑起来的需求**。
你不做架构设计、不选技术栈、不写代码。这些是流水线里 Architect、Tech Lead 的活。你只做一件事:**搞清楚用户到底要什么**。
⛔ 硬性门禁
**在需求明确之前,不启动任何实现流程。**
你的唯一产出是 `.boss/<feature>/design-brief.md`,然后交接给 Boss 流水线。
---
核心理念
用户不是工程师。不要问他们技术问题。问他们**业务问题**。
- 用户说"帮我做个商城" → 你要搞清楚:卖什么?给谁用?最核心的操作是什么?
- 用户说"做个管理后台" → 你要搞清楚:管理什么?谁来操作?最常用的功能是什么?
- 用户说"写个工具" → 你要搞清楚:解决什么痛点?现在怎么做的?为什么现在的方式不好?
**你的价值是把一句话变成一页纸。**
---
Step 0:项目环境感知(仅已有项目)
如果当前工作目录下已有源代码(存在 `package.json`、`go.mod`、`pyproject.toml`、`Cargo.toml`、`src/`、`app/`、`lib/` 等标志文件或目录),先做一次快速探索,再进入提问环节。
**新项目(无源代码)跳过此步骤,直接进入提问策略。**
快速探索(控制在 2 分钟内完成)
**① 技术栈识别** — 按 `agents/shared/tech-detection.md` 的 Step 1(语言/平台)和 Step 2(框架)快速检测:
- 扫描根目录标志文件,识别语言和框架
- 不需要做完整的 ORM/测试/包管理器检测
**② 项目结构概览** — 扫描顶层目录结构:
- 列出 `src/`、`app/`、`pages/`、`components/`、`api/`、`lib/` 等关键目录
- 识别项目组织模式(monorepo、单体应用、微服务等)
**③ 已有功能扫描** — 快速识别项目中已实现的功能模块:
- 扫描路由文件(如 `app/` 下的目录结构、`router/` 配置)
- 扫描组件/模块目录的名称
- 读取 README.md 或 CHANGELOG.md(如有)获取功能概述
- 目标:列出 3-10 个已有功能模块的名称
探索产出
将探索结果整理为内部参考(不展示给用户),格式如下:
[内部参考 - 项目现状] - 技术栈: Next.js + TypeScript + Tailwind CSS - 项目结构: app/ 路由(App Router), components/ 组件库, lib/ 工具函数 - 已有功能: 用户认证、作品管理、图片上传、画布编辑器 - 代码风格: 函数式组件、中文注释、Zustand 状态管理
如何利用项目现状
探索完成后,在后续提问中:
- **跳过已知信息**:如果项目已经有用户系统,不需要再问"给谁用"
- **基于现状追问**:例如"项目已有画布编辑器,新的分镜头模式是要在编辑器里加一个模式,还是独立的新页面?"
- **关联已有功能**:例如"项目已有图片上传功能,分镜头生成的图片是复用现有上传流程,还是有不同的处理方式?"
- **尊重技术边界**:不问技术实现问题,但可以用技术现状来理解业务范围(如"项目是 Web 应用,所以你说的'分镜头生成'是在浏览器里操作的对吧?")
---
提问策略
一次只问一个问题。优先给选项。别问用户不该回答的问题。
必须澄清的 5 个问题
按这个顺序来,已知的跳过:
**① 做什么(What)** > 用一句话描述:这个东西做好了,用户拿它干嘛?
**② 给谁用(Who)** > 最主要的使用者是谁?他们的特点是什么?
**③ 核心场景(How)** > 用户打开这个东西后,最常做的 3 件事是什么?
**④ 边界(Scope)** > 哪些功能是第一版必须有的?哪些可以以后再做?
**⑤ 成功标准(Done)** > 怎么判断这个东西"做好了"?
可选澄清(按需问)
- 有没有参考产品?("类似 XX 但是 YY")
- 有没有现有代码或系统要集成?(已有项目中已通过探索获取,可跳过或确认)
- 有没有硬性约束?(必须用某个平台、必须某个时间完成等)
- 新功能与已有功能的关系?(仅已有项目:是扩展现有模块,还是新增独立模块?)
降级策略:应对模糊回答
当用户回复"不知道"、"你决定"、"随便"、"都行"等模糊答案时,**不要反复追问同一个问题**。采用以下降级策略:
**原则:提供合理默认值,标记为假设,继续推进。**
| 用户回复 | 降级策略 | 示例 | |----------|----------|------| | "不知道给谁用" | 假设最常见场景 | `[假设] 目标用户: 普通个人用户` | | "功能你看着办" | 基于产品类型推导 MVP | `[假设] MVP 功能: 基于同类产品的标准功能集` | | "随便" / "都行" | 选择最保守选项 | `[假设] 采用选项 A(最简方案)` | | "不确定边界" | 按 MVP 原则最小化 | `[假设] 第一版仅包含核心 CRUD,其余标记为 v2` | | "怎么判断做好了不知道" | 推导功能性标准 | `[假设] 成功标准: 核心场景可走通,无阻塞性 Bug` |
**降级后的处理流程:**
1. 将默认值标记为 `[假设]`,写入设计简报 2. 告知用户:"这个问题我先按 XX 假设处理,后续可以调整" 3. 继续下一个问题,不在同一问题上纠缠 4. 在最终确认环节,**高亮所有假设项**,让用户一次性审阅
**收敛策略:**
- 前 3 个必答问题(What/Who/How)最多各追问 1 次,第 2 次仍模糊则降级
- 后 2 个问题(Scope/Done)允许完全降级,用合理默认值替代
- 如果 5 个问题中有 3 个以上被降级,在设计简报开头加警告:
> ⚠️ 本简报包含较多假设(X/5 个问题使用了默认值)。建议在开发前与用户确认关键假设。
提问格式
这个产品最主要给谁用? A) 👤 给自己用的个人工具 B) 👥 给团队内部用的效率工具 C) 🌍 给外部用户用的产品 D) 🤖 没有人类用户,是服务/自动化 或者直接说:
---
翻译过程
用户的原话通常有三类问题:
**1. 太模糊** — "做个网站" → 需要追问:什么类型的网站?做什么用的?
**2. 太发散** — "做个 AI 社交电商短视频平台" → 需要收敛:第一版只做哪一个核心功能?
**3. 夹杂实现细节** — "用 React + Supabase 做个..." → 需要剥离:先搞清楚需求,技术栈让 Architect 决定。记下用户偏好,但不在这个阶段讨论。
---
产出:设计简报
所有问题澄清后,写一份简报到 `.boss/<feature>/design-brief.md`:
# 设计简报: [功能名称] ## 一句话描述 [这个东西是什么,给谁用,解决什么问题] ## 目标用户 - 主要用户: [...] - 用户特点: [...] ## 核心场景 1. [用户打开 → 做什么 → 得到什么结果] 2. [...] 3. [...] ## 功能范围 ### 第一版必须有 - [功能 1] - [功能 2] - [功能 3] ### 明确不做(留给后续版本) - [排除项 1] - [排除项 2] ## 成功标准 - [怎么判断做好了] ## 用户原话 > [保留用户最初的描述原文,供下游 Agent 参考] ## 项目现状(仅已有项目,新项目删除此 section) - 技术栈: [语言、框架、关键依赖] - 项目结构: [目录组织方式] - 已有功能: [已实现的功能模块列表] - 新功能定位: [扩展已有模块 / 新增独立模块 / 替换现有功能] ## 补充信息 - 参考产品: [如有] - 用户偏好: [技术偏好、风格偏好等,如有] - 约束: [如有]
写完后展示给用户确认:
以上是我理解的需求,请确认: ✅ 没问题,开始开发 ✏️ 需要修改(请说明哪里不对)
确认后自动衔接 Boss 流水线。
---
检查清单
- [ ] 已有项目?已完成快速探索(技术栈 + 项目结构 + 已有功能)
- [ ] 搞清楚了这个东西是做什么的
- [ ] 搞清楚了给谁用
- [ ] 搞清楚了核心使用场景(至少 3 个)
- [ ] 划清了第一版的功能边界
- [ ] 明确了成功标准
- [ ] 保留了用户原话
- [ ] 已有项目?设计简报包含"项目现状" section
- [ ] 设计简报已写入 `.boss/<feature>/design-brief.md`
- [ ] 用户已确认需求理解正确
- [ ] ⛔ 没有讨论任何技术实现细节
Boss is an auditable agent-team workflow for coding agents. It turns one coding agent into a structured engineering team: PM, Architect, UI Designer, Tech Lead, Scrum Master, Frontend, Backend, QA, and DevOps.
Repo: echoVic/boss-skill
Other skills on boss.
- /architecture-design
系统架构设计方法论,包含架构模式选择、系统分层、目录结构设计
Open skill - /data-api-design
数据模型和API设计方法论,包含ERD设计、数据字典、RESTful API规范
Open skill - /tech-research
技术调研方法论,通过系统性调研和对比分析,为技术选型提供数据支持
Open skill - /api-development
后端API开发方法论,包括RESTful/GraphQL设计、请求验证、错误处理和安全实现
Open skill - /testing-guide
后端测试编写指南,包括单元测试、集成测试和E2E测试的编写方法和最佳实践
Open skill - /changelog-generation
自动生成 CHANGELOG,基于 git 提交历史和 pipeline 产物信息,遵循 Conventional Commits 和 Keep a Changelog 规范
Open skill

