用途:该技能为所有 openspec-* 技能提供一个共享位置,读取实际的 RHDH 工作流定义,而不是由每个技能凭记忆重述 schema 规则。
主要能力与包含内容:
- config.yaml:项目本地 schema 选择(rhdh-spec-driven)、RHDH 上下文块(split canonical model、journal obligation)以及每个 artifact 的 house rules。
- schemas/rhdh-spec-driven/schema.yaml:权威 artifact 图(proposal -> {specs, design} -> tasks -> apply)、各 artifact 的指令文本,以及 apply 块的 direct-vs-team 模式指引。
- schemas/rhdh-spec-driven/templates/{proposal,spec,design,tasks}.md:各 artifact 的结构模板。
- references/artifact-loop.md:驱动 openspec instructions <id> --change <name> --json 并把响应写成 artifact 文件的共享机制。
- scripts/install_project_schema.py:把 config.yaml 和 schemas/rhdh-spec-driven/ 复制到产品仓库的 openspec/ 中,使 OpenSpec CLI 能解析该 schema。
用法:OpenSpec 从项目的 openspec/ 加载 schema,而不是从本技能目录。在任何应使用 rhdh-spec-driven 的 openspec new change 之前,确保这些文件在磁盘上:
python3 scripts/install_project_schema.py
从产品仓库运行(或把项目根目录作为第一个参数传入)。该辅助脚本位于本技能旁边——相对本技能的安装路径解析 scripts/install_project_schema.py,而不是在产品仓库的 scripts/ 下。仅在刻意替换已定制副本时使用 --force。幂等:除非设置 --force,否则保留已有文件。写入产品仓库属于外部写入,当调用方处于 setup 或多操作计划中时需经 /mutation-gate。可用 openspec schemas --json 确认 rhdh-spec-driven 已列出,然后省略 --schema 使用配置的默认值,或显式传 --schema rhdh-spec-driven。
限制:每个 proposal.md 必须声明 Canonical Touchpoints 段落,列出 specifications/ 下受影响的 PRD/ADR 文件与 openspec/specs/ 下受影响的长期能力规格,或明确写 None,并注明变更类型;design.md 和 tasks.md 需沿用同一 touchpoint 集。config.yaml 的 context 块声明 turn-bookending 纪律与 apply 阶段事件集,具体写法属于按名称调用的 openspec-journal。完成条件:调用方已将文件安装到产品仓库,或已读取所需的确切 schema/template/context 文本,而非猜测措辞。未阅读某 artifact 在 schema.yaml 中的 instruction 字段而引用本技能,正是本技能要防止的失败模式。