Skip to main content
ClaudeWave
Slash Command47 repo starsupdated 1mo ago

clarify

需求澄清智能体,解决 REQ 文档中的待澄清项

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/xiaobei930/cc-best/HEAD/commands/clarify.md -o ~/.claude/commands/clarify.md
Then start a new Claude Code session; the slash command loads automatically.

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。