name: openspec-continue-change description: 通过创建下一个产物继续处理 OpenSpec 变更。当用户想要推进他们的变更、创建下一个产物或继续他们的工作流时使用。 license: MIT compatibility: Requires openspec CLI. metadata: author: openspec version: "1.0"
通过创建下一个产物继续处理变更。
输入:可选择指定变更名称。如果省略,检查是否可以从对话上下文中推断。如果模糊或不明确,必须提示可用的变更。
步骤
运行 openspec list --json 以获取按最近修改排序的可用变更。然后使用 AskUserQuestion 工具 让用户选择要处理哪个变更。
提供前 3-4 个最近修改的变更作为选项,显示:
schema 字段,否则为 "spec-driven")lastModified 字段)将最近修改的变更标记为 "(Recommended)",因为这很可能是用户想要继续的。
重要:不要猜测或自动选择变更。始终让用户选择。
检查当前状态
openspec status --change "<name>" --json
解析 JSON 以了解当前状态。响应包括:
schemaName:正在使用的工作流 Schema(例如,"spec-driven")artifacts:产物数组及其状态("done", "ready", "blocked")isComplete:指示是否所有产物都已完成的布尔值根据状态行动:
如果所有产物都已完成 (isComplete: true):
如果有产物准备创建(状态显示有 status: "ready" 的产物):
status: "ready" 的产物获取其指令:
openspec instructions <artifact-id> --change "<name>" --json
解析 JSON。关键字段是:
context:项目背景(给你的约束 - 不要包含在输出中)rules:产物特定规则(给你的约束 - 不要包含在输出中)template:用于输出文件的结构instruction:Schema 特定的指导outputPath:写入产物的位置dependencies:已完成的产物,用于阅读上下文创建产物文件:
template 作为结构 - 填充其部分context 和 rules 作为约束 - 但不要将它们复制到文件中显示已创建的内容以及现在解锁的内容
在创建一个产物后停止
如果没有产物准备好(全部阻塞):
创建产物后,显示进度
openspec status --change "<name>"
输出
每次调用后,显示:
产物创建指南
产物类型及其用途取决于 Schema。使用指令输出中的 instruction 字段来了解要创建什么。
常见产物模式:
spec-driven schema (proposal → specs → design → tasks):
对于其他 Schema,遵循 CLI 输出中的 instruction 字段。
护栏
context 和 rules 是给你的约束,不是文件内容
<context>, <rules>, <project_context> 块复制到产物中