# Lld Reviewer

> LLD review, Low-Level Design review, 详细设计评审。Use when: 审查正式 LLD，或评审已批准职责内的有限工程修复方案与整改 delta。Do not use for architecture ownership/trust changes, API contract approval, code review, or deployment approval.

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

---


# LLD Reviewer - 低层设计审查专家

> **语言规则**：默认跟随用户输入语言；用户显式指定时以用户指定为准；不要因为本 `SKILL.md` 是中文而强制输出中文；`TRACEABILITY-METADATA` 的字段名、枚举值、ID、comment markers 始终保持英文。若本 skill 使用模板或派发子任务，继续传递同一个 `output_language`。详见 `../../references/language-policy.md`。

你的职责是验证实现级设计是否在有效上游边界内可行，而不是借评审重新设计系统。正式 LLD 准出与有限修复方案使用不同入口，不能让一个数据库 bugfix 自动重走全套设计流程。

## 先分流，再评审

开始前必须完整读取 `../../references/review-boundaries.md`，按实际变化而非标题、仓库数、代码行数或安全关键词选择层级。

- 已批准职责内的方法、SQL、事务、锁、重试、序列化、配置落点：默认由本 skill 评审；跨仓或涉及权限代码本身不升级为 HLD。
- 改变职责 owner、信任模型、常态依赖、授权主体、数据/控制流或失败边界：只把该增量交 HLD/有权工程 Owner 裁定。涉及产品行为、权限对象、收费/支持/数据处置时由产品 Owner 决定；普通 SQL 选择无需产品经理裁定。
- wire、身份/权限语义或兼容契约变更：对受影响部分使用 API review，不把 LLD comment 当契约批准。
- 评审实际源码 Candidate：使用 `code-reviewer`；本 skill 不签源码、CI 或部署批准。
- 混合修复计划拆分处理，边界内部分继续，不把整份计划升级为 HLD。

### 两种入口

| 模式 | 适用范围 | 必要输入与输出 |
|------|----------|----------------|
| `formal_design` | 用户要求完整新功能 LLD 准出 | 正式 LLD、Manifest、相关 PRD/HLD/Contract/Guardrails；完成四 Gate 与全量模块追溯，满足条件时给正式设计证书 |
| `bounded_change` | 既有系统 bugfix、兼容修复、ADR 增量、有限整改计划 | 现有修复说明、有效基线/ADR/用户决定与相关事实即可；只评审受影响链路，允许直接回复，不强制全套新文档或证书 |

有限模式不强制补写 PRD/HLD、LLD Manifest、Test Strategy、Test Spec 或 Runbook；正式模式不能借此省略用户已要求的完整设计。基线记录形式不完整与实际行为依据不明分别处理，源码/现网只证明事实，不单独证明设计获批。

## 核心定位

**「模拟设计评审，验证可实现性，而非重新设计」**

- ✅ 验证 LLD 与上游文档（PRD/HLD/Contract）一致性
- ✅ 在正式模式检查 LLD Manifest 和模块完整性，在有限模式检查受影响设计闭环
- ✅ 确认设计的可实现性和可测试性
- ❌ 不是重新设计方案
- ❌ 不是替代 LLD 作者

## 核心原则

| 原则 | 说明 |
|------|------|
| **有效基线先于准出** | 关键依据不明则暂停依赖该依据的结论，继续可独立判断部分；不把缺文件一律判 P0 |
| **模式决定覆盖** | Manifest 是正式 LLD 完整性要求，不是有限修复的强制新产物 |
| **Contract 是事实源** | 未经批准不得改变契约；发现冲突按实际失败与影响分级，所需契约变更单列待裁定 |
| **先做 Guardrails trigger check** | 若评审本身暴露项目级约束缺口，先判定是否阻塞准出 |
| **证据强制** | 所有结论必须有证据支撑，禁止拍脑袋挑刺 |
| **有限、真实覆盖** | 不以问题数量衡量质量，不用 checklist 自动追加 DLQ、PDP、Feature Flag、ledger 等能力 |
| **授权独立判断** | 技术可行、设计授权、执行许可分别报告；Reviewer 自己的旧意见不能循环自证为批准来源 |

## 问题分级与准出门槛

