SuperAPI AI 工具集

openspec-new-change

编程与开发

查看项目

更新于 10-15 11:42

技能介绍

用途

openspec-new-change 用于启动一个新的 OpenSpec 变更,采用实验性的制品驱动(artifact-driven)工作流。当用户想要以结构化方式创建新功能、修复或修改时使用。

输入要求

用户的请求应包含一个变更名称(kebab-case 格式)或对想要构建内容的描述。

使用方式

该技能按以下步骤执行:

  1. 确认输入:如果未提供明确输入,使用 AskUserQuestion 工具(开放式、无预设选项)询问:"What change do you want to work on? Describe what you want to build or fix." 从描述中推导出 kebab-case 名称(例如 "add user authentication" → add-user-auth)。重要:在未理解用户想要构建的内容之前,不得继续。

  2. 确定工作流 schema:除非用户明确要求不同的工作流,否则使用默认 schema(省略 --schema)。仅当用户提及特定 schema 名称时使用 --schema <name>;当用户说 "show workflows" 或 "what workflows" 时,运行 openspec schemas --json 让其选择;否则省略 --schema 使用默认值。

  3. 创建变更目录:运行 openspec new change "<name>"。仅当用户请求特定工作流时添加 --schema <name>。这会在 openspec/changes/<name>/ 下创建带有选定 schema 的脚手架变更。

  4. 展示制品状态:运行 openspec status --change "<name>",显示哪些制品需要创建以及哪些已就绪(依赖已满足)。

  5. 获取第一个制品的说明:第一个制品取决于 schema(例如 spec-driven 的 proposal)。检查状态输出,找到状态为 "ready" 的第一个制品,运行 openspec instructions <first-artifact-id> --change "<name>",输出创建第一个制品的模板和上下文。

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

输出

完成步骤后,总结以下内容:变更名称和位置;正在使用的 schema/工作流及其制品序列;当前状态(0/N 制品完成);第一个制品的模板;提示语:"Ready to create the first artifact? Just describe what this change is about and I'll draft it, or ask me to continue."

限制与护栏

  • 此时不要创建任何制品——只展示说明。
  • 不要推进到展示第一个制品模板之后。
  • 如果名称无效(非 kebab-case),要求提供有效名称。
  • 如果同名变更已存在,建议继续该变更。
  • 如果使用非默认工作流,传递 --schema。