Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add Maicololiveras/praxisgenai-agent-orchestrator --skill "sdd-archive"
Install specific skill from multi-skill repository
# Description
>
# SKILL.md
name: sdd-archive
description: >
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.
license: MIT
metadata:
author: gentleman-programming
version: "2.0"
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
- Artifact store mode (engram | openspec | hybrid | none)
Execution and Persistence Contract
Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
- If mode is
engram:
Read ALL artifacts (two-step for each β search returns truncated previews):
1. mem_search(query: "sdd/{change-name}/proposal", project: "{project}") β get ID
2. mem_get_observation(id: {id}) β full proposal
3. mem_search(query: "sdd/{change-name}/spec", project: "{project}") β get ID
4. mem_get_observation(id: {id}) β full spec
5. mem_search(query: "sdd/{change-name}/design", project: "{project}") β get ID
6. mem_get_observation(id: {id}) β full design
7. mem_search(query: "sdd/{change-name}/tasks", project: "{project}") β get ID
8. mem_get_observation(id: {id}) β full tasks
9. mem_search(query: "sdd/{change-name}/verify-report", project: "{project}") β get ID
10. mem_get_observation(id: {id}) β full verification report
Record all observation IDs β include them in the archive report for full traceability.
Save your artifact:
mem_save(
title: "sdd/{change-name}/archive-report",
topic_key: "sdd/{change-name}/archive-report",
type: "architecture",
project: "{project}",
content: "{your archive report with all observation IDs for lineage}"
)
topic_key enables upserts β saving again updates, not duplicates.
(See skills/_shared/engram-convention.md for full naming conventions.)
- If mode is openspec: Read and follow skills/_shared/openspec-convention.md. Perform merge and archive folder moves.
- If mode is hybrid: Follow BOTH conventions β persist archive report to Engram (with observation IDs) AND perform filesystem merge + archive folder moves.
- If mode is none: Return closure summary only. Do not perform archive file operations.
What to Do
Step 1: Load Skill Registry
Do this FIRST, before any other work.
- Try engram first:
mem_search(query: "skill-registry", project: "{project}")β if found,mem_get_observation(id)for the full registry - If engram not available or not found: read
.atl/skill-registry.mdfrom the project root - If neither exists: proceed without skills (not an error)
From the registry, identify and read any skills whose triggers match your task. Also read any project convention files listed in the registry.
Step 2: 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 spec
Merge 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.md
Step 3: 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 4: 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 5: Persist Archive Report
This step is MANDATORY β do NOT skip it.
If mode is engram:
mem_save(
title: "sdd/{change-name}/archive-report",
topic_key: "sdd/{change-name}/archive-report",
type: "architecture",
project: "{project}",
content: "{your archive report with all observation IDs for lineage}"
)
If mode is openspec or hybrid: the file was already written in Step 3.
If mode is hybrid: also call mem_save as above (write to BOTH backends).
Step 6: 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
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.