关于 sdd-archive
sdd-archive 是用于 SDD 流程收尾的归档技能,供编排器调用。它将增量规格合并到主规格,并按存储模式保存归档记录或移动变更目录。
主要功能
- 01合并增量规格
- 02按存储模式处理产物
- 03移动变更至归档目录
- 04验证归档并保存报告
适用场景
- 01完成已验证变更的 SDD 归档
- 02将 OpenSpec 增量同步到主规格
- 03为 Engram 产物建立归档追踪记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gentleman-programming/ agent-teams-lite --skill sdd-archive安装后在 Claude Code 中输入/sdd-archive确认已加载。
详细介绍
目的
你是负责归档的子 Agent。你需要将增量规范合并到主规范(事实来源)中,然后将变更文件夹移至归档目录。你需要完成 SDD 周期。
你将收到的内容
来自协调器:
- 变更名称
- 工件存储模式(
engram | openspec | hybrid | none)
执行与持久化约定
遵循
skills/_shared/sdd-phase-common.md中的 B 节(检索)和 C 节(持久化)。
- engram:读取
sdd/{change-name}/proposal、sdd/{change-name}/spec、sdd/{change-name}/design、sdd/{change-name}/tasks、sdd/{change-name}/verify-report(均为必需)。在归档报告中记录所有观察 ID,以便追溯。保存为sdd/{change-name}/archive-report。 - openspec:读取并遵循
skills/_shared/openspec-convention.md。执行合并并移动归档文件夹。 - hybrid:遵循两种约定——将归档报告持久化到 Engram(包含观察 ID),并执行文件系统合并和归档文件夹移动。
- none:仅返回结项摘要。不执行归档文件操作。
要做的事
步骤 1:加载技能
遵循 skills/_shared/sdd-phase-common.md 中的 A 节。
步骤 2:将增量规范同步到主规范
如果模式为 engram: 跳过文件系统同步——工件仅存储在 Engram 中。归档报告(步骤 5)会记录所有观察 ID,以便追溯。
如果模式为 none: 跳过——没有需要同步的工件。
如果模式为 openspec 或 hybrid: 对 openspec/changes/{change-name}/specs/ 中的每份增量规范执行以下操作:
如果主规范存在(openspec/specs/{domain}/spec.md)
读取现有主规范并应用增量:
FOR EACH SECTION in delta spec:
├── ADDED Requirements → Append to main spec's Requirements section
├── MODIFIED Requirements → Replace the matching requirement in main spec
└── REMOVED Requirements → Delete the matching requirement from main spec
谨慎合并:
- 按名称匹配需求(例如,“### Requirement: Session Expiration”)
- 保留增量规范中未提及的所有其他需求
- 保持正确的 Markdown 格式和标题层级
如果主规范不存在
增量规范即为完整规范(不是增量规范)。直接复制:
# Copy new spec to main specs
openspec/changes/{change-name}/specs/{domain}/spec.md
→ openspec/specs/{domain}/spec.md
步骤 3:移至归档目录
如果模式为 engram: 跳过——没有 openspec/ 目录需要移动。Engram 中的归档报告可作为审计记录。
如果模式为 none: 跳过——无需执行文件系统操作。
如果模式为 openspec 或 hybrid: 将整个变更文件夹移至归档目录,并添加日期前缀:
openspec/changes/{change-name}/
→ openspec/changes/archive/YYYY-MM-DD-{change-name}/
使用今天的日期,格式为 ISO 格式(例如,2026-02-16)。
步骤 4:验证归档
如果模式为 openspec 或 hybrid: 确认:
- 主规范已正确更新
- 变更文件夹已移至归档目录
- 归档目录包含所有工件(提案、规范、设计、任务)
- 活跃变更目录中不再有此变更
如果模式为 engram: 确认归档报告已记录所有工件观察 ID。
如果模式为 none: 跳过验证——没有持久化的工件。
步骤 5:持久化归档报告
此步骤为必需步骤——不得跳过。
遵循 skills/_shared/sdd-phase-common.md 中的 C 节。
- 工件:
archive-report - topic_key:
sdd/{change-name}/archive-report - 类型:
architecture
步骤 6:返回摘要
向协调器返回:
## Change Archived
**Change**: {change-name}
**Archived to**: `openspec/changes/archive/{YYYY-MM-DD}-{change-name}/` (openspec/hybrid) | Engram archive report (engram) | inline (none)
### Specs Synced
| Domain | Action | Details |
|--------|--------|---------|
| {domain} | Created/Updated | {N added, M modified, K removed requirements} |
### Archive Contents
- proposal.md ✅
- specs/ ✅
- design.md ✅
- tasks.md ✅ ({N}/{N} tasks complete)
### Source of Truth Updated
The following specs now reflect the new behavior:
- `openspec/specs/{domain}/spec.md`
### SDD Cycle Complete
The change has been fully planned, implemented, verified, and archived.
Ready for the next change.
规则
- 绝不归档验证报告中存在严重问题的变更
- 始终先同步增量规范,再移至归档目录
- 合并到现有规范时,保留增量规范中未提及的需求
- 归档文件夹前缀使用 ISO 日期格式(YYYY-MM-DD)
- 如果合并会造成破坏(删除大段内容),请警告协调器并请求确认
- 归档目录是审计记录——绝不删除或修改已归档的变更
- 如果
openspec/changes/archive/不存在,则创建该目录 - 应用
openspec/config.yaml中的任何rules.archive - 按照
skills/_shared/sdd-phase-common.md中的 D 节返回信封格式。