用途:按 OpenSpec 变更执行任务实现。用户可指定变更名;未指定时会从对话上下文推断,只有唯一活动变更时自动选择,模糊时通过 openspec list --json 列出并用 AskUserQuestion 让用户选择,并始终提示当前使用的变更及覆盖方式(如 /opsx:apply <other>)。\n\n主要能力与用法:先运行 openspec status --change "<name>" --json 解析 schemaName 及包含任务的制品;再运行 openspec instructions apply --change "<name>" --json 获取上下文文件路径、进度(总数/完成/剩余)、任务状态与动态指令。状态为 blocked(缺制品)时提示改用 openspec-continue-change;all_done 时建议归档;否则继续实现。实现前必须读取 contextFiles 中的文件,不同 schema 内容不同(spec-driven 为 proposal、specs、design、tasks)。随后逐项展示任务、做最小且聚焦的代码改动,完成后立即将任务文件的 - [ ] 改为 - [x],循环直至完成或受阻。\n\n暂停条件:任务不清、实现暴露设计问题、遇到错误或阻塞、用户中断。完成或暂停时输出会话内完成任务数与总体进度,全部完成则建议归档。\n\n限制与约束:保持改动最小并按任务限定范围;不要假设文件名,一律使用 CLI 输出的 contextFiles;模糊时先问再做,错误或阻塞时不要猜测;支持与其他动作交错执行的流动工作流,可在制品未全完成(若已有任务)或部分实现后调用。具体可用 schema 与文件清单以 CLI 输出为准。
openspec-apply-change
编程与开发
更新于 10-16 09:52