用途:在 OpenSpec 变更流程中继续推进工作,每次调用创建一个下一个产物(artifact)。适用于用户想推进变更、生成下一个产物或继续未完成变更的场景。
主要能力:可选指定变更名;未提供时通过 openspec list --json 获取按最近修改排序的变更,并用 AskUserQuestion 让用户选择(展示名称、schema、状态、修改时间,最近修改标为推荐,不猜测或自动选择)。随后用 openspec status --change "<name>" --json 解析 schemaName、artifacts 状态(done/ready/blocked)与 isComplete。若全部完成则祝贺并建议实现或归档后停止;若有 ready 产物,取第一个 ready,用 openspec instructions <artifact-id> --change "<name>" --json 获取 context、rules、template、instruction、outputPath、dependencies,读取已完成依赖文件,按 template 结构填充并写入 outputPath,创建后展示解锁内容并停止;若无 ready 则展示状态并建议排查。
使用方式:按上述命令逐步执行,创建后可用 openspec status --change "<name>" 查看进度,并提示用户可继续。
产物模式:spec-driven 为 proposal → specs → design → tasks;tdd 为 spec → tests → implementation → docs;其他 schema 依 CLI 的 instruction 字段执行。
限制:每次只创建一个产物;必须先读依赖产物;不得跳过或乱序;上下文不清时先询问用户;写入后需确认文件存在;context 与 rules 是约束,不得复制进产物文件。