skills/ohos-req-review-gate/SKILL.md
Use when performing the Phase 0 Step 0.5 Review Ready Gate on a 04-feature.md, especially when the user says "evaluate gate", "review readiness", "feature ready?", "should we generate IR", or when the ohos-req-intake-orchestration main session needs a structured Ready / Conditional Ready / Not Ready judgment instead of doing the check inline. Reads 01-04, runs seven fixed checks plus a conditional-items check, and returns a machine-readable JSON summary plus a human-readable table that the main session can route on. Do NOT use for feature baseline generation (ohos-req-feature-baseline), value decision recording (ohos-req-value-decision), or IR generation (ohos-req-feature-to-ir).
npx skillsauth add openharmonyinsight/openharmony-skills ohos-req-review-gateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Announce at start: "我正在使用 ohos-req-review-gate skill 对 04-feature.md 执行 Review Ready Gate。"
OHOS Review Ready Gate 是 Phase 0 唯一的独立 subagent 结构化判定——主 session 已持有 01-04 全文上下文,自行推算 Gate 会产生确认偏差,必须由隔离上下文的 subagent 执行判定。Gate JSON 输出的 observations 字段(PIR #152 P1)将性能/功耗/内存等需 Phase 5-7 实测的指标归类为观测项,不阻塞 Ready 判定,在 Phase 1-9 跟踪闭环。
{docs_dir}/01-requirement.md{docs_dir}/02-feasibility.md{docs_dir}/03-arch-decision-record.md{docs_dir}/04-feature.mdreference/feature-checklist.md(检查项判定规则与边缘情况处理的详细定义,必须在流程第1步加载读取)04-feature.md 不存在时直接判定为 Not Ready,并返回错误说明(不试图推断)。
8 项固定检查对应 feature.md §1-§5(拆分决策与工作量约束同属 §5)+ 技术方向(引用 03-arch-decision-record.md)+ 影响性分析(模板外补充章节),避免规则两套。3 项结构一致性检查为本 skill 新增,确保跨文档数据传播完整。1 项遗留问题闭环检查确保 03-arch-decision-record.md §6 由用户评审会议输入且闭环可追溯。逐项读取 04-feature.md 对应章节,按以下规则判定:
固定检查项(8 项):
| 检查项 | 要求 | 判定方法 | |--------|------|----------| | 概述与价值 | 有核心诉求和业务价值描述 | §1 章节存在且非占位符 | | 范围明确 | 目标和非目标已列出 | §2 章节存在且非占位符 | | AC 完整 | 有可观察指标和验证方式 | §3 至少 1 条 AC 行非占位符 | | 受影响范围 | 明确跨仓模块、Owner/SIG | §4 至少 1 条影响范围行非占位符 | | 拆分决策 | 有拆分结论和 proposal 边界 | §5 章节存在且非占位符 | | 工作量约束 | 每个 proposal 不超过复杂度上限(简单≤5/标准≤8/复杂≤15 人月) | §5 每个 proposal 工作量不超过对应复杂度上限 | | 技术方向 | 有选定方案(引用 03-arch-decision-record.md) | 选定方案引用 03-arch-decision-record.md(feature 模板无对应章节) | | 影响性分析 | 5方影响类型已分析 | 影响性分析章节(模板外补充)5 行均非占位符 |
结构一致性检查项(3 项新增,仅做 Ready/Conditional/Not Ready 决策判定,不重复校验内容):
职责边界:
ohos-req-feature-baselineskill 在生成期做模块覆盖完整性/术语一致性的逐项校验和修复;本 skill 只做最终的 Ready/Conditional/Not Ready 决策判定,引用 feature skill 的校验结果(不重复执行校验逻辑)。条件项传播完整性为本 skill 独有(feature skill 不涉及 02/03 的条件项跨文档追溯)。
| 检查项 | 要求 | 判定方法 | |--------|------|----------| | 模块覆盖完整性 | 04 §4声明覆盖了所有涉及模块(引用 feature skill 校验结论) | 读取 04 §4"模块覆盖检查"结论字段;结论=pass→pass;结论=warn或缺失→warn(block_reasons: "模块覆盖检查未通过或未执行") | | 影响类型术语一致性 | 04 §4影响类型标签无漂移(引用 feature skill 校验结论) | 读取 04 §4"术语一致性检查"结论字段;结论=pass→pass;结论=warn或缺失→warn | | 条件项传播完整性 | §5拆分前置条件覆盖 02 §6 和 03 §6 全部条件项 | 提取02/03中所有条件项编号,验证每个出现在04 §5;缺失→warn |
遗留问题闭环检查项(1 项新增):
| 检查项 | 要求 | 判定方法 |
|--------|------|----------|
| 遗留问题闭环 | 03-arch-decision-record.md §6 遗留问题由用户评审会议输入且每条负责人/解决动作/计划关闭时间齐全 | 读取03 §6:①含占位标注[待用户评审会议后填写]→fail(block_reasons:"03-arch-decision-record.md §6遗留问题未由用户评审会议输入");②任一遗留项缺少负责人/解决动作/计划关闭时间→fail(block_reasons:"遗留项三字段不全");③无遗留项(用户认定无需遗留)或全部齐全→pass |
条件项检查(独立字段):
04-feature.md 中所有标记为"⚠️"或"未通过/未知"的项必须都有 Owner 和关闭时点,否则提升为失败项Phase 0 观测项(不阻塞 Gate 判定):
部分条件项的关闭依赖于 Phase 5-7(实现+测试阶段)才能获取的量化数据(如性能基准测试结果、功耗实测数据、内存占用基线等)。这类条件项在 Phase 0 阶段客观上无法关闭,若将其作为 Gate 阻塞项,会导致 Gate 永远停留在 Conditional Ready、IR 永远 Conditional、handoff 永远 ConditionalReady。
分类规则:
| 条件项类型 | 判定依据 | Gate 影响 | 跟踪方式 | |-----------|---------|----------|---------| | Phase 0 可关闭条件项 | 所需信息在 Phase 0 范围内可获取(如 AC 缺验证方式、模块覆盖有排除理由等) | 缺 Owner/动作/时点 → 升级为 fail,阻塞 Gate | 条件项清单 | | Phase 0 观测项 | 关闭依赖 Phase 5-7 实测数据(性能基准、功耗实测、内存基线、稳定性测试等) | 不阻塞 Gate Ready/Not Ready 判定;Gate 结论按其他检查项判定 | 独立「Phase 0 观测项」字段,在 Phase 1-9 跟踪闭环 |
观测项识别规则:条件项描述中含"性能基准""功耗实测""内存占用基线""稳定性测试""压力测试"等需实际运行才能获取的量化指标时,自动归类为观测项。观测项仍需记录 Owner 和目标关闭时点(指向 Phase 5-7 对应阶段),但不影响 Gate 结论。
Gate 结论修订规则:
Ready:无 fail,无可关闭 warn 项(观测项不计入 warn 统计)Conditional Ready:无 fail,有可关闭 warn 项且每条都有 Owner/动作/时点(观测项单独列出,不影响升级判定)Not Ready:有 fail,或有可关闭 warn 项但缺少 Owner/动作/时点reference/feature-checklist.md 获取各检查项的 Pass/Warn/Fail 判定规则与边缘情况处理规则;读取 04-feature.md(不存在 → 直接 Not Ready + 错误原因)。pass / warn / fail。warn 项,按分类规则区分为「Phase 0 可关闭条件项」和「Phase 0 观测项」:
failReady:无 fail,无可关闭 warn 项Conditional Ready:无 fail,有可关闭 warn 项且每条都有 Owner/动作/时点Not Ready:有 fail,或有可关闭 warn 项但缺少 Owner/动作/时点tmp/decision_gate_{feature_id}_{timestamp}.json(机读)tmp/decision_gate_{feature_id}_{timestamp}.md(人读摘要)在执行 Gate 检查前,自问以下问题:
{
"feature_id": "<FEAT-YYYYMMDD-NNN>",
"checks": [ /* 12 项检查结果,含 8 固定 + 3 结构一致性 + 1 遗留问题闭环 */ ],
"summary": {"pass": 11, "warn": 0, "fail": 0},
"gate": "Conditional Ready",
"block_reasons": []
}
(完整 JSON Schema 示例见 reference/gate-schema-example.json)
gate:仅取 "Ready" | "Conditional Ready" | "Not Ready"summary.pass / summary.warn / summary.fail:12 项检查的统计conditions:所有可关闭 warn 项 + 关闭信息(Owner/动作/时点),如 Owner/动作/时点缺失,由本 skill 自动从 warn 升级为 failobservations:Phase 0 观测项(性能/功耗/内存等需 Phase 5-7 实测的指标),记录 Owner 和目标关闭阶段,不阻塞 Gate 判定next_action:主 session 路由提示(如"生成 IR"、"阻塞回 Step 0.4 补全"、"阻塞:feature.md 不存在")block_reasons:升级为 fail 的条件项描述(仅在 gate=Not Ready 时非空)(人读 Markdown 摘要模板见 reference/gate-summary-template.md)
主 session 在 Phase 0 Step 0.5 时:
1. spawn ohos-req-review-gate subagent,task 仅含 docs_dir 绝对路径(不嵌 01-04 全文)
2. 等待 subagent 回传路径
3. 读 tmp/decision_gate_*.json(≤100 行结构化数据,符合 Token 经济性规则)
4. 根据 gate 字段路由:
- "Ready" → spawn ohos-req-feature-to-ir
- "Conditional Ready" → spawn ohos-req-feature-to-ir(task 中追加 conditions 摘要)
- "Not Ready" → 阻塞;如 block_reasons 非空,用其内容生成 AskUserQuestion
| 场景 | 行为 |
|------|------|
| 04-feature.md 不存在 | 返回 feature_md_exists: false、gate: "Not Ready"、block_reasons: ["04-feature.md 不存在,请先执行 ohos-req-feature-baseline"] |
| 04-feature.md 存在但 8 项表格完全空白 | 视为 Not Ready,所有 8 项均记 fail |
| 02/03 缺失但 04 存在 | 仅依据 04 判定 8 项固定检查;3 项结构一致性检查退化规则:02缺失时 module_coverage / term_consistency / condition_propagation 均判 warn;03缺失时 condition_propagation 判 warn + followup_closure 判 fail(block_reasons: "03-arch-decision-record.md 缺失,遗留问题闭环无法验证");02+03同时缺失时 4 项均判 warn/fail |
| JSON 写入失败 | 回传错误,主 session 退化为人工 Gate |
feature.md §1-§5 + 技术方向/影响性分析完全对齐,无新增无删减tmp/decision_gate_{feature_id}_{timestamp}.jsontmp/decision_gate_{feature_id}_{timestamp}.mdtesting
--- name: ohos-req-value-decision description: Use after review meeting to record decision and route to next step. Triggers: 评审决策纪要, 评审结论回流, value decision, 评审接纳, 评审不接纳, 评审退回, 下次重新上会. Do NOT use for feature baseline (ohos-req-feature-baseline), review gate checks (ohos-req-review-gate), or IR generation (ohos-req-feature-to-ir). metadata: author: openharmony scope: common stage: requirements capability: value-decision version: 0.3.0 status: draft tags: - sdd - requirements
development
Use when converting an OpenHarmony requirement document, spec, or design proposal into an OpenHarmony review slide deck (需求评审 / 需求变更评审 / 设计评审 PPTX) — produces the fixed OpenHarmony-branded review-deck structure (OH logo on every page) with architecture/flow diagrams and field tables. Triggers on "需求评审PPT", "需求变更评审", "把需求文档转成评审PPT", "spec转评审PPT", "requirement/spec to review deck". NOT for arbitrary or generic slide decks unrelated to OpenHarmony requirement/design review.
testing
--- name: ohos-req-requirement-intake description: Use when importing an OHOS requirement into Phase 0.1, especially for 01-requirement.md, requirement intake, background, user value, scenarios, scope, FR/NFR, affected modules, or priority. Triggers: 需求导入, 01-requirement, 需求基线, RR单号. Do NOT use for feasibility analysis (ohos-req-feasibility-analysis), architecture decision (ohos-req-arch-decision), or feature baseline (ohos-req-feature-baseline). metadata: author: openharmony scope: common
testing
--- name: ohos-req-proposal-to-sr description: Use when every proposal associated with an OHOS IR has passed GATE A and a System Requirement baseline is needed before spec and design work begins. Triggers: 生成SR, proposal转SR, SR基线, 系统需求基线, GATE A通过, 05-proposal to SR. Do NOT use for IR generation (ohos-req-feature-to-ir), feature baseline (ohos-req-feature-baseline), or feasibility analysis (ohos-req-feasibility-analysis). metadata: author: openharmony scope: common stage: requirements ca