SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:从某个 OpenSpec 变更中实现任务。当用户想开始实现、继续实现或逐项推进任务时使用。

主要能力与用法: 选择变更:用户指定名称则使用;否则从对话上下文推断、若只有一个活动变更则自动选择,模糊时必须用 openspec list --json 列出可用变更让用户选择。选定后需声明“Using change: ”,并说明如何覆盖(如 $openspec-apply-change (Codex) 或 /openspec-apply-change (其他 agent) <other>)。

存储选择:若指定了 store(本机注册的独立 OpenSpec 仓库)或工作位于其中,先运行 openspec store list --json 获取已注册 store id,再在读写 spec 与 change 的命令上附加 --store <id>(如 status、instructions、list、show、validate、archive、doctor、context、view 等)。选定后该标识在后续流程中保持。无 store 时命令作用于最近的本地 openspec/ 根目录。

检查状态:运行 openspec status --change "<name>" --json,解析 schemaName、planningHome、changeRoot、actionContext,以及哪个产物包含任务。

获取实现指令:运行 openspec instructions apply --change "<name>" --json,返回 contextFiles、进度、任务清单与状态、基于当前状态的动态指令,以及可选的必需项目指令输入与操作指导。若 state 为 blocked,提示用 $openspec-continue-change 或 /openspec-continue-change;若为 all_done,建议归档;否则进入实现。

读取上下文文件:读取 contextFiles 中列出的全部文件路径。spec-driven 通常含 proposal、specs、design、tasks,其他 schema 以 CLI 输出为准。不得把 context 或操作指导原文复制进实现或规划产物,除非用户另行要求。

展示进度并逐个实现任务:显示 schema、N/M 任务完成、剩余任务概览与动态指令;每项任务完成后立即将 - [ ] 改为 - [x],保持改动最小且聚焦。任务不清、发现设计问题、遇错误阻塞或用户中断时暂停并询问。完成后展示本次完成项与总体进度,全部完成建议归档。

限制:CLI 返回的 context 与 guidance 并非任务完成的证据,不得用于绕过 blocked 状态;与内置指令、用户明确选择或 CLI 控制值冲突时应报告并保留控制值。不假想具体文件名,以 CLI 输出的 contextFiles 为准。该技能支持随时调用的“对变更执行动作”模型,可与其他动作交错进行。