用途:从某个 OpenSpec 变更中实现任务,适合开始实现、继续实现或逐项推进任务时使用。
主要能力:选择变更(可指定名称,或从上下文推断、仅一个活跃变更时自动选择,歧义时用 openspec list --json 让用户选择);用 openspec status --change "<name>" --json 查看 schema、planningHome、changeRoot、actionContext 及任务所在产物;用 openspec instructions apply --change "<name>" --json 获取 contextFiles、进度、任务列表与动态指令。
使用方式:先读取 contextFiles 中列出的全部文件(spec-driven 通常为 proposal、specs、design、tasks),展示 schema、进度与剩余任务,然后逐条实现:保持改动最小且聚焦,完成后立即把 tasks 文件中的 - [ ] 改为 - [x],循环直到完成或受阻。若用户指定 store,先运行 openspec store list --json 获取 id,并在读写 specs 与 changes 的命令上追加 --store <id>,且后续沿用。
状态处理:state 为 blocked(缺少产物)时提示使用 openspec-continue-change,或查看下一产物及其创建指令;state 为 all_done 时提示归档。
限制与注意:任务不清晰、发现设计问题、遇到错误或阻塞、用户中断时应暂停并等待指示,不要猜测;context 为必需输入,operationGuidance 为可选建议,二者都不能作为任务完成的证据,也不能绕过 blocked 状态;与内置指令、用户明确选择或 CLI 控制值冲突时应报告冲突并保留控制值;不要把运行时上下文或操作指引原样复制进实现文件或规划产物。该技能可随时调用,支持与其他动作交错进行。