openspec-archiving-cn
归档已完成的变更并将规范差异合并到常驻文档。用于变更已部署、准备归档或实施后需要更新规范时。触发词包括 "openspec归档", "归档", "归档提案", "合并规范", "完成提案", "更新文档", "定稿规范", "标记完成"。
By forztf · 363 installs
npx skills add forztf/open-skilled-sdd --skill openspec-archiving-cn
Source repository · Upstream listing
规范归档
归档已完成的变更提案,并将其规范差异合并到常驻规范文档中。
快速开始
归档包含两项主要操作:
1. 移动变更目录 至带时间戳的归档位置
2. 合并规范差异 到常驻规范(ADDED/MODIFIED/REMOVED)
关键规则 :在归档前验证所有任务已完成。归档意味着已部署且完成。
工作流
复制此清单并跟踪进度:
第 1 步:验证实施完成
在归档前确认所有工作已完成:
询问用户 :
第 2 步:审阅待合并的规范差异
了解需要合并的内容:
识别 :
哪些能力受到影响
ADDED/MODIFIED/REMOVED 各有多少需求
这些变更在常驻规范中的归属位置
第 3 步:创建带时间戳的归档目录
示例 :
第 4 步:合并 ADDED 需求到常驻规范
对每个 ADDED Requirements 部分:
流程 :
1. 定位目标常驻规范文件
2. 将新增需求追加到文件末尾
3. 保持正确的 Markdown 格式
示例 :
来源 ( spec/changes/add user auth/specs/authentication/spec delta.md ):
目标 ( spec/specs/authentication/spec.md ):
第 5 步:合并 MODIFIED 需求到常驻规范
对每个 MODIFIED Requirements 部分:
流程 :
1. 在常驻规范中定位现有需求
2. 替换 整个 需求块(包括全部场景)
3. 使用差异文件中的完整更新文本
示例(使用 sed) :
手动方式 (出于安全建议):
第 6 步:合并 REMOVED 需求到常驻规范
对每个 REMOVED Requirements 部分:
流程 :
1. 在常驻规范中定位该需求
2. 删除整个需求块
3. 添加一条注释记录移除
示例 :
模式 :
第 7 步:将变更目录移动到归档
在所有差异合并后:
验证移动成功 :
第 8 步:验证常驻规范结构
在合并后,验证常驻规范的完整性:
手动审阅 :
打开每个被修改的规范文件
验证 Markdown 格式正确
检查需求逻辑是否连贯
确保不存在重复需求
合并逻辑参考
ADDED 操作
MODIFIED 操作
REMOVED 操作
RENAMED 操作(不常见)
最佳实践
模式 1:移动前先验证
务必 在移动到归档前验证差异合并:
模式 2:原子化归档
归档整个变更,而非单个文件:
好 :
坏 :
模式 3:归档保全
归档是历史记录。切勿修改归档文件:
模式 4:Git 提交策略
推荐提交流程:
进阶主题
复杂差异 :见 [reference/MERGE LOGIC.md](reference/MERGE LOGIC.md)
冲突解决 :若多个变更修改同一需求,需手动合并。
回滚策略 :若需回滚归档,反向执行流程(从归档移回 changes,并从常驻规范移除已合并内容)。
常见模式
模式 1:简单新增
模式 2:行为变更
模式 3:弃用
模式 4:多需求的功能
反模式避免
不要 :
归档未完成的实施
在部署前合并差异
修改归档文件
跳过合并后的验证
忘记在合并规范后进行 git 提交
要 :
在归档前验证所有任务完成
小心且完整地合并差异
将归档视为不可变历史
验证合并后规范结构
在归档移动前提交合并后的规范
故障排查
问题:合并冲突(常驻规范已有该需求)
解决方案 :
问题:找不到需要修改/移除的需求
解决方案 :
问题:合并后常驻规范格式错误
解决方案 :
参考资料
[MERGE LOGIC.md](reference/MERGE LOGIC.md) 详细的合并操作规则
Token 预算 :此 SKILL.md 约 430 行,低于建议的 500 行上限。