SuperAPI AI 工具集

openspec-new-change

编程与开发

查看项目

更新于 10-16 10:06

技能介绍

用途

openspec-new-change 用于在 OpenSpec 工作流中启动一个新的 change。它的核心行为是:搭建一个 change 目录,并把第一个 artifact 的模板交给调用者,然后停止——具体内容的起草是另一个独立步骤。

主要能力与使用方式

技能按以下步骤执行:

  1. 确保项目 schema 已安装。检查 openspec/config.yaml 和 openspec/schemas/rhdh-spec-driven/ 是否已存在。仅当其中之一缺失时,才调用 /rhdh-spec-driven-schema 并运行其 project-install 步骤。随后用 openspec schemas --json 确认 rhdh-spec-driven 已被列出。

  2. 获取 change 名称。如果用户请求中已给出名称,或描述了想构建的内容,则派生出 kebab-case 名称(例如 "add user authentication" -> add-user-auth)。否则询问用户想构建或修复什么;在未知的情况下不继续。

  3. 选择 schema。优先使用 rhdh-spec-driven(此时已在磁盘上)。传入 --schema rhdh-spec-driven,或省略 --schema 以使用 openspec/config.yaml 中配置的默认值。如果用户从 openspec schemas --json 中指定了另一个可用 schema,则改用该 schema。

  4. 创建 change 目录:openspec new change "<name>" [--schema <name>]。这会在 openspec/changes/<name>/ 下按所选 schema 搭建目录。

  5. 查看状态:openspec status --change "<name>"。

  6. 获取第一个 artifact 的指令。在状态输出中找到第一个 status 为 "ready" 的 artifact(取决于 schema——对 rhdh-spec-driven 来说是 proposal),然后执行:openspec instructions <first-artifact-id> --change "<name>" --json。在总结该响应中的 context、rules 和 template 字段前,先阅读 /rhdh-spec-driven-schema 了解其含义。

  7. 停止并等待用户指示。

输出

技能会总结: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 文件。