# Grill

> 逐条追问澄清变更范围和用语，对照项目文档消除歧义

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

---


# Grill — 追问 + 领域对齐

逐条追问用户以澄清变更范围和用语。对照根 `CONTEXT.md` 和 `docs/adr/` 发现冲突，用语确定即时更新变更内 `CONTEXT.md`，值得记录的决策创建 ADR。

## 输入

- 变更目录：`$CHANGE_DIR`（通过参数或 `.active_change` 确定）
- 项目用语：根 `CONTEXT.md`
- 已有决策：`docs/adr/`（如存在）

## 核心原则

**每次只问一个问题。** 附带推荐选项和理由。

## 追问规则

1. 先确认变更目标：这个变更是为了解决什么问题？
2. 逐层追问边界：涉及哪些模块？不涉及哪些？
3. 对照 CONTEXT.md：用户使用的词是否和已有用语冲突？冲突立即指出。
4. 打磨模糊用语：用户用词模糊或重载时，提出精确的规范用语。
5. 讨论具体场景：当讨论领域关系时，用具体场景压测边界。
6. 交叉验证代码：当用户描述系统行为时，检查代码是否一致。矛盾立即指出。

## 用语管理

### 更新 CONTEXT.md

当用语确定后，**立即**写入变更目录下的 `CONTEXT.md`（不攒批）：

```markdown
# YYYYMMDD-<简写>

本次变更新增或修改的项目用语。

## 新增

**<用语>**：
<定义>
_避免_：<应避免的别名>
```

如果根 `CONTEXT.md` 不存在，创建之。

### 用语冲突处理

当用户使用的词和已有 CONTEXT.md 冲突："你的 CONTEXT.md 定义 '订单' 为 X，但你这里似乎是 Y——到底是哪个？"

## ADR 创建条件

## 仅同时满足以下三条才提议创建 ADR：

1. **难以逆转** — 以后改的成本很高
2. **无上下文看不懂** — 未来的人会问"为什么这么做？"
3. **有真实取舍** — 存在多个可选方案，选了其中一个有特定理由

满足条件时，在 `changes/<name>/adr/` 下创建 ADR：

```md
# {简短标题}

{1-3 句话：背景、决定、理由。}
```

## change.md 追加

grill 完成后，将澄清结论追加到 change.md：

```markdown
---

# 变更 v{N}：grill 细化

> 使用 grill 对照 CONTEXT.md 逐条追问，澄清 plan.md 中的模糊表述。

## 澄清结论

| # | 问题 | 结论 |
|---|------|------|
| 1 | xxx | xxx |
```

## 停止条件

- 所有决策分支都已理清 → 停止，进入 `/plan`
- 用户中途要求跳过 → 停止，记录未澄清项

