LLD Reviewer - 低层设计审查专家
SkillCloud & infraLLD 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.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the LLD Reviewer - 低层设计审查专家 skill
What this skill tells your AI
The instructions your AI receives, as published by testany-io/testany-agent-skills in plugins/testany-eng/skills/lld-reviewer/SKILL.md and read by ahel’s review.
执行前读取 工作流执行约定:先取证再提问、按实际工具能力回退,并从本次安装位置定位资源。
语言规则:默认跟随用户输入语言;用户显式指定时以用户指定为准;不要因为本
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:基线收集与确认
目标:知道在什么有效边界内评审什么,不给修复补造上游授权。
- 声明
formal_design或bounded_change、受影响链路、不在范围内的事项。整改复审复用原 ID 与验收语义。 - 先从现有引用、仓库资料和用户已给决定读取基线。争议或新增边界沿引用回到原始批准记录,明确谁在什么权限内批准了什么;不需要新建哈希账本。
- 关键依据仍未知时才问最小问题,参考
references/askuser-templates.md;不因工具不可用或缺固定文件格式停工。 - 基于
../../references/guardrails-trigger-check.md执行一次Guardrails trigger checkno_trigger:继续后续 Gatesuggest_guardrails:在报告中记录治理跟进项,默认记为 P2,不单独阻塞准出require_guardrails_before_design:记录具体项目级约束缺口及依赖它的结论;缺依据记 Evidence gap,改变边界记 Scope decision,已证明违反有效基线再按影响分级。不得借 trigger 自动扩写规则或暂停无关部分。
- 正式模式核对 Manifest 和上游输入完整性;缺少准出必需内容则不能签全量证书,但继续已具备依据的检查。有限模式只列本次所用基线与未证实项。
Phase 1:Gate 1 - 基线与 Manifest 检查
目标:验证 LLD 的基线引用和 Manifest 完整性。
0. Traceability Metadata 校验(正式设计)
- LLD 是否包含正式交付要求的
TRACEABILITY-METADATAblock?缺失记录正式产物缺口,不能凭此捏造功能 P1。 - 若 block 存在,执行
python3 "$TESTANY_ENG_ROOT/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。
检查逻辑:
- 遍历 Manifest 中所有 Included 模块
- 按 module-checklist.md 检查必填项
- 对照批准要求判断关键设计是否可确认;缺必要事实为 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 触发检查与分流规则 |
Signals
- GitHub stars
- 82
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
lld-reviewer- Source
- github.com/testany-io/testany-agent-skills
github.com/testany-io/testany-agent-skills