SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-15 23:44

技能介绍

用途:按 OpenSpec 变更(change)实现任务,用户想开始实现、继续实现或逐项推进任务时使用。

输入与选择变更:可选传入变更名;未提供时从对话上下文推断,若仅有一个活跃变更则自动选择,含糊时运行 openspec list --json 并用 AskUserQuestion 让用户选择,并声明使用哪个变更及如何覆盖(如 /opsx:apply <other>)。

状态与指令:运行 openspec status --change "<name>" --json 解析 schemaName、planningHome、changeRoot、actionContext 及承载任务的 artifact;再运行 openspec instructions apply --change "<name>" --json 获取 contextFiles、进度、任务列表和动态指令。状态为 blocked 时提示使用 openspec-continue-change;all_done 时建议归档;否则进入实现。若 actionContext.mode 为 workspace-planning 且 allowedEditRoots 为空,说明此切片不支持全工作区 apply,将链接仓库和文件夹视为只读,要求用户通过显式实现工作流选择受影响区域并停止编辑。

实现流程:读取 contextFiles 中列出的全部文件(spec-driven 为 proposal、specs、design、tasks,其他 schema 以 CLI 输出为准),展示 schema、进度与剩余任务;逐项完成待办任务,仅做最小且聚焦的改动,完成后立即将 tasks 文件中的 - [ ] 改为 - [x],然后继续下一项。遇到任务不清、实现暴露设计问题、错误或阻塞、用户中断时暂停并等待指引。完成后展示本次完成项与总进度,全部完成则建议归档;暂停则说明原因。

限制:遵循 CLI 输出的 contextFiles,不假设具体文件名;任务含糊先询问再实现;不猜测、不越界改动。