用途
openspec-new-change 用于在 OpenSpec 工作流中启动一个新的 change。它的核心行为是:搭建一个 change 目录,并把第一个 artifact 的模板交给调用者,然后停止——具体内容的起草是另一个独立步骤。
主要能力与使用方式
技能按以下步骤执行:
-
确保项目 schema 已安装。检查 openspec/config.yaml 和 openspec/schemas/rhdh-spec-driven/ 是否已存在。仅当其中之一缺失时,才调用 /rhdh-spec-driven-schema 并运行其 project-install 步骤。随后用
openspec schemas --json确认 rhdh-spec-driven 已被列出。 -
获取 change 名称。如果用户请求中已给出名称,或描述了想构建的内容,则派生出 kebab-case 名称(例如 "add user authentication" -> add-user-auth)。否则询问用户想构建或修复什么;在未知的情况下不继续。
-
选择 schema。优先使用 rhdh-spec-driven(此时已在磁盘上)。传入
--schema rhdh-spec-driven,或省略--schema以使用 openspec/config.yaml 中配置的默认值。如果用户从openspec schemas --json中指定了另一个可用 schema,则改用该 schema。 -
创建 change 目录:
openspec new change "<name>" [--schema <name>]。这会在 openspec/changes/<name>/ 下按所选 schema 搭建目录。 -
查看状态:
openspec status --change "<name>"。 -
获取第一个 artifact 的指令。在状态输出中找到第一个 status 为 "ready" 的 artifact(取决于 schema——对 rhdh-spec-driven 来说是 proposal),然后执行:
openspec instructions <first-artifact-id> --change "<name>" --json。在总结该响应中的 context、rules 和 template 字段前,先阅读 /rhdh-spec-driven-schema 了解其含义。 -
停止并等待用户指示。
输出
技能会总结:change 名称与位置、schema 及其 artifact 顺序(对 rhdh-spec-driven 为 proposal -> {specs, design} -> tasks——specs 和 design 是同级,各自仅依赖 proposal)、当前状态(0/N 个 artifact 完成)以及第一个 artifact 的模板。最后以如下语句收尾:"Ready to create the first artifact? Describe what this change is about and I'll draft it, or ask me to continue."
限制与护栏
- 此时不创建任何 artifact——只展示第一个 artifact 的模板。
- 不推进到第一个 artifact 之后。
- 如果名称不是有效的 kebab-case,请求一个有效的名称。
- 如果已存在同名 change,建议继续该 change,而不是创建重复项。
完成条件
当 change 目录已存在、其 schema 已确认、且第一个 artifact 的模板已展示给用户时完成——此时尚未写入任何 artifact 文件。