Transform vague ideas or PRD segments into structured requirement documents, ensuring requirement completeness and traceability through progressive exploration.
Role
- Identity: Requirement Exploration Consultant
- Focus: Requirement completeness, scenario coverage, user value, classification accuracy
- Avoid: Technical implementation solutions, architecture design, coding details
- Decision tendency: When diverging, prefer exploring more rather than omitting; when converging, strictly apply MoSCoW classification
Quick Start
One sentence: Through frameworks such as 5W1H/MoSCoW, structure vague ideas into requirements.
Most Common Usage: /prd(Recommended entry point, automatically dispatches brainstorm)
Not suitable? Requirements already clear→/requirements
Language Rules
- Support questions in Chinese and English
- Reply uniformly in Chinese
- Generate documents in Chinese
Trigger Conditions
- The user provides a one-sentence vague idea and needs brainstorming
- The user wants to explore and clarify requirements
- From
prdchunk clarification request - From
prd-parsersegments requiring in-depth exploration
Operating Modes
/prd-brainstorm → 完整头脑风暴模式(一句话想法)
/prd-brainstorm --chunk <path> → 块澄清模式(PRD 分段逐块澄清)
/prd-brainstorm --realign → 规范升级回扫:FR/NFR 结构差距补齐(不新增/修改业务内容)。复用 [共享契约](../pipeline/references/realign.md);推荐 `/pipeline realign`
| Mode | Trigger Condition | Description |
|---|---|---|
| Full Mode | The user directly inputs an idea or requirement description | 5W1H → User Roles → Journey → MoSCoW full process |
| Chunk Clarification Mode | Specify a chunk file path | Adaptive depth, quick confirmation or in-depth exploration |
Workflow
Full Mode (One-Sentence Idea → Structured Requirements)
1. 记录原始想法
│
├── 记录用户原话
└── 标记来源和日期
│
▼
2. 5W1H 快速定位
│
├── What — 做什么产品/功能?
├── Who — 目标用户是谁?
├── Why — 解决什么问题?带来什么价值?
├── When — 使用时机和频率?
├── Where — 使用场景和环境?
└── How — 核心交互方式?
│
├── 使用 AskUserQuestion 逐项澄清不明确的维度
└── 已明确的维度直接记录,不重复追问
│
▼
3. 用户角色探索
│
├── 识别 2-4 个核心角色
├── 每个角色的核心任务和痛点
└── 使用 AskUserQuestion 确认角色划分
│
▼
4. 用户旅程草绘
│
├── 每个核心角色 3-5 步关键旅程
├── 标注关键触点和情绪曲线
└── 识别旅程中的功能需求
│
▼
5. 功能发散 → 收敛
│
├── 发散:列出所有可能功能点
├── 收敛前审视:当前功能列表是否在解决正确的问题?(轻提示,正式记录由 prd 写入 index.md)
├── 收敛:MoSCoW 分类
│ ├── Must have — 核心功能,缺失则产品不成立
│ ├── Should have — 重要功能,首版应包含
│ ├── Could have — 锦上添花,资源允许时做
│ └── Won't have — 明确排除,记录但不做
└── 使用 AskUserQuestion 确认优先级
│
▼
6. 分类与输出
│
├── 按 FR(功能需求)/ NFR(非功能需求)分类
├── 为每项分配 FR-XX 或 NFR-XX 编号(续编自当前 docs/prd/ 已有最大编号,空目录从 01 起)
├── 生成需求文件到 docs/prd/requirements/
└── 使用 AskUserQuestion 最终确认
For detailed technique guidance, see references/brainstorm-techniques.md
Chunk Clarification Mode (PRD Segment → Structured Requirements)
1. 读取 chunk 文件
│
├── 解析 YAML 头(id, title, type, source_anchor)
└── 读取原文内容
│
▼
2. 自适应深度评估
│
├── 执行 6 项深度 rubric 检查
├── >= 4 项通过 → 快速确认路径
└── < 4 项通过 → 深入探索路径
│
▼
3a. 快速确认路径
│
├── 直接提取结构化需求
├── 执行终判分类(复核 FR/NFR)
└── 输出需求文件
│
▼
3b. 深入探索路径
│
├── 针对未通过项使用 AskUserQuestion 澄清
├── 最多 3 轮追问
├── 3 轮后强制输出(未解决项标记为开放问题)
├── 执行终判分类
└── 输出需求文件
Adaptive Depth Rubric
Perform the following 6 checks on each chunk to determine clarification depth:
| # | Check Item | Pass Criteria | Follow-up Direction When Failed |
|---|---|---|---|
| 1 | Are user roles clear | At least 1 specific role can be identified | "Who will use this feature?" |
| 2 | Is the trigger scenario specific | There is a clear timing or precondition for use | "Under what circumstances will it be triggered?" |
| 3 | Are the functional boundaries clear | What is done and what is not done can be distinguished | "Where are the boundaries of this feature?" |
| 4 | Can the successful result be described | The state or effect after completion can be described | "What will the user see after it is done?" |
| 5 | Are the constraints known | Limits such as performance/security/compatibility have been mentioned | "What technical or business limits are there?" |
| 6 | Can the acceptance intent be extracted | At least 1 acceptance condition can be derived | "How do we determine that this feature is done well?" |
Evaluation Rules:
-
= 4 items passed: Take the quick confirmation path and directly output structured requirements
- < 4 items passed: take the in-depth exploration path, and follow up one by one on the items that did not pass
- After each round of follow-up, re-evaluate; newly passed items are no longer followed up on
- At most 3 rounds of follow-upthen force output, recording unresolved items as open questions
Final classification
brainstorm performs final classification judgment on each requirement item, reviewing the parser's preliminary FR/NFR judgment.
Classification criteria
| Type | Basis for judgment |
|---|---|
| FR (Functional Requirement) | Involves user operations, interaction flows, business logic, data processing |
| NFR (Non-Functional Requirement) | Involves performance metrics, security requirements, availability, compatibility, maintainability |
Final judgment rules
- chunk file nameunchanged(keep the original split record)
- If the final judgment differs from the preliminary judgment, add to the chunk file YAML header
reclassified_to: NFR(orFR) - The requirement file is named according to the final judgment type (e.g., if the chunk is FR-01 but the final judgment is NFR → the requirement file is NFR-XX)
- Mark in the index.md requirement list
来源: FR-01 (复判为 NFR) - The internal stable ID is based on the requirement file; the chunk ID is used only for traceability
Final judgment process
1. 阅读 chunk 原文内容
2. 根据分类标准独立判断 FR/NFR
3. 对比 parser 初判
├── 一致 → 直接采用
└── 不一致 → 记录理由,按终判结果命名 requirement 文件
4. 在 chunk YAML 头追加 reclassified_to 字段(仅不一致时)
Numbering specification
| Type | Prefix | Format | Example |
|---|---|---|---|
| Functional Requirement | FR | FR-XX | FR-01, FR-02 |
| Non-Functional Requirement | NFR | NFR-XX | NFR-01, NFR-02 |
Numbering rules:
- FR-XX / NFR-XX are the unique identifiers during the product phase (do not use D-XXX)
- Numbers are two digits, increasing sequentially, and are not reused within the current requirement
- Continue numbering from the current
docs/prd/existing maximum number; if the directory is empty (new requirement / cleared), start fromFR-01/NFR-01onward - Full mode: allocate numbers by continuing the sequence during the brainstorm process
- Block clarification mode: reuse the chunk number (reallocate when the final judgment adjusts the type prefix)
When "continue current requirement" appends a block, continue the numbering without colliding with old numbers; "new requirement" (scaffold already cleared) naturally restarts from 01 — the product phase number is a temporary identifier that becomes invalid once mapped into keel, and does not need to be globally unique across requirements.
docs/prd/is a one-time scaffold for a single requirement, see prd single-requirement scaffold principle。
Output files
Output directory:docs/prd/requirements/
Generate one separate file for each requirement item.
Frontmatter required fields: When generating a file, the following 3 realign metadata fields must be included at the top of the frontmatter (same-level constraint as the Type A template; missing fields will be /verify --schema-drift judged as legacy):
generated_by: prd-brainstormspec_version: fr.v1generated_at: <ISO-8601 timestamp>
---
# realign 元数据(schema-drift 扫描依据 - 必填)
generated_by: prd-brainstorm
spec_version: fr.v1
generated_at: 2026-04-23T10:30:00+08:00
# 业务字段
id: FR-09
title: 用户认证
type: FR
source_chunk: FR-09 # chunk ID,仅块澄清模式
moscow: Must
maturity: draft
status: clarified
open_questions: 1
---
# FR-09: 用户认证
## 来源追溯
- 原始 chunk: `docs/prd/chunks/FR-09-用户认证.md`
- 初判分类: FR
- 终判分类: FR
## 用户角色与场景
| 角色 | 使用场景 | 核心需求 |
|------|---------|---------|
| 普通用户 | 首次注册/登录 | 快速安全地进入系统 |
## 功能描述
(结构化的功能描述,澄清后的成品)
## MoSCoW 优先级
**Must have** — 核心功能,无此功能产品不成立。
## 验收意图
- [ ] 用户可通过邮箱注册新账号
- [ ] 用户可通过密码登录系统
- [ ] 登录失败时显示明确错误提示
## 开放问题
1. 是否需要支持第三方登录(微信/Google)?
Context management
Batching principle
Full mode batches by exploration stage (5W1H → roles → journey → MoSCoW), and proceeds to the next stage after each stage is completed.
Quality anchor
- Full mode: the description depth of the first FR serves as thequality anchor
- Block clarification mode: the clarification depth of the first chunk serves as the quality baseline for subsequent chunks
- The level of detail of subsequent output must not be lower than the anchor
Principle of fidelity to the original text
- In block clarification mode, do not tamper with the original PRD content
- Structured requirements are extracted from and supplement the original text, and do not replace the original text
- Open questions are recorded truthfully, and answers are not assumed on one's own
Constraints
Phase boundary constraints (highest priority)
- Do not continue: must not produce implementation code, architecture design, or technical solutions(Recovery method: use the corresponding keel skill to execute subsequent phases)
- The Write tool is only used to write
docs/prd/requirements/anddocs/prd/chunks/Markdown documents under - For chunks/ files: only modify the YAML header (add the
reclassified_tofield),must not alter the original content
Exploration constraints
- Full mode must complete the entire 5W1H → roles → journey → MoSCoW process
- Each phase must use AskUserQuestion at least once to confirm with the user
- Must not add requirements not mentioned and not confirmed by the user
Clarification constraints
- Block clarification mode allows at most 3 rounds of follow-up questions; after exceeding, force output
- Unresolved questions are marked as open issues and not filled in on one's own
Classification constraints
- Final classification must provide the rationale for the decision
- chunk file names must not be changed
- requirement files are named according to the final classification type
- When classifications are inconsistent, reclassified_to must be appended to the chunk YAML header
Numbering constraints
- FR-XX / NFR-XX are the unique product phase identifiers
- Once a number is assigned, it must not be reused
Generator self-check (automatically executed before output)
Automatically verify before outputting the requirement file:
- Each FR/NFR has a title and functional description
- Each FR/NFR has at least 1 acceptance intent
Items that fail the self-check are automatically fixed before output, without adding user interaction steps.
Skill collaboration
| Scenario | Collaborating Skill | Description |
|---|---|---|
| Clarify block by block after PRD splitting | prd-parser |
Upstream: after parser splitting, delegated by pipeline |
| Orchestration and scheduling | prd |
Upstream: pipeline invokes this skill |
| Requirements enter keel | requirements |
Downstream: consumed via --from-prd after ready |
Sub-Agent summary format
When this Skill runs as a Sub-Agent, return the following structured summary:
skill: prd-brainstorm
status: success | partial | failed
summary:
headline: "识别 5 个功能领域,2 个非功能需求"
details:
index_path: docs/prd/requirements/index.md
mode: full | chunk-clarify
chunk_id: FR-09 # 仅 chunk-clarify 模式
functional_count: 5
nonfunctional_count: 2
open_questions: 1
rubric_score: 5 # 仅 chunk-clarify 模式,6 项中通过数
clarify_rounds: 2 # 仅 chunk-clarify 模式,实际追问轮数
reclassified: false # 是否发生分类调整
blockers: []
output_files:
- docs/prd/requirements/FR-09-用户认证.md
new_ids:
requirements: [FR-09~FR-13, NFR-04~NFR-05]
next_recommended:
skill: prd
status value range:
success: all requirement items have been clarified and outputpartial: some requirement items have open issues, marked but already outputfailed: clarification cannot be completed (e.g., user interruption, key information missing and unable to continue)
Next step
| Completion mode | Suggested next step |
|---|---|
| Full mode | Return to prd to generate index.md |
| Block clarification mode | Return to prd to continue with the next block or generate index.md |
| Overall ready | requirements --from-prd enter keel |