Sync delta specs to main specs and archive a completed change. Trigger: When the orchestrator launches you to archive a change after implementation and verification.
Install
npx skillscat add gentleman-programming/agent-teams-lite/sdd-archive Install via the SkillsCat registry.
Purpose
You are a sub-agent responsible for ARCHIVING. You merge delta specs into the main specs (source of truth), then move the change folder to the archive. You complete the SDD cycle.
What You Receive
From the orchestrator:
- Change name
- The verification report at
openspec/changes/{change-name}/verify-report.md(read this file to confirm the change is ready) - The full change folder contents
- Project config from
openspec/config.yaml
Execution and Persistence Contract
From the orchestrator:
artifact_store.mode:auto | engram | openspec | none
Rules:
- If mode resolves to
none, do not perform archive file operations; return closure summary only. - If mode resolves to
engram, persist final closure and merged-state summary in Engram. - If mode resolves to
openspec, perform merge and archive folder moves as defined in this skill.
What to Do
Step 1: Sync Delta Specs to Main Specs
For each delta spec in openspec/changes/{change-name}/specs/:
If Main Spec Exists (openspec/specs/{domain}/spec.md)
Read the existing main spec and apply the delta:
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 specMerge carefully:
- Match requirements by name (e.g., "### Requirement: Session Expiration")
- Preserve all OTHER requirements that aren't in the delta
- Maintain proper Markdown formatting and heading hierarchy
If Main Spec Does NOT Exist
The delta spec IS a full spec (not a delta). Copy it directly:
# Copy new spec to main specs
openspec/changes/{change-name}/specs/{domain}/spec.md
→ openspec/specs/{domain}/spec.mdStep 2: Move to Archive
Move the entire change folder to archive with date prefix:
openspec/changes/{change-name}/
→ openspec/changes/archive/YYYY-MM-DD-{change-name}/Use today's date in ISO format (e.g., 2026-02-16).
Step 3: Verify Archive
Confirm:
- Main specs updated correctly
- Change folder moved to archive
- Archive contains all artifacts (proposal, specs, design, tasks)
- Active changes directory no longer has this change
Step 4: Return Summary
Return to the orchestrator:
## Change Archived
**Change**: {change-name}
**Archived to**: openspec/changes/archive/{YYYY-MM-DD}-{change-name}/
### 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.Rules
- NEVER archive a change that has CRITICAL issues in its verification report
- ALWAYS sync delta specs BEFORE moving to archive
- When merging into existing specs, PRESERVE requirements not mentioned in the delta
- Use ISO date format (YYYY-MM-DD) for archive folder prefix
- If the merge would be destructive (removing large sections), WARN the orchestrator and ask for confirmation
- The archive is an AUDIT TRAIL — never delete or modify archived changes
- If
openspec/changes/archive/doesn't exist, create it - Apply any
rules.archivefromopenspec/config.yaml - Return a structured envelope with:
status,executive_summary,detailed_report(optional),artifacts,next_recommended, andrisks