# Rpiv Loop:brainstorm

> 通过访谈对话澄清产品需求

- Skill: `zhuqingxun/rpiv-loop-brainstorm` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zhuqingxun/rpiv-loop-brainstorm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zhuqingxun/rpiv-loop-brainstorm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: zhuqingxun (https://skillmd.com/u/zhuqingxun)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zhuqingxun/rpiv-loop-brainstorm

---


> `<rpiv-loop-root>` 解析顺序：环境变量 `RPIV_LOOP_ROOT` -> `CLAUDE_PLUGIN_ROOT` -> 当前插件根目录；均不存在时停止并请用户配置 `RPIV_LOOP_ROOT` 或 `CLAUDE_PLUGIN_ROOT`。

# Brainstorm: 产品需求访谈

## 前置初始化

首次执行前调用（幂等，已存在则静默跳过）：

```bash
uv run --no-project python <rpiv-loop-root>/tools/ensure_project_dod.py
```

该脚本若发现 `rpiv/dod.yaml` 缺失则从 `<rpiv-loop-root>/tools/dod_template.yaml` 拷贝初始化；已存在则静默跳过。确保项目级 DoD 通用门在后续 RPIV 各阶段可用。

## 概述

通过结构化的访谈对话，与用户进行头脑风暴，分层、全面地澄清产品需求。对话上下文将作为 `/rpiv-loop:create-prd` 的输入，也可选择将需求摘要保存为文件供 `/rpiv-loop:biubiubiu` 等后续流程使用。

## 核心原则

- **只谈需求，不谈技术方案**：聚焦于"做什么"和"为什么做"，不涉及"怎么实现"
- **访谈式对话**：以提问引导为主，帮助用户系统化思考，发现遗漏
- **分层深入**：从顶层愿景到具体细节，层层递进，确保完整性
- **自然流转**：层次之间不做刻意的阶段确认，保持对话的自然节奏

## 输入

用户提供的产品想法或方向：$ARGUMENTS

如果 $ARGUMENTS 为空，直接询问用户想要讨论的产品方向。

## 访谈流程

### 第一层：愿景（Why & What）

围绕以下四个维度展开，每个维度通过 1-3 个关键问题引导：

**1. 要解决的问题**
- 当前用户面临什么痛点或不便？
- 这个问题有多普遍、多紧迫？
- 现有的替代方案是什么？为什么不够好？

**2. 核心价值**
- 这个产品最独特的价值是什么？
- 用户使用后会获得什么核心收益？
- 一句话描述这个产品的价值主张

**3. 目标用户**
- 谁是主要用户？（角色、特征、技术水平）
- 是否有次要用户群体？
- 用户在什么情境下会想到使用这个产品？

**4. 产品形态**
- 期望的产品载体是什么？（Web应用、桌面软件、CLI工具、移动App、浏览器插件等）
- 是否有特定的平台偏好或限制？
- 期望的交互方式是怎样的？（GUI、命令行、API等）

**引导方式**：不要一次性抛出所有问题。根据用户的初始描述，识别哪些维度已经隐含回答，只针对模糊或缺失的部分提问。每轮最多问 2-3 个问题，使用 AskUserQuestion 工具以选项形式呈现关键决策点。

### 第二层：场景（Who & Where）

在愿景明确后，自然过渡到场景梳理：

**1. 核心场景枚举**
- 梳理用户使用产品的主要场景（通常 3-7 个）
- 每个场景用一句话描述："用户在 [情境] 下，需要 [做什么]，期望 [什么结果]"
- 确认场景的优先级排序

**2. 产品边界**
- 明确哪些是 MVP 必须包含的
- 明确哪些明确不做（至少在第一版不做）
- 识别需要推迟到后续版本的功能

**3. 已知约束**
- 是否有资源限制？（时间、人力、预算）
- 是否有外部依赖？（第三方API、数据源、合规要求）
- 是否有已确定的非功能需求？（性能、安全、可用性）

**引导方式**：基于愿景层的讨论结果，主动提出可能的场景让用户确认或补充。对于边界问题，可以用"这个功能是否在第一版考虑？"的形式逐项确认。

### 第三层：细节（How it works）

对第二层梳理出的每个核心场景，逐一深入：

**针对每个场景讨论：**

**1. 功能细节**
- 这个场景包含哪些具体的功能点？
- 每个功能点的输入是什么？输出是什么？
- 是否有配置项或可选参数？

**2. 交互流程**
- 用户的操作步骤是怎样的？（步骤1 → 步骤2 → ...）
- 关键的交互节点（如确认、选择、输入）
- 是否需要反馈或提示？

**3. 异常情况**
- 可能出错的地方有哪些？
- 异常情况下用户期望看到什么？
- 边界条件：空输入、超大输入、并发操作等

**引导方式**：按场景优先级逐个讨论。每个场景讨论完毕后自然进入下一个。对于用户描述中明显遗漏的异常情况，主动提出"如果发生 X 情况，你期望怎么处理？"

## 访谈技巧

### 提问策略

- **开放式引导**：先让用户自由描述，再针对性追问
- **具体化追问**：当回答模糊时，用"能举个具体的例子吗？"引导
- **反向验证**：用"所以你的意思是...对吗？"确认理解
- **补盲提醒**：主动提出用户可能忽略的维度（"你有没有考虑过...的情况？"）

### 对话节奏

- 每轮对话聚焦 1-2 个主题，避免信息过载
- 用户回答简短时，适当追问以获取更多细节
- 用户回答详细时，帮助提炼要点并确认
- 当某个话题讨论充分后，自然引入下一个话题

### 使用 AskUserQuestion 的场景

以下情况必须使用 AskUserQuestion 工具：
- 需要用户在多个方案中做选择时
- 需要确认产品边界（做/不做）时
- 需要确认场景优先级时

## 结束条件

当以下条件全部满足时，结束访谈：

1. 愿景层四个维度（问题、价值、用户、形态）均已明确
2. 核心场景已枚举并确认优先级
3. 产品边界（做什么/不做什么）已明确
4. 每个核心场景的功能细节、交互流程、异常处理均已讨论
5. 没有明显的遗漏或模糊点

## 结束输出

访谈完成后，输出结构化的需求摘要（仅展示在对话中，不保存文件）：

```
## 需求摘要

### 产品愿景
- **核心问题**：[一句话描述]
- **价值主张**：[一句话描述]
- **目标用户**：[用户画像]
- **产品形态**：[载体 + 交互方式]

### 核心场景（按优先级排序）
1. [场景名]：[一句话描述]
2. [场景名]：[一句话描述]
...

### 产品边界
- **MVP 范围内**：[列表]
- **明确不做**：[列表]
- **后续版本考虑**：[列表]

### 已知约束
- [约束条件列表]

### 各场景功能要点
#### 场景1：[名称]
- 功能点：...
- 关键交互：...
- 异常处理：...
（每个场景重复）
```

输出摘要后：
1. 询问用户是否有遗漏或需要补充的内容
2. 确认无遗漏后，使用 AskUserQuestion 询问下一步：
   - **直接创建 PRD**：在当前会话中执行 `/rpiv-loop:create-prd`，从对话上下文提取需求（适合传统 human-in-the-loop 流程）
   - **保存摘要文件**：将需求摘要保存到 `rpiv/brainstorm-summary-{feature-name}.md`（适合后续使用 `/rpiv-loop:biubiubiu` 全自主开发，或需要跨会话保留需求记录的场景）
   - **两者都做**：先保存文件，再继续创建 PRD

如果用户选择保存文件，使用以下格式：

```markdown
---
description: "需求摘要: {feature-name}"
status: pending
created_at: {YYYY-MM-DDTHH:MM:SS}
updated_at: {YYYY-MM-DDTHH:MM:SS}
archived_at: null
---
```

文件内容使用上方「结束输出」中的需求摘要结构。保存路径：`rpiv/brainstorm-summary-{feature-name}.md`。

