SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:本技能用于从某个 OpenSpec change 开始、继续或逐项实现其任务列表(tasks)。

主要能力: 可选指定 change 名称(如 add-auth);未指定时从对话上下文推断,仅有一个活动 change 时自动选中,含糊时用 openspec list --json 列出并请用户选择。选中后提示“Using change: ”及覆盖方式。 通过 openspec status --change "<name>" --json 了解 schemaName、planningHome、changeRoot、actionContext 以及承载任务的工件(spec-driven 通常为 tasks)。 通过 openspec instructions apply --change "<name>" --json 获取 contextFiles(按 schema 为 proposal/specs/design/tasks 等具体文件路径)、进度(total、complete、remaining)、任务列表及状态、动态指令,以及可选的 context 与 operationGuidance。 读取 contextFiles 中列出的每个文件,展示当前进度(N/M 完成)与剩余任务,然后逐项实现:显示当前任务、做出最小且聚焦的代码改动、将任务文件中 - [ ] 改为 - [x],随后进入下一项。

使用方式与 store:如果用户指定 store(本机注册的独立 OpenSpec 仓库),先用 openspec store list --json 发现已注册 store id,再在读写 specs 与 changes 的命令上追加 --store <id>(如 new change、status、instructions、list、show、validate、archive、doctor、context、view),并视为对该工作流粘性生效。未使用 store 时命令作用于最近的本地 openspec/ 根目录。

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

适用场景:OpenSpec 变更的任务实现阶段,可在工件未全部完成(若已有任务)、部分实现后,或与其他 action 交错时调用。

限制与边界:实现中任务不清晰应暂停询问;发现设计问题应暂停并建议更新工件;遇错误或阻塞应报告并等待指导;按任务保持改动最小;不要假设文件名,使用 CLI 输出的 contextFiles;context 与 operationGuidance 不构成任务完成证据,不能绕过 blocked 状态;context 与内置指令、用户明确选择或 CLI 控制值冲突时,报告冲突并保留控制值;不适用的 guidance 不遵循并说明原因;不要将运行时上下文或 guidance 抄入实现文件或规划工件。