skills/ohos-req-intake-orchestration/SKILL.md
--- name: ohos-req-intake-orchestration description: Use when orchestrating OHOS Phase 0 intake workflow, from raw requirement to IR + proposal splitting + handoff contract. Triggers: requirement intake, Phase 0, requirement review, generate IR, 需求导入, 需求评审, 生成IR. Do NOT use for single-feature design work, Phase 1-9 delivery, ad-hoc document generation, or any task outside the Phase 0 requirement intake workflow. metadata: author: openharmony scope: common stage: requirements capability:
npx skillsauth add openharmonyinsight/openharmony-skills skills/ohos-req-intake-orchestrationInstall 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-intake-orchestration skill 编排 Phase 0 需求导入流程。"
OHOS Phase 0 需求导入全流程编排入口,串联 9 个 subagent skill(requirement→feasibility→decision→feature→gate→IR→proposal→SR→handoff)。RR单号(rr_id)从 01-requirement.md frontmatter 继承到 IR/SR/handoff 全链路,是电子流系统的唯一追溯键。Token 经济性规则(spawn 四要素+隔离上下文+摘要≤15行+扇出≤4)是所有 subagent 调用的绑定契约。模式 A(subagent 编排)和模式 B(主 session 串行)根据运行时 subagent 能力自动切换。
以下禁止行为贯穿整个 Phase 0 工作流,违反任一条属于流程违规:
reference/token-economy.md §1)reference/token-economy.md §2)ohos-req-review-gate subagent 执行独立判定,主 Session 不自行推算(reason: must use independent subagent)用户原始需求描述(文本),可选已有 Issue/PRD/会议纪要。
01-requirement.md → 02-feasibility.md → 03-arch-decision-record.md → 04-feature.mdIR.md(Phase 0 正式出口)05-proposal*.md(拆分后)SR-*.md(每个 GA-Approved proposal 对应一个 SR)handoff.md(交接契约,Phase 1-9 入口验证依据)reference/ 下的模板文件不带阶段编号前缀,例如 requirement.md、feasibility.md、arch-decision-record.md、feature.md、proposal.md、SR.md。01-、02-、03-、04-、05- 仅用于 {docs_dir} 下的正式产物文件名,不用于模板引用路径。
环境变量解析逻辑见 reference/env-vars.md。SKILL_HOME > WORK_HOME > DOCS_REPO 三级优先,详见参考文件。
决策结论由用户提供,AI 不代行。 Step 0.3.2 为强制交互点。 拆分结果由用户确认,AI 不自行定稿。 Step 0.4.1 为强制交互点。 工作量按复杂度分级约束。 超过复杂度上限时必须进一步细分(简单≤5/标准≤8/复杂≤15 人月,详见 README 拆分规则)。 Phase 0 串行无环,不可跳步。
Phase 0 工作流启动前,必须执行依赖完整性预检:
python3 {SKILL_HOME}/skills/ohos-req-intake-orchestration/scripts/install_related_skills.py --check
预期输出:
Bundle: ohos-phase0-intake
Installed: 9/10 或 10/10(可选 `ohos-req-review-ppt-gen` 已存在时为 10/10)
Required missing: 0
Version mismatch: 0
Result: READY
任何必选 Skill 缺失或版本不匹配 → 阻断 Phase 0 启动,返回缺失列表和安装命令:
OHOS_REQ_SKILLS_SOURCE_DIR=/path/to/openharmony-skills/skills \
python3 {SKILL_HOME}/skills/ohos-req-intake-orchestration/scripts/install_related_skills.py --install
安装脚本仅从 OHOS_REQ_SKILLS_SOURCE_DIR 指向的本地 skills 目录复制缺失依赖,不负责联网拉取仓库。若用户只安装了 ohos-req-intake-orchestration 单个 skill,必须显式提供包含完整 bundle 的本地 source 路径;否则 --install 会失败并提示设置该变量。脚本使用 Python 标准库实现,支持 Windows / Linux / macOS;.sh 文件仅作为 Linux/macOS 包装器。安装后重新执行预检,通过后才允许进入 Step 0.1。
调用 ohos-req-requirement-intake 将原始诉求归一化为事实基线。必含 RR单号(如有),归入模板既有章节(frontmatter rr_id + §1 表格);RR单号无值时在澄清环节向用户确认是否已立项。回传 RR单号。
逐轮澄清,定稿检查全部通过后 status=Clarified,才允许进入 feasibility。
批量确认:对输入材料中已有明确答案的问题(如 RR 单号、交付版本、提出人等),一次性呈现全部已知答案让用户批量确认(✅确认/✏️修正),不逐条单独交互。仅真正不确定的问题才逐条澄清。
定稿检查清单(全部 ✅ 才可进入 feasibility):
rr_id + §1 表格;无 RR单号时标注"未立项"并附依据)每轮澄清后必须回填结论到 clarification-questions.md:在对应问题下方追加 **澄清结论** 段,标注 ✅ 或 ⚠️。
启动 02-feasibility.md 前,主 Session 基于 {docs_dir}/01-requirement.md 推导建议补充资料清单,提醒用户可提供本地关键代码仓路径、接口文档、Owner 结论或前置依赖资料。
提醒后等待用户二选一:
{docs_dir}/_draft/feasibility-inputs.md,再调用 ohos-req-feasibility-analysis。ohos-req-feasibility-analysis,按证据受限口径标注。记录格式参考 reference/feasibility-inputs.md。
ohos-req-feasibility-analysis subagent 在隔离上下文中运行,无法直接访问代码仓。spawn 前主 Session 必须先执行轻量代码预检,产出代码证据包供 subagent 使用。
{docs_dir}/01-requirement.md 提取技术关键词grep 检索(限定咨询路径给出的目录),取 top-10 命中kb_precheck_path = {DOCS_REPO}/tmp/ohos_kb_precheck_{feature}.md预检范围限定:≤3 个关键词,≤2 个仓库,每仓库 ≤10 条命中。 目标是让 feasibility 有代码级证据,不是做全面分析(那是 Phase 2.0 的职责)。
若无可访问的代码仓或知识库,预检可跳过;
ohos-req-feasibility-analysis按其 Fallback 规则(Read 工具读取实际代码 / 降级为warn)处理,不硬 fail。
前置:requirement.md status=Clarified,且 Step 0.1.8 已完成、Step 0.1.9 代码证据包已落盘(或确认无可预检内容)。调用 ohos-req-feasibility-analysis,spawn 时传入 {kb_precheck_path}。
ohos-req-feasibility-analysis 规定草稿生成后必须暂停、逐轮澄清、定稿检查全部通过后才允许进入 decision。本步骤为强制门禁:
status: Draft-NeedsClarification),主 Session 必须暂停展示澄清问题并逐轮回填,不允许直接进入 Step 0.3.1。ohos-req-feasibility-analysis SKILL.md「第二阶段:逐轮人工澄清」。02-feasibility.md frontmatter status: Clarified 后才允许进入 Step 0.3.1。调用 ohos-req-arch-decision 阶段A,输出 status=PendingDecision,§5-§6占位。
单方案快速路径:当 02-feasibility.md §6 结论中仅有一个可行方案时,可触发 ohos-req-arch-decision 单方案快速路径——跳过候选方案对比表,一次确认即定稿,无需两阶段暂停(详见 ohos-req-arch-decision SKILL.md「单方案例外」)。
向用户收集:选定方案、决策理由、决策者、遗留问题清单(用户评审会议认定)。AI 不代行。
单方案快速路径下,本步简化为一次性确认:向用户呈现唯一方案 + 不可行证据,用户一次确认即可。
调用 ohos-req-arch-decision 阶段B,基于用户结论定稿,status=Accepted。
调用 ohos-req-feature-baseline,含拆分策略(三级优先+复杂度分级工作量约束)、影响性分析、遗留问题闭环校验。RR单号从 01-requirement.md frontmatter rr_id 继承。回传 RR单号。
feature.md 生成后,必须向用户展示拆分方案并等待确认(见 NEVER §6)。
向用户呈现:
用户确认后才允许进入 Step 0.5。用户要求调整时,回退到 ohos-req-feature-baseline 重新生成拆分方案。
feature.md 经用户确认后,主 Session 输出一行就绪提示(不阻塞流程)。PPT 生成不再在此步骤触发,已后移至 Step 0.5.2(Gate 通过后、评审会议前)。
Feature 评审基线已生成,进入 Review Ready Gate。
模式 B 下不等待回复,继续 Step 0.5。
主 Session 调用 ohos-req-review-gate subagent 执行结构化 Gate 判定(task 仅含 docs_dir 绝对路径,不嵌 01-04 全文),读取其 JSON 输出按 Ready / Conditional Ready / Not Ready 路由,不自行推算 Gate 结论(见 NEVER §5;详见 ohos-req-review-gate SKILL.md)。Not Ready 时阻塞回 Step 0.4。
三级优先拆分策略:
Gate 摘要模板(向用户呈现):
| 维度 | 结论 | 来源 |
|------|------|------|
| 选定方案 | {一句话} | 03-arch-decision-record.md |
| Gate | {Ready/Conditional/Not Ready} | 04-feature.md |
| 复杂度 | {L0/L1/L2/L3} | 04-feature.md |
| 关键阻塞 | {BLK-XX} | 02-feasibility.md |
| 关键风险 | {RISK-XX} | 02-feasibility.md |
Gate 决策后,主 Session 必须执行 FR→AC 追溯校验:
01-requirement.md 提取所有 FR 编号04-feature.md 提取所有 AC 编号,生成 FR→AC 追溯表04-feature.md §5 备注(Gate 结论见 ohos-req-review-gate 产出的 tmp/decision_gate_*.json)Gate 通过后、评审会议前,主 Session 可应请求调用 ohos-req-review-ppt-gen 生成需求评审 PPT,供评审会议使用。
Feature 已通过 Review Ready Gate。如需生成需求评审 PPT 供评审会议使用,请主动请求。
前置条件: Gate 结果为 Ready 或 Conditional Ready;Gate=Not Ready 时不生成 PPT,回退 Step 0.4。
模式 B 下不阻塞,置于 Gate 通过之后;用户未请求时自动跳过。
评审会议结束后,调用 ohos-req-value-decision 记录决策纪要。
不允许跳过此步骤。 用户必须提供评审决策结论。
调用 ohos-req-feature-to-ir。仅在 Gate=Not Ready 时拒绝生成;Gate=Conditional Ready 时允许生成,但必须把条件项、Owner、关闭动作和关闭时点写入 IR,IR status=Conditional。RR单号从 04-feature.md frontmatter rr_id 继承。回传 RR单号。
按 IR 拆解矩阵生成 proposal,每个独立完成澄清和 GATE A。proposal 从 IR.md frontmatter rr_id 继承 RR单号。
每个 GA-Approved 的 proposal 对应一个独立的 SR 文件(SR-01.md、SR-02.md...),调用 ohos-req-proposal-to-sr 逐个生成。SR 从 IR.md frontmatter rr_id 继承 RR单号。SR 是 Phase 0 的最终收尾产物。任一 proposal 未通过 GA 时,禁止生成对应 SR(见 NEVER §4)。
Phase 0 流程结束时,主 Session 必须生成 handoff.md 交接契约。详见 reference/handoff.md 模板。
handoff.md 是 Phase 0 到 Phase 1-9 的唯一交接点,包含:
handoff.md 完整性校验(生成后必须执行):
文件:行号 引用,验证在 handoff.md 出现| 目录 | 用途 | 提交规则 |
|------|------|----------|
| docs/features/{id}/ | 正式编号产物(01-05、IR、proposal、SR 等) | gitcode-pr 必须提交 |
| docs/features/{id}/_draft/ | 中间文件(草稿、实验数据) | gitcode-pr 提交前自动过滤 |
| tmp/ | 知识库证据包等临时文件 | gitcode-pr 提交前自动过滤 |
本 SKILL.md 的 Step 0.1→0.9.1 即 Phase 0 完整 spawn 编排规范。主 Session 按本文步骤执行,不进入 Phase 1-9(Phase 1-9 由 ohos-delivery 承接,以 handoff.md 为入口)。
spawn 时遵循下节「Token 经济性 & Context 工程」的绑定契约:task 描述只含四要素(角色 / 输入路径 / 输出路径 / 任务简述),证据传路径不传内容(见 NEVER §1-§2),回传 ≤15 行。
Before spawning a subagent task, ask yourself: does the task contain only the 4 required elements (skill path, task, input files, output path)? Am I embedding file content instead of a path?
Before handoff 生成, ask yourself: 每个 SR-*.md §二责任人表的分析责任人/SE/TSE/测试责任人是否已指定?任一缺失 → 阻断交接。
Before Step 0.6 评审决策纪要, ask yourself: 用户是否已提供评审会议纪要?接纳/不接纳/下次重新上会的结论是否由用户给出而非 AI 推断?
流程结束条件:handoff.md 生成完毕。
详见 reference/token-economy.md。核心要点(禁止项见 NEVER §1-§2):隔离上下文 spawn、证据传路径不传内容、摘要回传<=15行、扇出上限<=4。
| 条件 | 模式 | |------|------| | 当前会话存在可映射的 subagent/Agent/Task 能力 | 模式 A(Subagent 编排) | | 当前会话完全没有可隔离上下文的 subagent 能力 | 模式 B(主 session 串行) |
模式 B 下自动连续执行,强制暂停点为:
可选步骤(Step 0.5.2 PPT 生成)仅在 Review Ready Gate 通过后触发,用户未请求时自动跳过。
≤15 行:Phase 0 产物路径清单 + RR单号 + IR 状态 + proposal 数量 + SR 数量 + Gate 结论 + handoff.md 路径 + 下一步建议("可启动 ohos-delivery 进入 Phase 1-9")。不回传正式文档全文。
testing
--- 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
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).
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