# Agile Strategic

> 当用户说"写愿景""产品目标""电梯演讲""定位""使命""红线""价值观""画架构图""C4""技术选型""ADR""架构决策""容器图""技术约束"或 using-agile 路由到此，且项目已有 agile-docs/ 时触发。

- Skill: `baixuanzhu/agile-strategic` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add baixuanzhu/agile-strategic`
- Raw SKILL.md: https://api.skillmd.com/api/skills/baixuanzhu/agile-strategic/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: BaixuanZhu (https://skillmd.com/u/baixuanzhu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/baixuanzhu/agile-strategic

---


# 敏捷战略层 (Agile Strategic)

## 0. 前置条件

| 条件 | 缺失时路由 |
|------|-----------|
| `agile-docs/` 目录存在 | → using-agile 初始化 |
| `agile-docs/DOD.md` 存在 | → using-agile 补 DoD 模板 |

## 1. 定位

本技能是战略层一体化技能，**每个产出阶段前先过决策问询**，分三阶段产出三个文件：

| 阶段 | 产出 | 前置问询 | 模板 |
|------|------|----------|------|
| 阶段 0 | （无文件） | 决策问询（§2.0） | `using-agile/references/interview-protocol.md` |
| 阶段 A | `agile-docs/VISION.md` | 阶段 0 完成 | `references/vision-template.md` |
| 阶段 B | `agile-docs/ARCHITECTURE.md` + `agile-docs/ADR.md` | 选型裁决（§3.1） | `references/c4-adr.md` |

**阶段必须分别完成**：决策点问完 → 才产出；阶段 A 写完 VISION 必须停下询问，**禁止跨阶段顺手写架构**。

**决策用选择题问**（`using-agile/references/interview-protocol.md`）：先读项目画像/已有文档补事实（文档优先），只把真决策（定位/原则/红线/指标/选型）用「候选 + 推荐 + 自定义」一次一问地喂给用户。

## 2. 阶段 A：写 VISION.md

### 2.0 决策问询（写前必跑，`using-agile/references/interview-protocol.md`）

> ⚠️ **启动问询前先过 §6 写前战略门禁**：若检测到多份矛盾输入或与现有 VISION/ADR 冲突，立即停下生成 `STRATEGY_CONFLICT.md`（模板见 `using-agile/references/strategy-conflict-template.md`），不进入问询。若该文件已存在（如 using-agile 已生成）→ **跳过不重复生成，仅引用**。

按 `using-agile/references/interview-protocol.md` 用选择题问，本技能落点：

1. **文档优先**：读 `agile-docs/DOD.md` 头部「项目画像」+ 已存在的 VISION/ADR/Backlog，能查到的事实自己读、不问你。
2. **一次一问 + 给推荐**：按 §2.1 决策点清单，每个点给候选 + 明确推荐 + 理由 + 自定义兜底；答完再问下一个。
3. **决策树深度优先**：先定位（上游），再原则/红线/指标（下游）。
4. **共识后落盘**：决策点问完 → 输出「决策点确认清单」（标来源）→ 你确认后进入 §2.2 产出。

**变更快速响应**：若是「需求变了」触发的更新而非首次产出，先按 `using-agile/references/change-matrix.md §二` 分级——L1 措辞就地改、L2 只重问受影响维度、L3 才走完整问询。**禁止每次更新都整层重问。**

### 2.1 决策点清单（每项 = 选择题 + 推荐方向）

**姿态**：不是填空问卷。按 `using-agile/references/interview-protocol.md` 用选择题问（口径见该文件），含糊答案必追问，追问/跳过遵守 `using-agile/references/probing-protocol.md`（一次一问、同话题 ≤2 次）。问询中发现新冲突，回到写前战略门禁处理。

逐项问询，每项 = 决策点 + 候选选项方向 + 追问触发 + 兜底（用户明确跳过 → 标 `{待确认}` 并进文末汇总）：

| # | 决策点 | 候选选项方向（结合实际填，给推荐 + 理由） | 追问触发 | 兜底（用户不决时） |
|---|--------|------------------------------------------|----------|--------------------|
| 1 | 电梯演讲三要素 | 根据项目画像拟 2 版定位供选；推荐与画像最契合的一版 | 目标用户是"所有人"或不做项为空 → 追问"第一批付费/重度用户是谁？最容易跑偏去做的一件事？" | 用推荐版，标 agent 推荐 |
| 2 | 核心用户画像 | 从电梯演讲推导 2 版画像草稿供选 | 画像无场景支撑 → 追问"他在什么情境下打开产品？现在用什么替代方案？" | 用推导草稿，标 agent 推断 |
| 3 | 定位声明 | 选项：A 终稿（不可逆，变更视为 L3，走完整问询 + 变更传播评估）/ B 探索中 | 用户说终稿但与前面答案矛盾 → 指出矛盾请裁决 | 默认「探索中」 |
| 4 | 使命与愿景 | 从电梯演讲提炼 2 句供选/确认 | 空泛（"让世界更好"）→ 追问"删掉产品用户失去什么？" | 用提炼句，标 agent 推断 |
| 5 | 核心原则 | 给 3 组常见对立原则供勾选（如"交付速度优先于完美架构"） | 原则无 trade-off → 追问"为了它你愿牺牲什么？" | 按勾选落盘，标用户给出 |
| 6 | 战略红线 | 从"不做什么"扩写表格草稿供确认 | 红线与电梯演讲"不做什么"矛盾 → 指出请裁决 | 用草稿，标 agent 推断 |
| 7 | 只做清单 | 按核心价值关联度排序，建议砍到 3 项供选 | 清单 >3 项或含无关项 → 逐项问"这件不做首版会怎样？" | 按推荐砍到 3 项 |
| 8 | 成功指标 | 给同类产品参考区间供选（如注册 ≥500/周活 ≥150） | 数值无依据 → 追问"500 基于什么？获客渠道撑得起吗？" | 用参考区间，标 agent 推荐 |

逐项确认（或明确跳过）后，才进入产出。

### 2.2 产出

**只写入 `agile-docs/VISION.md` 一个文档**，使用 `references/vision-template.md` 融合模板。关键决策（定位/核心原则/战略红线/成功指标）落盘时标注来源——`（来源：用户给出 / agent 推断 / agent 推荐待确认）`，便于变更时追溯。

### 2.3 阶段 A 写完即停（硬约束，结构化审阅）

按 `using-agile/references/probing-protocol.md §四` 输出决策点确认清单（重点列 VISION 的定位 / 核心原则 / 战略红线 / 成功指标等关键决策 × 来源），问"**继续阶段 B**（架构层）还是**更新**本愿景？"。然后**停下等用户表态**——禁止跨阶段，即使 VISION 已确认也要等用户明确"继续阶段 B"才进入 §3。

**跳层兜底**：若用户要求跳过阶段 B 直接去 Backlog，提示"战略层架构未完成会让 T-NNN 缺少 ADR 关联，届时由 agile-backlog 按门禁 ① 拦截"。尊重用户选择。

## 3. 阶段 B：写 ARCHITECTURE.md + ADR.md

### 3.1 选型裁决流程（写前必跑，四步，本阶段核心）

姿态同 §2.1（`using-agile/references/probing-protocol.md §一`）：以架构师身份主持选型讨论，而非把用户口述直接写成 ADR。选型问题同样用选择题问（口径见 §2.0）。

**步骤 1 — 约束采集**（驱动选型的输入，缺什么问什么）：
- 先读 `agile-docs/DOD.md` 头部「项目画像」（using-agile 初始化采集：项目类型/团队技能栈/代码基础），已有的不重复问；
- 补问缺失项：运维能力（谁运维、能否维护中间件）/ 数据规模预估 / 预算（云服务还是自建）/ 已有基础设施。

**步骤 2 — 系统边界与容器划分**：
- "画 Level 1 系统上下文图前，先列：用户角色、外部系统、待建系统各有哪些？"
- 容器划分：Web / API / 数据 / 缓存 / 搜索等。

**步骤 3 — 必答话题清单**（缺失探测，对接门禁预检第 4 条）：逐项检查，用户未提及的主动问"本项目需要吗？"，**不许静默默认，也不许推断为不需要**：

| 话题 | 未提及时的提问示例 |
|------|--------------------|
| 数据存储 | "主数据存哪？关系型还是文档型？" |
| 缓存 | "有高频读场景吗？需要独立缓存层还是进程内缓存够用？" |
| 认证授权 | "谁登录？需要角色权限吗？自建还是接第三方？" |
| 部署形态 | "单体还是微服务？部到哪（云/自建/容器）？" |
| 消息与异步 | "有需要解耦/削峰的场景吗？" |
| 可观测性 | "日志/监控/告警用什么方案？" |
| 搜索 | "有全文检索需求吗？数据库 LIKE 够不够？" |

用户明确答"不需要"或明确跳过 → 记录结论（不需要也是决策，可入 ADR）；提问节奏遵守节流约束，分轮进行。

**步骤 4 — 逐项对比与裁决**（每项需要选型的话题逐一走完，才许写 ADR）：
1. 给 **2-3 个候选 + 权衡对比表**（在对话中呈现，**不进 ADR**，与门禁 ④ 兼容；产物去向见 `references/c4-adr.md §四`）；
2. 给出**基于步骤 1 约束的明确推荐**及理由；
3. 用户已有选择但与约束矛盾时**必须提出质疑**（如"你选 MongoDB，但前面描述的数据是强关系型的，理由是？"），用户坚持则尊重并在 ADR 背景中如实记录；
4. 用户说"你看着办" → 按推荐项执行，ADR 状态标 Proposed 并注"agent 推荐，待用户确认"（`using-agile/references/probing-protocol.md §二` 规则 2）；
5. 用户裁决后，该项选型才进入 §3.2 写入 ADR。

**架构预判瓶颈** → 仅在 ARCHITECTURE.md 末尾标注；后续由 `agile-backlog` 转为 T-NNN（**本层不创建任务条目**）。

### 3.2 产出（两个独立文件）

#### 文件 1：ARCHITECTURE.md
- 路径：`agile-docs/ARCHITECTURE.md`
- 结构：`## Level 1: 系统上下文图` + `## Level 2: 容器图`（Mermaid）
- 模板见 `references/c4-adr.md §一`
- **更新策略**：直接覆盖。架构演进时编辑本文件，不新建版本文件（git 记历史）。

