SuperAPI AI 工具集

openspec-ff-change

编程与开发

查看项目

更新于 11-02 16:13

技能介绍

用途

openspec-ff-change 用于在 OpenSpec 变更流程中“快进”完成工件创建,目标是一口气生成开始实现所需的全部材料,避免逐个工件手动推进。

主要能力

  • 根据用户描述推导 kebab-case 变更名称(如“add user authentication”推导为 add-user-auth)。
  • 若输入不明确,使用开放式提问工具询问用户想构建或修复什么,明确前不继续。
  • 创建变更目录:openspec new change "<name>",在 openspec/changes/<name>/ 下生成脚手架。
  • 获取工件构建顺序:openspec status --change "<name>" --json,解析 applyRequires(实现前需要的工件 ID 数组)与 artifacts(含状态和依赖的工件列表)。
  • 按依赖顺序循环创建工件:对每个依赖已满足的工件执行 openspec instructions <artifact-id> --change "<name>" --json,读取其中的 context、rules、template、instruction、outputPath、dependencies,读取已完成的依赖工件作为上下文,依据 template 结构写入工件文件,并以 context 和 rules 作为约束(不复制进文件)。
  • 使用 TodoWrite 跟踪进度,每创建一个工件后显示简要进度,并重新运行状态命令检查 applyRequires 中的所有工件是否均为 done。
  • 遇到上下文不清的工件时,通过提问工具澄清后继续。
  • 全部完成后运行 openspec status --change "<name>" 展示最终状态,并汇总变更名称与位置、已创建工件及简述、就绪提示,以及提示运行 /opsx:apply 或要求实现以开始任务。

使用方式

通过技能调用触发,输入变更名或构建描述;技能按上述命令与顺序自动推进。若同名变更已存在,建议继续该变更而非新建。

适用场景

需要跳过逐步确认、快速产出 OpenSpec 实现前全部工件的开发流程。

限制

依赖 OpenSpec CLI 命令与 JSON 输出;context 与 rules 仅作为约束不得写入工件文件;若关键上下文不清晰应询问用户,但整体倾向做出合理判断以保持推进节奏。