用途
openspec-archive-change 是 OpenSpec 实验性工作流中的归档技能,用于在某个变更的实施工作完成后,将其收尾并归档到变更归档目录中。
主要能力
- 变更选择:若未提供变更名,会运行
openspec list --json获取可用变更,并通过 AskUserQuestion 让用户从活跃变更(已归档的除外)中选择;不会猜测或自动选择。 - 制品完成检查:运行
openspec status --change "<name>" --json,解析 schemaName 与各制品状态;若有未完成制品,列出警告并请用户确认是否继续。 - 任务完成检查:读取任务文件(通常为 tasks.md),统计
- [ ]与- [x]数量;若有未完成任务,显示数量警告并请用户确认。若任务文件不存在则跳过此检查。 - 增量规格同步评估:检查
openspec/changes/<name>/specs/下是否存在增量规格,与openspec/specs/<capability>/spec.md对应主规格比较,总结将应用的添加、修改、删除、重命名等变更,再提示用户选择“立即同步(推荐)”“不同步直接归档”或在已同步时选择“立即归档”“仍然同步”“取消”。选择同步时会通过 Task 工具调用 openspec-sync-specs。 - 执行归档:创建
openspec/changes/archive目录,以YYYY-MM-DD-<change-name>命名目标;若目标已存在则报错并建议重命名或更换日期;否则用mv移动变更目录。.openspec.yaml随目录一起移动而保留。 - 输出摘要:展示变更名、所用 schema、归档位置、规格是否同步,以及未完成制品或任务的警告说明。
使用方式
该技能通过对话式代理流程触发,用户可指定变更名,也可省略由技能提示选择。全过程依赖 OpenSpec CLI 的 list、status 命令及文件系统操作,归档时不阻断于警告,仅提示并确认。
适用场景
适用于采用 OpenSpec 管理规格驱动开发流程、需要在变更交付后清理和留存变更目录的团队与个人。
限制
资料仅描述实验性工作流中的这一归档能力,未提供安装命令、平台支持、收费方式或性能信息;具体行为依赖 OpenSpec CLI 与项目目录结构。