#### 文件 2：ADR.md
- 路径：`agile-docs/ADR.md`
- 结构：顶部索引表 + 每个 ADR 一章节（4 行强制结构）
- 模板见 `references/c4-adr.md §二`
- **更新策略**：章节式不可篡改（详见 §6 门禁 ②）
- **严谨性要求（决策来源标注）**：每条 ADR 的「决策」行末尾标注来源与依据——`依据：{来源 + 关键理由}`。裁决是「用户拍板」还是「agent 推荐待确认」必须写明，禁止把 agent 推荐混成用户已确认。

### 3.3 阶段 B 写完即停（结构化审阅）

按 `using-agile/references/probing-protocol.md §四` 输出决策点确认清单（重点列每条 ADR 决策 + 架构假设 × 来源），问"**继续下一步**（执行层：agile-backlog 待办池）还是**更新**本层？"。然后停下等用户表态。

## 4. 变更快速响应（需求变了时的入口）

首次产出走 §2/§3 完整流程；**已产出后遇「需求变了」，先分级再动手**（`using-agile/references/change-matrix.md §二`），不做整层重访：

| 级别 | 本层动作 |
|------|----------|
| L1 措辞级（改 VISION 措辞/描述） | 就地改，不重访；结构化审阅一句带过 |
| L2 同层级（改某条核心原则/红线/指标） | 只对受影响维度做增量问询（`using-agile/references/change-matrix.md §三`），其余复用现有 VISION/ADR；并做下游影响评估（改原则/红线/指标 → Backlog 排序是否受影响） |
| L3 跨层/战略级（改定位/使命/战略红线；改架构选型 → ADR 替代） | 走完整问询（§2.0/§3.1）+ 下游影响评估（改原则→Backlog 排序；改 ADR→关联 T-NNN） |