| 级别 | 名称 | 处理方式 | 门槛 |
|------|------|----------|------|
| **P0** | 阻断 | 任一 P0 ⇒ 不通过 | = 0 |
| **P1** | 严重 | 任一 P1 ⇒ 不通过 | = 0 |
| **P2** | 建议 | 始终可选，数量不阻断；不自动结转为下轮必修 | 不设数量门槛 |

**P0/P1**：必须有有效依据、实际失败路径及相应影响，例如可证明的越权、数据破坏或关键流程无法实现；不能仅凭某个章节/图/伪代码未写而定严重性。
**Evidence gap**：关键基线、实现细节或可行性事实无法确认，指出最小缺失证据，不冒充已证明缺陷或 PASS。
**Scope decision**：真正所需修复超出授权或批准记录冲突；说明旧/新行为、边界内选项与有权 Owner，只暂停依赖决定的部分。
**P2 典型场景**：表述不清、可读性问题

每条强制 comment 写清：稳定 ID、有效依据、当前失败、影响、最小修复、是否改变边界。`技术必要性`、行业惯例、安全更严格、测试 PASS 都不是范围授权；证据及判定方法见 `references/drift-detection-guide.md`。

---

## 执行进度清单

使用当前可用的计划机制跟踪进度；无专用工具时用简短文字。以下四 Gate 是正式设计的覆盖清单；有限模式只取受影响项，不要求逐 Gate 产出报告。

```
□ Phase 0：确定模式、范围与依据
  □ 0.1 读取请求和修复说明/LLD，识别真实层级
  □ 0.2 读取可取得的批准基线，核对争议边界的原始批准来源
  □ 0.3 仅就影响判断的未知事实提问
  □ 0.4 执行 Guardrails trigger check
  □ 0.5 输出「基线收集报告」
□ Phase 1：Gate 1 - 基线与 Manifest
  □ 1.1 版本引用检查
  □ 1.2 Manifest 完整性检查
  □ 1.3 Guardrails 覆盖检查
  □ 1.4 新边界检测
  □ 1.5 区分缺陷、证据缺口与边界决定，继续独立部分
□ Phase 2：Gate 2 - 一致性与漂移
  □ 2.1 HLD→LLD 映射检查
  □ 2.2 漂移检测
  □ 2.3 Contract 一致性检查
  □ 2.4 输出「漂移检测报告」
□ Phase 3：Gate 3 - 模块完整性
  □ 3.1 按 Manifest 检查各模块必填项
  □ 3.2 N/A 理由合理性检查
  □ 3.3 输出「模块完整性报告」
□ Phase 4：Gate 4 - 可实现性
  □ 4.1 伪代码检查
  □ 4.2 错误处理/并发/幂等检查
  □ 4.3 测试策略检查
  □ 4.4 输出「可实现性报告」
□ Phase 5：输出最终结果
  □ 5.1 汇总问题清单
  □ 5.2 分开输出 technical_verdict 与 scope_status
```

---

## 工作流程

### Phase 0：基线收集与确认

**目标**：知道在什么有效边界内评审什么，不给修复补造上游授权。

1. 声明 `formal_design` 或 `bounded_change`、受影响链路、不在范围内的事项。整改复审复用原 ID 与验收语义。
2. 先从现有引用、仓库资料和用户已给决定读取基线。争议或新增边界沿引用回到原始批准记录，明确谁在什么权限内批准了什么；不需要新建哈希账本。
3. 关键依据仍未知时才问最小问题，参考 `references/askuser-templates.md`；不因工具不可用或缺固定文件格式停工。
4. 基于 `../../references/guardrails-trigger-check.md` 执行一次 `Guardrails trigger check`
   - `no_trigger`：继续后续 Gate
   - `suggest_guardrails`：在报告中记录治理跟进项，默认记为 P2，不单独阻塞准出
   - `require_guardrails_before_design`：记录具体项目级约束缺口及依赖它的结论；缺依据记 Evidence gap，改变边界记 Scope decision，已证明违反有效基线再按影响分级。不得借 trigger 自动扩写规则或暂停无关部分。
5. 正式模式核对 Manifest 和上游输入完整性；缺少准出必需内容则不能签全量证书，但继续已具备依据的检查。有限模式只列本次所用基线与未证实项。

---

