SuperAPI AI 工具集

openspec-archive-change

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

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

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

使用方式:若涉及已注册的 store,先运行 openspec store list --json 获取 id,并在读写规格与变更的命令上追加 --store <id>,选定后保持粘性。归档前可运行 openspec instructions archive --change "<name>" --json 获取可选上下文,该命令失败或返回无效 JSON 时不应阻断归档。同步前需运行 openspec instructions specs --change "<name>" --json,要求退出码为零且返回有效 JSON,否则报错并停止。归档时创建目录 mkdir -p "<planningHome.changesDir>/archive",目标名已带 YYYY-MM-DD- 前缀则沿用,否则前置当前日期,然后 mv "<changeRoot>" "<planningHome.changesDir>/archive/<target-name>"。

限制:产物或任务未完成只警告并需用户确认,不阻断归档;delta 规格存在时必须先做同步评估并展示合并摘要;同步必须内联执行并等待完成,绝不能在同步进行中移动 changeRoot;同步后需重新校验每个能力是否已同步,不匹配则停止归档;目标归档名已存在时报错;运行时上下文与操作指引不得原样写入输出文件。