SuperAPI AI 工具集

openspec-archive-change

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:在 OpenSpec 实验性工作流中,把已实现完成的变更正式归档。适用于用户希望收尾并归档某个变更的场景。

主要能力:选择目标变更(可指定名称,或从上下文推断、唯一活跃变更自动选中,歧义时用 openspec list --json 让用户选择);用 openspec status --change "<name>" --json 检查产物完成状态;读取 tasks.md 统计未完成任务;评估 delta spec 与主 spec 的同步状态,并可选执行同步;最后把变更目录移动到 archive 下。

使用方式:若涉及已注册的 store,先运行 openspec store list --json 获取 id,并在读写 spec 与变更的命令上追加 --store <id>,该选择在后续流程中保持。归档前可运行 openspec instructions archive --change "<name>" --json 获取可选上下文,失败或返回无效 JSON 时继续流程。同步前需运行 openspec instructions specs --change "<name>" --json 并成功返回。归档时创建目录 mkdir -p "<planningHome.changesDir>/archive",目标名已带 YYYY-MM-DD- 前缀则沿用,否则前置当前日期,然后 mv "<changeRoot>" "<planningHome.changesDir>/archive/<target-name>"。

限制:产物或任务未完成只警告并需用户确认,不阻断归档;delta spec 同步必须内联执行并验证主 spec 后才能移动 changeRoot,禁止在同步进行中归档;目标归档名已存在则报错;.openspec.yaml 随目录移动保留;运行上下文与操作指引不得原样写入输出文件。