SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

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

主要能力:选择变更(可显式指定名称,或从对话上下文推断、仅有一个活跃变更时自动选择,含糊时必须让用户选择);用 openspec status --change "<name>" --json 查看 schema、planningHome、changeRoot、actionContext 及任务所在工件;用 openspec instructions apply --change "<name>" --json 获取 contextFiles、进度、任务列表与动态指令;读取 contextFiles 中列出的全部文件;展示进度并逐项实现任务,完成后把任务文件中的 - [ ] 改为 - [x]。

使用方式:若用户指定 store 或工作位于某个 store,先运行 openspec store list --json 获取已注册 store id,再在读取或写入 spec/变更的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上追加 --store <id>,并在后续流程中保持该标志;其他命令不接受该标志。未指定 store 时命令作用于最近的本地 openspec/ 根目录。

状态处理:state 为 blocked(缺少工件)时提示使用 openspec-continue-change,或运行 openspec status --change "<name>" --json 查看下一工件并用 openspec instructions <artifact-id> --change "<name>" --json 了解创建方式;state 为 all_done 时祝贺并建议归档;否则进入实现。

限制与护栏:实现前必须读取上下文文件;任务含糊、发现设计问题、遇到错误或阻塞、用户中断时暂停并等待指示,不要猜测;改动保持最小且聚焦于当前任务;每完成一项立即更新复选框;不要假设具体文件名,以 CLI 输出的 contextFiles 为准;context 与 operationGuidance 属于提示级行为约定,不是任务完成的证据,不能替代内置指令或绕过 blocked 状态,与内置指令、用户明确选择或 CLI 控制值冲突时应报告冲突并保留控制值;不要把运行时上下文或操作指引原样复制进实现文件或规划工件。该技能支持“对变更执行动作”模型,可在工件未全部完成、部分实现后或与其他动作交错时随时调用。