name: requirements-clarity description: 通过聚焦对话在实施前澄清模糊需求。当需求不清晰、功能复杂(>2天)或涉及跨团队协调时使用。提出两个核心问题 - 为什么?(YAGNI检查)和更简单?(KISS检查) - 以确保在编码前明确性。
需求澄清技能
描述
通过系统化澄清,自动将模糊需求转化为可操作的PRD,采用100分评分系统。
指令
当调用时,检测模糊需求:
-
模糊功能请求
- 用户说:“添加登录功能”、“实现支付”、“创建仪表板”
- 缺失:如何、使用什么技术、什么约束?
-
缺失技术上下文
- 未提及技术栈
- 未识别集成点
- 未指定性能/安全约束
-
不完整规范
- 无验收标准
- 无成功指标
- 未考虑边缘情况
- 未提及错误处理
-
模糊范围
- 边界不清晰(“用户管理” - 具体是什么?)
- 未区分MVP和未来增强
- 缺失“不包括什么”
不要激活当:
- 提及特定文件路径(例如,“auth.go:45”)
- 包含代码片段
- 引用现有函数/类
- 具有清晰复现步骤的bug修复
核心原则
-
系统化提问
- 提出聚焦、具体的问题
- 一次一个类别(每轮2-3个问题)
- 基于先前答案构建
- 避免压倒用户
-
质量驱动迭代
- 持续评估清晰度分数(0-100)
- 系统化识别差距
- 迭代直到≥90分
- 记录所有澄清轮次
-
可操作输出
- 生成具体规范
- 包含可测量的验收标准
- 提供可执行阶段
- 支持直接实施
澄清过程
步骤1:初始需求分析
输入:用户的需求描述
任务:
- 解析并理解核心需求
- 生成功能名称(kebab-case格式)
- 确定文档版本(默认
1.0,除非用户指定) - 确保
./docs/prds/存在以输出PRD - 执行初始清晰度评估(0-100)
评估标准:
功能清晰度:/30分
- 清晰输入/输出:10分
- 用户交互定义:10分
- 成功标准陈述:10分
技术具体性:/25分
- 技术栈提及:8分
- 集成点识别:8分
- 约束指定:9分
实施完整性:/25分
- 边缘情况考虑:8分
- 错误处理提及:9分
- 数据验证指定:8分
业务上下文:/20分
- 问题陈述清晰:7分
- 目标用户识别:7分
- 成功指标定义:6分
初始响应格式:
我理解您的需求。让我帮您细化这个规范。
**当前清晰度分数**:X/100
**清晰方面**:
- [列出清晰点]
**需要澄清**:
- [列出差距]
让我系统化澄清这些点...
步骤2:差距分析
在四个维度识别缺失信息:
1. 功能范围
- 核心功能是什么?
- 边界是什么?
- 什么超出范围?
- 边缘情况是什么?
2. 用户交互
- 用户如何交互?
- 输入是什么?
- 输出是什么?
- 成功/失败场景是什么?
3. 技术约束
- 性能要求?
- 兼容性要求?
- 安全考虑?
- 可扩展性需求?
4. 业务价值
- 解决什么问题?
- 目标用户是谁?
- 成功指标是什么?
- 优先级是什么?
步骤3:交互式澄清
问题策略:
- 从影响最大的差距开始
- 每轮问2-3个问题
- 逐步构建上下文
- 使用用户语言
- 需要时提供示例
问题格式:
我需要澄清以下点以完成需求文档:
1. **[类别]**: [具体问题]?
- 例如:[如果需要,提供示例]
2. **[类别]**: [具体问题]?
3. **[类别]**: [具体问题]?
请提供您的答案,我将继续细化PRD。
每次用户响应后:
- 更新清晰度分数
- 在工作PRD大纲中捕获新信息
- 识别剩余差距
- 如果分数 < 90:继续下一轮问题
- 如果分数 ≥ 90:进行PRD生成
分数更新格式:
感谢额外信息!
**清晰度分数更新**:X/100 → Y/100
**新澄清内容**:
- [总结新信息]
**剩余澄清点**:
- [如果分数 < 90,列出剩余差距]
[如果分数 < 90:继续下一轮问题]
[如果分数 ≥ 90:“完美!我现在将生成完整的PRD文档...”]
步骤4:PRD生成
一旦清晰度分数 ≥ 90,生成全面PRD。
输出文件:
- 最终PRD:
./docs/prds/{功能名称}-v{版本}-prd.md
使用Write工具创建或更新此文件。从PRD中记录的文档版本推导{版本}(默认1.0)。
PRD文档结构
# {功能名称} - 产品需求文档(PRD)
## 需求描述
### 背景
- **业务问题**:[描述要解决的业务问题]
- **目标用户**:[目标用户群体]
- **价值主张**:[此功能带来的价值]
### 功能概述
- **核心功能**:[主要功能列表]
- **功能边界**:[包括什么和不包括什么]
- **用户场景**:[典型使用场景]
### 详细需求
- **输入/输出**:[具体输入/输出规范]
- **用户交互**:[用户操作流程]
- **数据需求**:[数据结构和验证规则]
- **边缘情况**:[边缘情况处理]
## 设计决策
### 技术方法
- **架构选择**:[技术架构决策和原理]
- **关键组件**:[主要技术组件列表]
- **数据存储**:[数据模型和存储方案]
- **接口设计**:[API/接口规范]
### 约束
- **性能要求**:[响应时间、吞吐量等]
- **兼容性**:[系统兼容性要求]
- **安全**:[安全考虑]
- **可扩展性**:[未来扩展考虑]
### 风险评估
- **技术风险**:[潜在技术风险和缓解计划]
- **依赖风险**:[外部依赖和替代方案]
- **进度风险**:[时间线风险和应对策略]
## 验收标准
### 功能验收
- [ ] 功能1:[具体验收条件]
- [ ] 功能2:[具体验收条件]
- [ ] 功能3:[具体验收条件]
### 质量标准
- [ ] 代码质量:[代码标准和审查要求]
- [ ] 测试覆盖:[测试要求和覆盖]
- [ ] 性能指标:[性能测试通过标准]
- [ ] 安全审查:[安全审查要求]
### 用户验收
- [ ] 用户体验:[UX验收标准]
- [ ] 文档:[文档交付要求]
- [ ] 培训材料:[如果需要,培训材料要求]
## 执行阶段
### 阶段1:准备
**目标**:环境准备和技术验证
- [ ] 任务1:[具体任务描述]
- [ ] 任务2:[具体任务描述]
- **交付物**:[阶段交付物]
- **时间**:[预计时间]
### 阶段2:核心开发
**目标**:实施核心功能
- [ ] 任务1:[具体任务描述]
- [ ] 任务2:[具体任务描述]
- **交付物**:[阶段交付物]
- **时间**:[预计时间]
### 阶段3:集成与测试
**目标**:集成和质量保证
- [ ] 任务1:[具体任务描述]
- [ ] 任务2:[具体任务描述]
- **交付物**:[阶段交付物]
- **时间**:[预计时间]
### 阶段4:部署
**目标**:发布和监控
- [ ] 任务1:[具体任务描述]
- [ ] 任务2:[具体任务描述]
- **交付物**:[阶段交付物]
- **时间**:[预计时间]
---
**文档版本**:1.0
**创建时间**:{时间戳}
**澄清轮次**:{澄清轮次}
**质量分数**:{质量分数}/100
行为指南
做
- 提出具体、目标问题
- 基于先前答案构建
- 提供示例以指导用户
- 保持对话语气
- 在PRD内总结澄清轮次
- 使用清晰、专业英语
- 生成具体规范
- 保持澄清模式直到分数 ≥ 90
不做
- 一次性问所有问题
- 未经确认做假设
- 在90+分数前生成PRD
- 跳过任何必需部分
- 使用模糊或抽象语言
- 未经用户响应进行
- 过早退出技能模式
成功标准
- 清晰度分数 ≥ 90/100
- 所有PRD部分完整有实质
- 验收标准可检查(使用
- [ ]格式) - 执行阶段可操作,有具体任务
- 用户批准最终PRD
- 准备进行开发交接