用途:从 OpenSpec 变更中实现任务,适用于开始实现、继续实现或逐项推进任务的场景。
主要能力:选择变更(可指定名称,或从对话上下文推断、仅一个活跃变更时自动选择,歧义时用 openspec list --json 让用户选择);用 openspec status --change "<name>" --json 查看所用 schema、planningHome、changeRoot、actionContext 及任务所在产物;用 openspec instructions apply --change "<name>" --json 获取 contextFiles、进度(总数/完成/剩余)、任务列表与动态指令;读取 contextFiles 中列出的文件后逐项实现,并把任务文件中 - [ ] 改为 - [x]。
使用方式:若用户指定 store 或工作位于某个 store,先运行 openspec store list --json 获取已注册 store id,再在读写 specs 与 changes 的命令(new change、status、instructions、list、show、validate、archive、doctor、context)上附加 --store <id>,其他命令不带该标志;无 store 时命令作用于最近的本地 openspec/ 根目录。状态为 blocked 时提示使用 openspec-continue-change;all_done 时建议归档。
适用场景:spec-driven 等 schema 下的变更实现,支持在产物未全部完成、部分实现后或与其他动作交错时调用,允许在实现暴露设计问题时建议更新产物。
限制:任务不清晰、实现暴露设计问题、遇到错误或阻塞、用户中断时应暂停并等待指示,不猜测;代码改动保持最小并限定在单个任务范围;应使用 CLI 输出的 contextFiles,不假设具体文件名。输出格式包含实现中、完成、暂停三种模板。