## 5. 硬约束

- ✅ 阶段 A 只产 `VISION.md`；阶段 B 只产 `ARCHITECTURE.md` + `ADR.md`；❌ **不顺手写** PRODUCT-BACKLOG / Sprint（各阶段写完即停，见 §2.3/§3.3）
- ✅ **决策问询是产出前环节**，决策点未确认不落盘（§2.0/§3.1，口径见 `using-agile/references/interview-protocol.md`）
- ✅ **关键决策落盘带来源标注**（用户给出 / agent 推断 / agent 推荐待确认，§2.2/§3.2）
- ✅ **每项技术选型必须经过候选对比 + 用户裁决**（§3.1 步骤 4），禁止未经讨论直接写 ADR
- ✅ ARCHITECTURE.md 可演进覆盖（git 记历史）；ADR.md 章节式不可篡改，每条严格 4 行结构（§6 门禁 ②④）
- ✅ 变更先分级（`using-agile/references/change-matrix.md §二`），L1/L2 只做增量问询，禁止整层重访（§4）

## 6. 门禁

### 门禁 ② ADR 不可篡改

状态为"已接受"的 ADR 章节，**决策内容不动**。要变更须在 ADR.md 底部新建章节标"替代 ADR-NNN"，原章节字段改：
- 状态：`Superseded by ADR-013`
- 被替代：`ADR-013`

### 门禁 ④ ADR 内容瘦身

写 ADR 时若超出"4 行结构"或包含禁止内容 → **立即停下**，按禁止内容清单（见 `using-agile/references/gate-protocol.md §二 ④`）引导到正确归属。

### 写前战略门禁

冲突 / 歧义即停（见 `using-agile/references/gate-protocol.md`）。若需生成 `STRATEGY_CONFLICT.md`，模板见 `using-agile/references/strategy-conflict-template.md`；**发现该文件已存在则跳过不重复生成，仅引用**。