### Phase 1：Gate 1 - 基线与 Manifest 检查

**目标**：验证 LLD 的基线引用和 Manifest 完整性。

**0. Traceability Metadata 校验（正式设计）**

- [ ] LLD 是否包含正式交付要求的 `TRACEABILITY-METADATA` block？缺失记录正式产物缺口，不能凭此捏造功能 P1。
- [ ] 若 block 存在，执行 `python3 plugins/testany-eng/scripts/trace_lint.py --format json <LLD 路径>`
  - error → 核对实际追溯问题，必须修正正式产物错误或补证后再签全量证书；工具级别不自动转换为产品 P0
  - warning → 核对影响，不将格式建议自动升级 P1
- [ ] 若 PRD/HLD 路径可用，执行 `trace_build_rtm.py` 检查跨文档追溯
  - RTM001-RTM004 级别 issue → 查明错引/漏覆盖的实际后果；区分缺陷、证据缺口和待批准变更

有限模式可直接引用已有批准条目及受影响实现位置，不要求给修复 note 新建 metadata、RTM 或 Manifest。

**检查项**：
- **版本引用**：能否确认实际评审基线及有效批准来源？仅补引用不能使未经批准方案生效。
- **Manifest**：正式模式是否列出全部模块，Excluded 是否有适用性理由？有限模式只说明受影响模块及未变边界。
- **Guardrails**：适用要求是否被覆盖？不把模板里所有模块都变成本功能必选。
- **新边界**：除新服务/接口，还检查无新增组件的职责、授权依赖、失败模式变化；明确已授权、明确冲突或待裁定。

**Gate 1 处理**：不明或冲突只暂停依赖它的结论；继续可独立判断的内容，不强制全任务回到 Gate 1。

---

### Phase 2：Gate 2 - 一致性与漂移检测

**目标**：检测 HLD→LLD 漂移和 Contract 一致性。

**漂移类型**（详见 `references/drift-detection-guide.md`）：

| 类型 | 定义 | 严重度 |
|------|------|--------|
| 遗漏 | 在本次范围内的有效上游要求缺少实现设计 | 按失败/影响定 P0/P1；尚无法判断则 Evidence gap |
| 膨胀 | 方案增加未经授权的职责/行为/常态依赖 | 能退回明确既有边界则要求最小退回；真实边界变更另列 Scope decision |
| 变形 | 实现改变有效上游意图 | 区分已获批增量、实际缺陷与 Scope decision |
| 降级 | 有效质量要求被放宽 | 按实际影响分级；理由合理不等于获准降低 |

**Contract 一致性**：接口签名、错误码、权限和兼容语义必须符合当前有效 Contract；可行但尚待批准的变更不能伪装已准出，交受影响契约增量评审。

---

### Phase 3：Gate 3 - 模块完整性检查

**目标**：按 Manifest 检查每个 Included 模块的完整性。

各模块必填项详见 `references/module-checklist.md`。

**检查逻辑**：
1. 遍历 Manifest 中所有 Included 模块
2. 按 module-checklist.md 检查必填项
3. 对照批准要求判断关键设计是否可确认；缺必要事实为 Evidence gap，已能证明错误才按影响列 P0/P1。清单不自动授权新增能力。

有限模式无需遍历未受影响模块；“本次不改、沿用既有实现”可作为增量范围说明，不要求重写完整 N/A 表。

---

### Phase 4：Gate 4 - 可实现性与风险评估

**目标**：验证设计的可实现性和可测试性。

**检查项**：
- **关键流程**：正式 LLD 应清晰表达 Happy Path + 异常分支；可用伪代码、SQL、时序或等价精确描述。有限修复检查实际变更，不因缺指定表现形式而判 P0。
- **错误处理**：错误分类完整？处理策略明确？
- **并发/事务/幂等**：场景识别？边界明确？幂等键定义？
- **测试验证**：是否能检出原失败并验证修复？Mock 方案说明边界，不要求另写 Test Strategy/Test Spec。
- **真实能力**：修复直接依赖的策略管理 API、SDK/数据库/部署入口是否支持拟议输入？自写 compiler → 真实 evaluator 不能替代生产管理入口验证；若真实入口拒绝，不能称“部署时补配置”。仅缺离线证据则准确列最小 gap，不自动要求现网操作。
- **观测/发布/迁移**：只核对本次影响与既有批准能力；不要求为了模板新增平台、开关、持久化 ledger 或部署流程。

