用途
gate-check 用于对已有 SDD 产物的变更运行正确的 CHG 审批门禁:确定受影响的层级、选择匹配的门禁、依据门禁错误目录运行该门禁的检查、生成通过/失败的门禁报告,并为审批人准备 GATE_APPROVAL_FORM。它是 ../doc-chg/SKILL.md 系列(负责编写 CHG 记录)的验证配套工具。
关键权限边界:该技能负责准备与验证,绝不是审批权威。它记录检查结果并填写审批表单,但由人工按变更级别的审批矩阵签署批准。该技能不得将变更标记为“已批准”。
层级:跨领域治理工具(CHG 覆盖层,不是生命周期层级)。
何时使用
在以下情况使用 gate-check:
- 通过 CHG 流程修改已有 SDD 产物(C2/C3 变更)。
- 验证对 framework/ 规范本身的变更——运行 GATE-SPEC。
- 在请求人工签署前验证变更的门禁检查。
- 为变更准备门禁审批表单。
不适用于:
- C1 变更(拼写/格式)——不适用门禁;直接修复并提交。
- 在干净流程中创建全新产物——使用层级技能和 ../doc-validator/SKILL.md。
- 编写 CHG 记录本身——使用 ../doc-chg/SKILL.md。
行为
框架不附带运行时代码——该技能是门禁运行器,将声明式门禁定义应用于变更。
1. 确定受影响层级
从 CHG 记录(或待审查的变更)中列出变更触及的每个层级。一个变更可能从某个门禁进入并向下游级联。
2. 选择门禁(按受影响层级)
| 受影响层级 | 产物 | 门禁 |
|---|---|---|
| L1-L2 | BRD, PRD | GATE-01 |
| L3-L5 | EARS, BDD, ADR | GATE-03 |
| L6-L7 | SPEC, TDD | GATE-06 |
| L8 | IPLAN | GATE-08 |
| Code | 源代码 | GATE-CODE |
| —(目标 = framework/ 规范) | templates / governance / registry / VERSION | GATE-SPEC |
从上游进入的变更会按顺序级联到每个下游门禁(GATE-01 → GATE-03 → GATE-06 → GATE-08 → GATE-CODE);运行其层级跨越的每个门禁。源到入口的路由(Upstream/External → GATE-01,Midstream → GATE-03,Design → GATE-06,Execution → GATE-08,Feedback → GATE-CODE)见 ${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/README.md。
GATE-SPEC 按目标而非层级选择。如果变更编辑的是 framework/ 规范本身(change_source: spec),则属于元变更——单独运行 GATE-SPEC(gates/GATE-SPEC_FRAMEWORK.md);它不会级联到产物门禁。对引擎自身编写指南或运行时的变更不是规范变更,不进入 GATE-SPEC。
3. 运行门禁检查
对每个选定的门禁,从该门禁定义文件运行其入口条件、阻断性错误检查(E)和警告检查(W),并应用 ${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/gates/GATE_ERROR_CATALOG.md 中的代码。示例:GATE-03 验证 EARS/BDD/ADR 上游标签计数与语法;GATE-06 验证 SPEC TDD-Ready ≥ 90% 与 SPEC↔TDD 覆盖;GATE-CODE 要求根因分析。同时应用跨门禁的 ROUTE-E 检查(无跳过门禁、按源正确入口)和 VAL-E 模式检查。
对于 GATE-SPEC,运行你能从 CHG 记录验证的记录级检查——GATE-SPEC-E001(来源:why/trigger)、E002(semver_impact 已设置;major ⇒ C3)、E003(绝不为 C1,≥ C2)、E004(C3 ⇒ gate_approval 门禁 + 审批人)。将 CI 强制执行的检查 E005–E008(VERSION 递增、两个 FRAMEWORK_SPEC_VERSION 匹配、一致性通过、CHANGELOG 已更新)报告为流水线验证的项——在报告中注明它们;不要伪造其通过。人工批准(E004 的签署)是平台受保护分支的审查。
4. 生成门禁报告
按门禁输出通过/失败报告:每个 E 检查(通过/失败)及其代码,每个 W 检查(已处理/未处理),以及门禁结果 PASS / PASS WITH WARNINGS / FAIL。任何 E 检查失败即意味着门禁失败——列出代码及每个代码在目录中的解决方式。不要弱化失败的检查。
5. 准备审批表单
根据报告填充 ${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/templates/GATE_APPROVAL_FORM.md:变更摘要、范围(层级/产物)、逐门禁验证结果、风险与回滚部分,以及变更级别所需的审批人行。将所有签名、决定和最终批准字段留空给人工审批人——该技能绝不填写它们。
退出:所有 E 检查通过且表单已为变更级别矩阵中指定的审批人准备就绪。变更仅在人工签署后才继续。
相关资源
- CHG 概览与源路由:${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/README.md
- 门禁定义:${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/gates/GATE-01_BUSINESS_PRODUCT.md · GATE-03_REQUIREMENTS_ARCHITECTURE.md · GATE-06_DESIGN_TEST.md · GATE-08_IPLAN.md · GATE-CODE_IMPLEMENTATION.md · GATE-SPEC_FRAMEWORK.md(框架规范变更——元)
- 错误代码:${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/gates/GATE_ERROR_CATALOG.md
- 审批表单:${CLAUDE_PLUGIN_ROOT}/framework/governance/chg/templates/GATE_APPROVAL_FORM.md
- CHG 编写:../doc-chg/SKILL.md
- 变更后的可追溯性:../doc-validator/SKILL.md