SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-16 08:36

技能介绍

用途:这是 Elastic terraform-provider-elasticstack 仓库中的一个 OpenSpec 技能,用于实现某个 OpenSpec 变更(change)中的任务清单。适用场景:用户希望开始实现、继续实现或逐项推进某变更的任务时使用。

主要能力与用法:

  1. 选择变更。可显式指定名称(如 /openspec-apply-change add-auth);未指定时从对话上下文推断,若只有一个活跃变更则自动选择,若含糊则运行 openspec list --json 让用户选择。始终告知“Using change: ”及覆盖方式。
  2. 查看状态与获取指令。运行 openspec status --change "<name>" --json,解析 schemaName、planningHome、changeRoot、actionContext,以及承载任务的产物(spec-driven 通常为 tasks);再运行 openspec instructions apply --change "<name>" --json,获取 contextFiles、进度、任务列表与动态指令。
  3. 状态处理。若 state 为 blocked(缺少产物),提示并建议使用 /openspec-continue-change;若为 all_done,祝贺并建议归档;否则进入实现。
  4. 读取上下文文件,按 contextFiles 所列路径逐个读取(不同 schema 对应不同文件)。
  5. 展示进度:所用 schema、N/M 任务完成、剩余任务概览、CLI 动态指令。
  6. 循环实现任务:显示当前任务,做最小且聚焦的代码改动,在任务文件中把 - [ ] 改为 - [x],继续下一项;遇任务不清晰、发现设计问题、需超出规格范围、错误或阻塞、用户打断时暂停并等待指引。

Store 选择:若用户指定 store 或工作位于某 store 中,先运行 openspec store list --json 发现已注册 store id,再在读写规格与变更的命令上附加 --store <id>(如 status、instructions、list、show、validate、archive、doctor、context、schemas、view),该标志为后续工作流沿用;无 store 时命令作用于最近的本地 openspec/ 根目录。

限制与约束:保持改动最小、按任务范围进行;仅在指定行为完整实现后才勾选任务,不得在部分完成或延后时勾选;不得静默缩小、延后或简化规格行为;context 与 operationGuidance 属提示级行为契约,不能作为任务完成证据,不替代内置指令,也不能绕过 blocked 状态;冲突时保留受控值并报告冲突。输出格式、完整命令示例与官方文本暂未提供。