用途:从 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 获取已注册 store 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;all_done 时祝贺并建议归档;否则继续实现。context 视为必需的提示级输入,operationGuidance 为可选附加建议,二者不得作为任务完成的证据,也不得绕过 blocked 状态;与内置指令、用户明确选择或 CLI 控制值冲突时应报告并保留控制值。
限制:任务不清晰、发现设计问题、遇到错误或阻塞、用户中断时暂停并等待指引,不要猜测;不要假设具体文件名,以 CLI 的 contextFiles 为准;不要将运行时上下文或操作指引原样复制进实现文件或规划产物。