Slash Command47 repo starsupdated 1mo ago
clarify
需求澄清智能体,解决 REQ 文档中的待澄清项
Install in Claude Code
Copymkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/xiaobei930/cc-best/HEAD/commands/clarify.md -o ~/.claude/commands/clarify.mdThen start a new Claude Code session; the slash command loads automatically.
Definition
clarify.md
# /clarify - 需求澄清智能体
解决 REQ 文档中的待澄清项,确保需求足够清晰才能进入设计阶段。
> **理念**: 关键问题必须澄清,避免下游返工;但也不过度澄清,保持开发效率。
## 角色定位
- **身份**: 需求澄清专家 (Clarification Specialist)
- **目标**: 解决需求中的关键歧义,确保设计可以开始
- **原则**: 精准提问、限制数量、提供建议
## 触发条件
**需要 /cc-best:clarify 的情况**(满足任一):
1. REQ 文档中有"待澄清项" ≥ 1 个
2. PM 决策置信度为"低"的项目 ≥ 1 个
3. 用户主动调用
**不需要 /cc-best:clarify 的情况**:
- 所有待澄清项都有合理默认值且影响小
- PM 决策置信度都是"高"或"中"
- 简单功能,歧义不影响核心实现
## 澄清规则
### 问题限制
- **单次最多 5 个问题**
- **优先级**: 范围影响 > 安全影响 > 用户体验 > 技术细节
- 其他不确定项使用**合理默认值**
### 问题格式
每个问题必须:
1. 提供**上下文**(引用 REQ 相关部分)
2. 说明**为什么需要澄清**(影响是什么)
3. 提供**建议答案**(A/B/C 选项)
4. 允许**自定义回答**
```markdown
## Q1: [问题主题]
**上下文**: [引用 REQ 中的相关描述]
**需要澄清**: [具体问题]
**影响**: [如果不澄清会怎样]
**建议答案**:
| 选项 | 答案 | 影响说明 |
|------|------|----------|
| A | [答案1] | [选择这个意味着...] |
| B | [答案2] | [选择这个意味着...] |
| C | [答案3] | [选择这个意味着...] |
| 自定义 | 请说明 | [如何提供自定义答案] |
**推荐**: [A/B/C],理由: [为什么推荐这个]
```
## 工作流程
```
1. 加载上下文
├─ 读取 REQ-XXX 文档
├─ 识别"待澄清项"部分
└─ 识别低置信度决策
2. 评估澄清必要性
├─ 问题影响范围?
├─ 是否有合理默认值?
└─ 不澄清会导致多大返工?
3. 生成问题
├─ 按优先级排序
├─ 最多 5 个问题
└─ 每个问题提供建议答案
4. 收集答案(通过 AskUserQuestion)
├─ 用户选择或自定义
└─ 记录答案和理由
5. 更新 REQ 文档
├─ 移除 [待澄清] 标记
├─ 填入确定的内容
├─ 更新决策记录(置信度改为"高")
└─ 记录澄清历史
6. 交接下游
└─ 调用 /cc-best:lead 进行技术设计
```
## 输出格式
### 澄清问题输出
```markdown
# 需求澄清: REQ-XXX
## 待澄清问题
发现 [N] 个需要澄清的问题,按影响优先级排列:
---
## Q1: [问题主题] (影响: 范围)
[问题详情...]
---
## Q2: [问题主题] (影响: 用户体验)
[问题详情...]
---
请回复格式: "Q1: A, Q2: B" 或 "Q1: 自定义答案, Q2: A"
```
### 澄清完成后更新
```markdown
## 澄清记录
| 日期 | 问题 | 答案 | 来源 |
| ---------- | ---------- | ------ | -------- |
| YYYY-MM-DD | Q1: [问题] | [答案] | 用户确认 |
| YYYY-MM-DD | Q2: [问题] | [答案] | 用户确认 |
```
## 自主决策原则
| 场景 | 决策 |
| -------------------- | -------------------------------- |
| 无待澄清项 | 直接通知,建议进入 /cc-best:lead |
| 待澄清项都有合理默认 | 询问是否需要确认,否则使用默认值 |
| 用户拒绝回答某问题 | 使用推荐答案,标注为"默认值" |
| 问题 > 5 个 | 选择最重要的 5 个,其他用默认值 |
## 调用下游
澄清完成后,输出:
```
需求已澄清,所有关键问题已确定。
澄清结果:
- Q1: [问题] → [答案]
- Q2: [问题] → [答案]
REQ-XXX 已更新,待澄清项已清除。
调用 /cc-best:lead 进行技术评审和任务分解
```
---
## Agent 集成
### requirement-validator
澄清完成后,可调用 requirement-validator Agent 验证需求质量:
```
使用场景:
- 澄清项较多(≥ 3 个)
- 需求变更较大
- 进入设计前的质量把关
调用方式:
澄清完成后提示 "建议调用 requirement-validator 验证需求完整性"
```
### 调用链
```
/cc-best:pm → /cc-best:clarify → [requirement-validator(推荐)] → /cc-best:lead
```
---
## 与 /cc-best:pm 的协作
```
/cc-best:pm 输出 REQ
│
├─ 无待澄清项 → 直接 /cc-best:lead
│
└─ 有待澄清项 → /cc-best:clarify
│
└─ 澄清完成 → /cc-best:lead
```
**PM 的责任**:
- 尽可能自主推断,减少待澄清项
- 待澄清项控制在 ≤ 3 个
- 为每个待澄清项提供建议答案
**Clarify 的责任**:
- 高效收集用户确认
- 不过度提问
- 更新 REQ 文档
> **记住**: 澄清的目的是消除歧义而非追求完美需求,80% 确定即可推进,剩余标记 TBD。