SuperAPI AI 工具集

openspec-apply-change

编程与开发

查看项目

更新于 10-20 09:05

技能介绍

用途

openspec-apply-change 是一个用于执行 OpenSpec 变更任务的技能。当用户表达“开始实现”“继续实现”或“逐项完成”某个 OpenSpec 变更的意图时,可调用该技能。它帮助开发者按任务清单有序推进代码实现,并维护任务完成状态。

主要能力

  • 自动或手动选择变更:支持从对话上下文推断、自动选择唯一活动变更,或在多个变更时列出选项供用户选择。
  • 检查变更状态与结构:通过 openspec status --change "<name>" --json 获取 schema 信息、规划范围、编辑约束以及包含任务列表的工件。
  • 获取应用指令:通过 openspec instructions apply --change "<name>" --json 返回上下文文件、进度、任务列表和动态指令。
  • 处理特殊状态:当状态为 blocked 时提示使用 openspec-continue-change;当全部完成时祝贺并建议归档;否则进入实现。
  • 工作区保护:若状态显示工作区规划模式且允许编辑根为空,则说明不支持全面工作区应用,将关联仓库视作只读上下文,并停止编辑。
  • 读取上下文文件并展示当前进度:显示所用 schema、已完成任务数及剩余任务概览。
  • 循环实现任务:逐项展示正在处理的任务,进行最小且聚焦的代码修改,完成后立即将任务文件中的复选框标记为完成。
  • 暂停与恢复:任务不清晰、实现暴露设计问题、遇到错误或用户中断时暂停并等待指引。

使用方式

技能以步骤引导方式工作:先选择变更并确认,然后检查状态、获取指令、读取上下文、展示进度,再逐项实现任务。实现过程中输出当前任务信息,完成后展示本次完成的任务和整体进度。若全部完成,建议归档;若暂停,说明原因并等待用户选择。技能强调使用 CLI 输出的 contextFiles 而非假设文件名。

适用场景

  • 正在使用 OpenSpec 规范驱动工作流的项目。
  • 需要从变更任务清单开始或继续实现代码。
  • 希望任务完成状态被即时跟踪和维护。
  • 需要结构化暂停机制以避免盲目实现。

限制

  • 依赖 OpenSpec CLI 命令(如 openspec status、openspec instructions apply)的输出。
  • 不适用于未采用 OpenSpec 变更管理的项目。
  • 工作区规划模式下若 allowedEditRoots 为空,则不支持全面工作区应用,需用户通过明确的实现工作流选择受影响区域。
  • 具体工件类型取决于所用 schema,技能本身不定义 schema 内容。
  • 未提供收费、价格、平台兼容性等额外信息。