mcpField
S
sdd-archive

sdd-archive

github.com/gentleman-programmingAgent 工作流1.2k106 次安装31 周前更新
代码仓库

关于 sdd-archive

sdd-archive 是用于 SDD 流程收尾的归档技能,供编排器调用。它将增量规格合并到主规格,并按存储模式保存归档记录或移动变更目录。

主要功能

  1. 01合并增量规格
  2. 02按存储模式处理产物
  3. 03移动变更至归档目录
  4. 04验证归档并保存报告

适用场景

  1. 01完成已验证变更的 SDD 归档
  2. 02将 OpenSpec 增量同步到主规格
  3. 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 节返回信封格式。

评论

支持 Markdown