Archive multiple completed changes at once. Used for archiving multiple parallel changes.
在单个操作中归档多个已完成的变更。
此技能允许您批量归档变更,通过检查代码库以确定实际实现了什么来智能处理规格说明冲突。
输入:无需要求(会提示选择)
步骤
获取活动变更
运行 openspec list --json 获取所有活动变更。
如果不存在活动变更,通知用户并停止。
提示变更选择
使用 AskUserQuestion 工具进行多选,让用户选择变更:
重要提示:不要自动选择。始终让用户选择。
批量验证 - 收集所有选定变更的状态
对于每个选定的变更,收集:
a. 产出物状态 - 运行 openspec status --change "<name>" --json
schemaName 和 artifacts 列表done 状态而非其他状态b. 任务完成度 - 读取 openspec/changes/<name>/tasks.md
- [ ](未完成)与 - [x](已完成)c. 增量规格说明 - 检查 openspec/changes/<name>/specs/ 目录
### 需求: <name> 的行)检测规格说明冲突
构建 capability -> [涉及它的变更] 映射:
auth -> [change-a, change-b] <- 冲突(2+ 个变更)
api -> [change-c] <- 正常(仅 1 个变更)
当 2+ 个选定的变更具有相同能力的增量规格说明时,存在冲突。
代理式解决冲突
对于每个冲突,调查代码库:
a. 读取增量规格说明 从每个冲突的变更中了解每个声称添加/修改的内容
b. 搜索代码库 寻找实现证据:
c. 确定解决方案:
d. 记录解决方案 对于每个冲突:
显示合并状态表
显示汇总所有变更的表:
| 变更 | 产出物 | 任务 | 规格说明 | 冲突 | 状态 |
|---------------------|-----------|-------|---------|-----------|--------|
| schema-management | 完成 | 5/5 | 2 增量 | 无 | 就绪 |
| project-config | 完成 | 3/3 | 1 增量 | 无 | 就绪 |
| add-oauth | 完成 | 4/4 | 1 增量 | auth (!) | 就绪* |
| add-verify-skill | 剩余 1 | 2/5 | 无 | 无 | 警告 |
对于冲突,显示解决方案:
* 冲突解决方案:
- auth 规格说明:将先应用 add-oauth 然后 add-jwt(两者都已实现,按时间顺序)
对于未完成的变更,显示警告:
警告:
- add-verify-skill:1 个未完成产出物,3 个未完成任务
确认批量操作
使用 AskUserQuestion 工具进行单次确认:
如果存在未完成的变更,请明确说明它们将带着警告被归档。
对每个确认的变更执行归档
按确定的顺序处理变更(遵循冲突解决方案):
a. 如果存在增量规格说明则同步规格说明:
b. 执行归档:
mkdir -p openspec/changes/archive
mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name>
c. 跟踪每个变更的结果:
显示摘要
显示最终结果:
## 批量归档完成
已归档 3 个变更:
- schema-management-cli -> archive/2026-01-19-schema-management-cli/
- project-config -> archive/2026-01-19-project-config/
- add-oauth -> archive/2026-01-19-add-oauth/
跳过 1 个变更:
- add-verify-skill(用户选择不归档未完成的)
规格说明同步摘要:
- 4 个增量规格说明已同步到主规格说明
- 1 个冲突已解决(auth:按时间顺序应用两者)
如果有任何失败:
失败 1 个变更:
- some-change:归档目录已存在
冲突解决示例
示例 1:仅一个已实现
冲突:specs/auth/spec.md 被 [add-oauth, add-jwt] 涉及
检查 add-oauth:
- 增量添加"OAuth 提供商集成"需求
- 搜索代码库... 找到 src/auth/oauth.ts 实现 OAuth 流程
检查 add-jwt:
- 增量添加"JWT 令牌处理"需求
- 搜索代码库... 未找到 JWT 实现
解决方案:仅 add-oauth 已实现。将仅同步 add-oauth 规格说明。
示例 2:两者都已实现
冲突:specs/api/spec.md 被 [add-rest-api, add-graphql] 涉及
检查 add-rest-api(创建于 2026-01-10):
- 增量添加"REST 端点"需求
- 搜索代码库... 找到 src/api/rest.ts
检查 add-graphql(创建于 2026-01-15):
- 增量添加"GraphQL 架构"需求
- 搜索代码库... 找到 src/api/graphql.ts
解决方案:两者都已实现。将先应用 add-rest-api 规格说明,
然后应用 add-graphql 规格说明(按时间顺序,较新的优先)。
成功时的输出
## 批量归档完成
已归档 N 个变更:
- <change-1> -> archive/YYYY-MM-DD-<change-1>/
- <change-2> -> archive/YYYY-MM-DD-<change-2>/
规格说明同步摘要:
- N 个增量规格说明已同步到主规格说明
- 无冲突(或:M 个冲突已解决)
部分成功时的输出
## 批量归档完成(部分)
已归档 N 个变更:
- <change-1> -> archive/YYYY-MM-DD-<change-1>/
跳过 M 个变更:
- <change-2>(用户选择不归档未完成的)
失败 K 个变更:
- <change-3>:归档目录已存在
没有变更时的输出
## 无需归档的变更
未找到活动变更。使用 `/opsx:new` 创建新变更。
防护措施
npx skills add studyzy/openspec-bulk-archive-change下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new/updated skill folders with the npm-installed clawhub CLI.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
Best practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
Category:developer