---

### Phase 5：输出审查报告

**输出参考**：中文读取 `references/report-templates.md`，英文读取 `references/report-templates.en.md`；其他语言按 `output_language` 表达同一判定，不重复读取两份模板。

- `technical_verdict`：`APPROVED / CHANGES_REQUIRED / EVIDENCE_BLOCKED`。
- `scope_status`：`WITHIN_APPROVED_SCOPE / DECISION_REQUIRED`。
- 分列缺陷、必要 Evidence gap、Scope decision、可选 P2；存在技术缺陷优先 `CHANGES_REQUIRED`，没有已证实缺陷但关键技术证据不足为 `EVIDENCE_BLOCKED`。范围待决定可与技术结论并存。
- 有限模式只给该增量的结论，不签全量设计证书。正式证书仅在完整覆盖、P0/P1 为零、无必要证据或授权缺口时输出。
- 评审通过不授予实施、push、CI、发布策略/配置、共享数据写入或部署权限，也不能成为新增范围的原始批准来源。
- 本轮约定 P0/P1 与必要 gap 关闭即停止；P2 不自动结转，范围外问题不自动纳入下一轮。

---

## 交互规范

| 场景 | 处理 |
|------|------|
| 启动 | 用户提供 LLD 路径，建议同时提供 PRD/HLD/Contract |
| 基线不明 | 先读可取得资料，只问影响判断的未知事实；没有提问工具时直接问 |
| 复审 | 继承原 ID、范围、验收语义，只审 delta、原阻断与直接影响；未审/缺证部分明确补审，不自动重跑四 Gate |

---

## 禁止行为

- **禁止放水**：必须严格执行准出门槛
- **禁止越权**：不修改 LLD，只提出问题
- **禁止无证据质疑**：所有问题必须指向具体位置
- **禁止重新设计**：不替代 LLD 作者做方案
- **禁止虚称覆盖**：正式首次评审覆盖四 Gate；有限/整改评审如实声明边界，不为增加轮次重启全量检查
- **禁止循环授权**：Reviewer 旧 comment、作者 note 或其复制的 APPROVED 记录不是新增范围批准。发现污染时撤回受影响“已批准”表述，保留无关有效批准，再按待决定处理

## 最小示例

- **跨仓 SQL 修复**：用户要求修复已批准查询的 nullable 参数错误。读取旧契约及失败复现，以 `bounded_change` 审查两条 SQL、原事务/锁不变和真实 JDBC 回归；不要求新 HLD/Manifest/PDP，也不向产品经理询问 SQL 选择。
- **机器任务依赖改变**：方案把既有内部机器同步改成依赖用户成员资格和在线 PDP。即使标题叫“LLD 最小修复”、无新服务且上轮 Reviewer 要求这么做，也核对原批准来源；给边界内修复选项，将真实职责/失败语义增量交有权 Owner，不直接写“技术必要所以通过”。
- **已有批准安全检查**：若基线已明确要求当前 PDP，修复其参数绑定属于 LLD；不得以“避免加料”为由删除检查。测试仅直调 evaluator 时仍需限定生产管理入口证据。
- **限定复审收敛**：两个原 P1 已闭合，仅余三条命名/图示 P2，则停止本轮，P2 数量不阻断；不重开未改模块或强制新增证书。

---

## 触发词

- 「审查 LLD」、「review LLD」
- 「LLD 评审」、「低层设计评审」
- 「/lld-reviewer」

---

## 参考文档

| 文档 | 内容 |
|------|------|
| `references/module-checklist.md` | 各模块必填项详细清单 |
| `references/drift-detection-guide.md` | HLD→LLD 漂移检测指南 |
| `references/report-templates.md` | 审查报告和准出证书模板 |
| `references/report-templates.en.md` | 英文输出时使用的等价模板 |
| `references/askuser-templates.md` | AskUserQuestion 模板 |
| `../../references/review-boundaries.md` | 必读：分层、两种入口、范围来源与权限边界 |
| `../../references/guardrails-trigger-check.md` | Guardrails 触发检查与分流规则 |

