# 典型场景细则（场景 A～D）

> 本文件是四个典型使用场景操作细则的**唯一出处**，由 SKILL.md「标准开发流程」一节引用。

### 场景 A：新功能开发

1. **提案（业务 PRD）**: `/kb-propose 红包功能` → `01-proposal.md` → **用户确认 Figma 有无** → 可选外部登记/通知（规则见 `kb-workflow/references/kb-external-sync.md`）
2. **设计**: `/kb-design 红包功能` → `02-design.md`（业务流程图 + 改动对照表 + CodeGraph + 知识库影响/更新计划）
3. **分解**: `/kb-plan 红包功能` → `03-tasks.md` + 依赖图
4. **实现**: `/kb-apply 红包功能` → 代码变更（**每轮依赖组内 `Task` 并行**）；全部通过后同会话：`stage=applied` → validate → **强制** review → **强制**可执行 test（`flow=lite` 豁免）
5. **评审**: `/kb-review 红包功能` → `04-review.md`；通过后下一步 `/kb-test`，不得直接 archive
6. **可执行验收**: `/kb-test 红包功能` → 分层执行 ui>contract>unit + `06-automation-test.md`；失败不标 `tested`；允许 `auto_test/` 补 Playwright/契约，禁 unit 脚手架；不粘贴完整终端日志（详见 `/kb-test`）
7. **归档**: `/kb-archive 红包功能` → 须有 `04` 且无 open（不强制 `06` 文件）→ `05-summary.md` + 迁移至 `knowledge/变更/归档/` + **白名单 commit+push** + **可选外部 sync** + 知识库更新
8. **归档批清（可选运维）**: 归档目录默认可保留；达到 retention 后 `/kb-archive-purge` 批清，硬删后保留 `归档/.tombstones/` 供查重与审计

### 场景 B：快速了解系统

```
# 想知道系统整体能做什么
/kb-explore 系统有哪些功能？

# 想知道某个模块的接口
/kb-query 礼物系统接口
```

### 场景 C：排查问题

```
# 先查知识库了解相关模块
/kb-query 送礼扣款流程

# 深入探索问题
/kb-explore 送礼时余额扣减失败可能的原因

# 确认知识库是否最新
/kb-sync
```

### 场景 D：已实现后产品 PRD 多次变更（同一变更目录内迭代）

适用于：`01`～`03` 已定型甚至代码已合并，产品又更新 PRD，且**可能多轮**反复发生。

**原则**：

1. **澄清先行**：每一轮变更必须先由主 Agent 向用户**持续提问**澄清边界与验收，用户确认「可落文档」后，再派发子 Agent 写入 `07` / `01` / `02` / `03`。
2. **文档与代码分两令**：**`/kb-revise` 只改变更目录内 `.md`，禁止改业务代码**；定稿后用 **`/kb-revise-apply`** 只实现 `07` 本轮「关联 03 任务」及依赖闭包（不写回大改 `01`）。
3. **每一轮单独记在 `07-prd-revisions.md`**（可追溯）；**变更目录内当前约定与范围**以 01 / 02 / 03 为准（验收时须与**代码实现**对照）；历史轮次通过 `07` 与 03 中作废标记追溯。
4. **任务 ID 建议带轮次**（如 `T-Rev2-01`），便于 `/kb-revise-apply` 精确收敛；对已不适用任务标 **已作废** 及原因。
5. **归档目录同样适用**：已在 `knowledge/变更/归档/` 下仍在该目录追加 `07` 并更新 01/02/03；全新子项目再开新变更目录走场景 A。

**推荐命令序列（每一轮 PRD 更新重复一次）**：

```
/kb-revise <中文名称>        # 澄清 → 仅文档（07 + 01/02/03）
/kb-plan <中文名称>         # 可选：03 结构大改时
/kb-revise-apply <中文名称> # 仅本轮 07 关联任务的代码
/kb-review <中文名称>       # 标准流强制（通过后进 test）
/kb-test <中文名称>         # 标准流强制可执行验收
```

大轮次结束后再 `/kb-archive`（`05-summary.md` 可摘要引用 `07` 轮次）。
