用途:从 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,再在读写 spec 与 change 的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上追加 --store <id>,选定后视为粘性;其他命令不接受该标志。无 store 时作用于最近的本地 openspec/ 根目录。状态为 blocked 时提示使用 continue-change;all_done 时建议归档。
适用场景:按 spec-driven 等 schema 推进变更任务,支持在工件未全部完成前、部分实现后或与其他动作交错调用。
限制:任务不清晰、发现设计问题、遇到错误或阻塞、用户中断时应暂停并等待指示;代码改动保持最小且聚焦;不得把 context 或 operationGuidance 当作任务完成的证据,也不得复制到实现文件或规划工件中;与内置指令、用户明确选择或 CLI 控制值冲突时应报告并保留控制值。具体命令输出字段与 schema 差异以 CLI 实际返回为准。