en un clic
openspec-bulk-archive-change
批量归档多个已完成变更。适用于并行完成多个变更后的集中归档。
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
批量归档多个已完成变更。适用于并行完成多个变更后的集中归档。
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
实现 OpenSpec 变更中的任务。当用户希望开始实现、继续实现或逐项完成任务时使用。
在实验性工作流中归档已完成的变更。适用于实现完成后的收尾归档。
继续推进一个 OpenSpec 变更,创建下一个工件。当用户希望推进变更、生成下一个工件或继续流程时使用。
进入探索模式——作为思考伙伴帮助探索想法、调查问题、澄清需求。当用户希望在变更前或过程中先理清思路时使用。
快速创建 OpenSpec 工件。当用户希望跳过逐个工件、一次性生成所有实现所需工件时使用。
使用实验性的工件工作流创建新的 OpenSpec 变更。当用户希望以结构化步骤创建新功能、修复或修改时使用。
| name | openspec-bulk-archive-change |
| description | 批量归档多个已完成变更。适用于并行完成多个变更后的集中归档。 |
| license | MIT |
| compatibility | Requires openspec CLI. |
| metadata | {"author":"openspec","version":"1.0","generatedBy":"1.1.1"} |
一次性归档多个已完成的变更。
该技能允许批量归档,并通过检查代码库来智能处理规范冲突,从而判断哪些内容已经实际实现。
输入:无需输入(会提示选择)
步骤
获取活跃变更
运行 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/ 目录
### Requirement: <name>)检测规范冲突
构建 capability -> [涉及该 capability 的变更] 的映射:
auth -> [change-a, change-b] <- CONFLICT (2+ changes)
api -> [change-c] <- OK (only 1 change)
当 2+ 个选中变更的增量规范涉及同一 capability 时,判定冲突。
智能解决冲突
对每个冲突,调查代码库:
a. 读取冲突变更的增量规范,理解各自声称的新增/修改内容
b. 搜索代码库寻找实现证据:
c. 确定解决方案:
d. 记录每个冲突的解决结果:
展示汇总状态表
展示所有变更的汇总表:
| Change | Artifacts | Tasks | Specs | Conflicts | Status |
|---------------------|-----------|-------|---------|-----------|--------|
| schema-management | Done | 5/5 | 2 delta | None | Ready |
| project-config | Done | 3/3 | 1 delta | None | Ready |
| add-oauth | Done | 4/4 | 1 delta | auth (!) | Ready* |
| add-verify-skill | 1 left | 2/5 | None | None | Warn |
对冲突,展示解决方案:
* Conflict resolution:
- auth spec: Will apply add-oauth then add-jwt (both implemented, chronological order)
对未完成的变更,展示警告:
Warnings:
- add-verify-skill: 1 incomplete artifact, 3 incomplete tasks
确认批量操作
使用 AskUserQuestion 工具给出单次确认:
若存在未完成变更,需明确其将带警告归档。
对确认的变更逐个归档
按确定的顺序处理(遵循冲突解决顺序):
a. 同步规范(若存在增量规范):
b. 执行归档:
mkdir -p openspec/changes/archive
mv openspec/changes/<name> openspec/changes/archive/YYYY-MM-DD-<name>
c. 记录每个变更的结果:
展示最终摘要
展示最终结果:
## Bulk Archive Complete
Archived 3 changes:
- 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/
Skipped 1 change:
- add-verify-skill (user chose not to archive incomplete)
Spec sync summary:
- 4 delta specs synced to main specs
- 1 conflict resolved (auth: applied both in chronological order)
若有失败:
Failed 1 change:
- some-change: Archive directory already exists
冲突解决示例
示例 1:仅一个实现
Conflict: specs/auth/spec.md touched by [add-oauth, add-jwt]
Checking add-oauth:
- Delta adds "OAuth Provider Integration" requirement
- Searching codebase... found src/auth/oauth.ts implementing OAuth flow
Checking add-jwt:
- Delta adds "JWT Token Handling" requirement
- Searching codebase... no JWT implementation found
Resolution: Only add-oauth is implemented. Will sync add-oauth specs only.
示例 2:两个都实现
Conflict: specs/api/spec.md touched by [add-rest-api, add-graphql]
Checking add-rest-api (created 2026-01-10):
- Delta adds "REST Endpoints" requirement
- Searching codebase... found src/api/rest.ts
Checking add-graphql (created 2026-01-15):
- Delta adds "GraphQL Schema" requirement
- Searching codebase... found src/api/graphql.ts
Resolution: Both implemented. Will apply add-rest-api specs first,
then add-graphql specs (chronological order, newer takes precedence).
成功输出
## Bulk Archive Complete
Archived N changes:
- <change-1> -> archive/YYYY-MM-DD-<change-1>/
- <change-2> -> archive/YYYY-MM-DD-<change-2>/
Spec sync summary:
- N delta specs synced to main specs
- No conflicts (or: M conflicts resolved)
部分成功输出
## Bulk Archive Complete (partial)
Archived N changes:
- <change-1> -> archive/YYYY-MM-DD-<change-1>/
Skipped M changes:
- <change-2> (user chose not to archive incomplete)
Failed K changes:
- <change-3>: Archive directory already exists
无可归档变更时输出
## No Changes to Archive
No active changes found. Use `/opsx:new` to create a new change.
护栏