用途:从 OpenSpec 变更中实现任务,适用于开始实现、继续实现或逐项推进任务的场景。
主要能力:选择变更(可指定名称,或从上下文推断、自动选择唯一活动变更,歧义时用 openspec list --json 让用户选择);用 openspec status --change "<name>" --json 查看 schema、planningHome、changeRoot、actionContext 及任务所在产物;用 openspec instructions apply --change "<name>" --json 获取 contextFiles、进度、任务列表与动态指令。
使用方式:若用户指定 store 或工作位于某个 store,先运行 openspec store list --json 获取 id,并在读写 specs 与 changes 的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上追加 --store <id>,选定后保持粘性;其他命令不接受该参数。无 store 时作用于最近的本地 openspec/ 根目录。开始前读取 contextFiles 中列出的全部文件(spec-driven 为 proposal、specs、design、tasks,其他 schema 以 CLI 输出为准)。随后逐项实现:显示当前任务、做最小且聚焦的代码改动、在任务文件中把 - [ ] 改为 - [x],完成后展示本次完成项与总体进度。
状态处理:state 为 blocked 时提示使用 openspec-continue-change(未安装则用 status 与 instructions 查看下一产物);all_done 时祝贺并建议归档。
限制:任务不清晰、发现设计问题、遇到错误或阻塞、用户中断时暂停并等待指示,不猜测;context 与 operationGuidance 属提示级输入,不能作为任务完成证据,不得绕过 blocked 状态,与内置指令、用户明确选择或 CLI 控制值冲突时应报告并保留控制值;不得把运行时上下文或操作指引原样复制进实现文件或规划产物。