SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 11-02 16:13

技能介绍

openspec-apply-change 是一个围绕 OpenSpec 变更流程的任务实施技能,用途是让用户从 OpenSpec 变更的任务清单出发,实际动手完成实现工作。

用途 当用户希望开始实施某个 OpenSpec 变更、继续已中断的实施,或逐项处理变更中的任务时,可使用该技能。

主要能力

  • 选择变更:可显式传入变更名称;若未提供,会尝试从对话上下文推断,或仅有一个活跃变更时自动选择;若含糊不清,则通过 openspec list --json 获取可用变更并用提问工具让用户选择。
  • 状态与指令获取:通过 openspec status --change "<name>" --json 了解所用工作流 schema(如 spec-driven)以及哪个产物包含任务;通过 openspec instructions apply --change "<name>" --json 获取上下文文件路径、进度(总数、已完成、剩余)、任务列表与状态以及动态指令。
  • 状态处理:若状态为 blocked(缺少产物),提示使用 openspec-continue-change;若为 all_done,则祝贺并建议归档;否则进入实施。
  • 实施循环:读取 contextFiles 中列出的每个文件,展示当前进度,然后逐项处理待办任务:说明正在处理的任务、进行必要的代码修改、保持改动最小且聚焦,并在任务文件中将 - [ ] 改为 - [x]。
  • 输出格式:实施中输出当前变更、schema 与任务进度;完成时汇总本次完成的任务并建议归档;暂停时说明问题并给出选项。

使用方式 输入可选指定变更名称。随后按步骤执行上述 CLI 命令解析 JSON,读取上下文文件,展示进度并逐项实施。实施前必须先读取上下文文件,不假设具体文件名,而是使用 CLI 输出的 contextFiles。该技能支持“对变更执行动作”的模型,可在所有产物完成前、部分实施后或与其他动作交错时调用;若实施中发现设计问题,会建议更新产物而非阶段锁定。

适用场景 适合基于 OpenSpec 做规范驱动开发的团队与个人,在已有变更任务清单的前提下推进编码实现。

限制 遇到任务不明确、实施暴露设计问题、出现错误或阻塞时,技能会暂停并等待用户指导,不会自行猜测。代码改动应保持最小化并限定在单个任务范围内。