--- name: pm-clarify description: | Use when: 有初步需求清单需要细化细节、需明确需求场景和边界条件、需求描述模糊需要结构化 Do NOT use when: 需求已足够详细可直达开发、仅需快速立项无需深入 allowed-tools: - Agent - Read - Write - AskUserQuestion - Bash --- ## Preamble (run first) ```bash # 检查是否有需求调研报告 if [ ! -f "docs/01-需求调研/需求调研报告.md" ]; then echo "⚠️ 未找到需求调研报告" echo "" echo "建议先执行 /pm-demand 完成需求调研" echo "" echo "您可以选择:" echo "A) 执行 /pm-demand 先完成需求调研(推荐)" echo "B) 手动输入需求列表(快速模式)" fi ``` --- ## 写入时边界 只讨论时不写文件,启动检查不创建目录。用户要求保存产物时,先确认当前产品、精确输出路径及已有文件的覆盖/追加选择;确认后**仅在实际 Write 前**创建该输出文件的父目录。完整安装可参见 `skills/_shared/artifact-policy.md`,单独安装本 skill 也按本段执行。 --- ## 跨 Agent 交互规则 当流程要求与用户交互时: 1. 如果当前环境支持 AskUserQuestion,使用 AskUserQuestion(最佳体验)。 2. 如果当前环境不支持 AskUserQuestion,必须用普通聊天消息提出同样问题。 3. 一次只问一个问题。 4. 提问后必须停止当前回合,等待用户回答(STOP and WAIT)。 5. 不得在用户回答前生成文档、写入 docs。 6. 已有 docs 文件不能替代本轮用户回答。 --- ## 执行流程 ### 步骤 1: 读取前置数据 **如果有需求调研报告**: 使用 Read 工具读取 `docs/01-需求调研/需求调研报告.md` 提取: - 产品名称 - 目标用户 - 核心痛点 - 初步需求清单 **如果有创意方案库**: 使用 Read 工具读取 `docs/01-需求调研/创意方案库.md` 提取: - 核心创意方案 **如果没有前置文档**: 进入快速模式,使用 AskUserQuestion 收集需求列表: > 📝 快速模式 - 请列出核心需求: > > 请逐个输入需求,每个需求一行: > 例如: > - 快速下单 > - 订单追踪 > - 会员体系 > > 输入"完成"结束 --- ### 步骤 2: 逐个细化需求 **关键原则**: - 一次只细化一个需求 - 明确使用场景 - 明确边界条件 - 明确验收标准 --- 对每个需求,AI 询问以下问题: **问题 1: 使用场景** > 需求"{需求名称}"的使用场景是什么? > > A) 用户首次使用时 > B) 用户日常使用时 > C) 用户遇到特定问题时 > D) 用户完成特定任务后 > E) 其他(请手动输入) 记录到变量 `SCENARIO` --- **问题 2: 具体行为** > 用户在这个场景下具体要做什么? > > 例如:"用户打开APP,选择商品,点击立即购买,完成支付" > > 请描述具体步骤: 用户描述后,AI 整理成流程步骤。 --- **问题 3: 边界条件** > 这个需求的边界条件是什么? > > A) 时间限制 - 如"订单30分钟内未支付自动取消" > B) 数量限制 - 如"每个用户最多创建10个项目" > C) 权限限制 - 如"仅会员可使用" > D) 状态限制 - 如"仅未完成的订单可修改" > E) 其他(请手动输入) 记录到变量 `BOUNDARY_CONDITIONS` --- **问题 4: 异常处理** > 如果出现异常情况,如何处理? > > A) 提示用户并引导解决 > B) 自动重试或降级处理 > C) 记录日志并通知管理员 > D) 回滚操作并提示失败 > E) 其他(请手动输入) 记录到变量 `EXCEPTION_HANDLING` --- **问题 5: 验收标准** > 这个需求的验收标准是什么? > > 例如:"用户能在3步内完成下单,支付成功率>95%" > > 请描述可衡量的标准: 用户描述后,记录到变量 `ACCEPTANCE_CRITERIA` --- ### 步骤 3: 汇总细化结果 AI 将每个需求的细化信息整理成结构化格式。 --- ### 步骤 4: 生成确认需求清单 使用 Write 工具创建 `docs/01-需求调研/确认需求清单.md`: ```markdown # 确认需求清单 ## 一、基础信息 - **产品名称**: {PRODUCT_NAME} - **目标用户**: {TARGET_USER} - **生成时间**: {当前时间} --- ## 二、需求详情 ### 需求 1: {需求名称} **使用场景**: {SCENARIO} **具体步骤**: 1. {步骤1} 2. {步骤2} 3. {步骤3} **边界条件**: {BOUNDARY_CONDITIONS} **异常处理**: {EXCEPTION_HANDLING} **验收标准**: {ACCEPTANCE_CRITERIA} **优先级**: 待定(需通过 /pm-priority 确定) --- ### 需求 2: {需求名称} **使用场景**: {SCENARIO} **具体步骤**: 1. {步骤1} 2. {步骤2} **边界条件**: {BOUNDARY_CONDITIONS} **异常处理**: {EXCEPTION_HANDLING} **验收标准**: {ACCEPTANCE_CRITERIA} **优先级**: 待定 --- ## 三、需求汇总表 | 序号 | 需求名称 | 场景 | 边界条件 | 验收标准 | 状态 | |------|----------|------|----------|----------|------| | 1 | {需求1} | {场景简述} | {边界简述} | {标准简述} | ✅ 已细化 | | 2 | {需求2} | {场景简述} | {边界简述} | {标准简述} | ✅ 已细化 | --- ## 四、下一步建议 建议执行: 1. **/pm-market** - 市场分析,了解竞品和市场规模(推荐) 2. **/pm-priority** - 优先级排序,决定先做哪个需求 3. **/pm-mvp** - MVP规划,确定第一版要做什么 --- **项目状态**: 需求细化完成 **生成时间**: {时间戳} **生成工具**: super-pm ``` --- ### 步骤 5: 输出完成提示 使用 AskUserQuestion 提供下一步选项: > ✅ 需求细化完成! > > 📄 确认需求清单已生成:`docs/01-需求调研/确认需求清单.md` > > 🎯 建议下一步: > > A) 执行 /pm-market - 市场分析,了解竞品和市场规模(推荐) > B) 执行 /pm-priority - 优先级排序,决定需求优先级 > C) 执行 /pm-mvp - MVP规划,确定第一版功能 > D) 查看确认需求清单 --- ## Subagent 并行分析(v2.0 新增) 在需求细化完成后,可派发 subagent 并行进行外部验证: **Agent 1: 市场对标分析** ``` type: "general-purpose" prompt: "搜索与当前产品对标的市场同类功能详情,提供参考标准..." ``` **Agent 2: 技术可行性评估** ``` type: "general-purpose" prompt: "评估各需求的技术实现难度和备选方案..." ``` ## V1 vs V2 对比 | 维度 | v1(串行) | v2(Subagent 并行) | |------|-----------|-------------------| | 外部验证 | 手动搜索或跳过 | Subagent 并行搜索分析 | | Token 占用 | 搜索结果占主上下文 | Subagent 独立处理 | | 执行效率 | 线性顺序 | 并行 2x 加速 | --- ## 兜底机制 ### 场景 1: 无需求调研报告 提供快速模式,允许用户手动输入需求列表。 提示: > ⚠️ 未找到需求调研报告 > > 您可以选择: > A) 执行 /pm-demand 先完成需求调研(推荐) > B) 手动输入需求列表(快速模式) ### 场景 2: 需求数量过多 如果需求数量 > 10,询问用户: > ⚠️ 检测到 {N} 个需求,细化可能需要较长时间 > > 您可以选择: > A) 细化所有需求 > B) 仅细化核心需求(前5个) > C) 我来选择要细化的需求 --- ## 注意事项 1. **一次一个需求**:避免用户负担过重 2. **结构化问题**:场景、步骤、边界、异常、验收标准 3. **边界条件重要**:明确限制,避免后期返工 4. **验收标准可量化**:便于后续测试和验收 5. **Markdown存储**:需求清单人类可读可编辑 --- ## 输出质量对比 **✅ Good 示例**: ``` - 有数据引用:「根据 Q4 数据,留存率从 35% 降至 28%」 - 有验证来源:「数据来源:Google Analytics, 2025-12-01」 - 有明确建议:「建议将新手引导步骤从 5 步减少至 3 步」 ``` **❌ Bad 示例**: ``` - 模糊结论:「数据表明留存率有所下降」 - 无来源:「根据经验,这个功能很重要」 - 没有行动建议:「留存是个问题」 ``` --- ## 常见误区 / Red Flags — STOP 出现以下情况立即停止并回溯: | 误区 | 正确做法 | |------|---------| | 使用"应该"、"大概"、"看起来"做结论 | 必须基于实际数据和验证 | | 未运行检查就声称已完成 | 先验证,再陈述 | | 因时间紧迫跳过关键步骤 | 没有例外,时间紧更要严格 | | "这次应该没问题"的想法 | 每次都要重新验证 | --- ## 产出质量检查 / Verification Checklist - [ ] 前置依赖已满足(输入文档/数据已收集) - [ ] 核心步骤已全部执行 - [ ] 输出文档已生成到 `docs/` 目录 - [ ] 每个判断都有数据/证据支撑 - [ ] 已推荐 2-3 个后续 skill > ⚠️ 任何一项未通过 → 补全后再标记完成。 ---