.codebuddy/skills/openspec-archive-change/SKILL.md
归档实验性工作流中已完成的变更。
输入:可选指定变更名称。如果省略,检查是否可以从对话上下文中推断。如果模糊或不明确,你必须提示获取可用变更。
步骤
如果没有提供变更名称,提示选择
运行 openspec-cn list --json 获取可用变更。使用 AskUserQuestion tool 让用户选择。
仅显示活动变更(未归档的)。 如果可用,包括每个变更使用的 Schema。
重要提示:不要猜测或自动选择变更。始终让用户选择。
检查产出物完成状态
运行 openspec-cn status --change "<name>" --json 检查产出物完成情况。
解析 JSON 以了解:
schemaName:正在使用的工作流artifacts:产出物列表及其状态(done 或其他)如果有任何产出物未 done:
检查任务完成状态
阅读任务文件(通常是 tasks.md)以检查未完成的任务。
统计标记为 - [ ](未完成)与 - [x](已完成)的任务。
如果发现未完成的任务:
如果没有任务文件存在: 继续,无需任务相关警告。
评估增量规范同步状态
检查 openspec/changes/<name>/specs/ 中的增量规范。如果不存在,则在没有同步提示的情况下继续。
如果存在增量规范:
openspec/specs/<capability>/spec.md 对应的各主规范进行比较提示选项:
如果用户选择同步,执行 /opsx:sync 逻辑(使用 openspec-sync-specs 技能)。无论选择如何,都继续归档。
执行归档
如果归档目录不存在,则创建它:
mkdir -p openspec/changes/archive
使用当前日期生成目标名称:YYYY-MM-DD-<change-name>
检查目标是否已存在:
mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name>
显示摘要
显示归档完成摘要,包括:
成功时的输出
## 归档完成
**变更:** <change-name>
**模式:** <schema-name>
**归档至:** openspec/changes/archive/YYYY-MM-DD-<name>/
**规范:** ✓ 已同步到主规范(或 "无增量规范" 或 "同步已跳过")
所有产出物已完成。所有任务已完成。
防护措施