Close a completed SDLC change - confirm every required gate is satisfied, merge its delta specs into the living specs via OpenSpec archive, and capture learnings (evals, CLAUDE.md/AGENTS.md rules, follow-up intents). Use when the user asks to archive, finish, or close a change.
Installs into .claude/skills of the current project.
Are you the author of Archive?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/marin-ai-tech-archive)
---
name: archive
description: Close a completed SDLC change - confirm every required gate is satisfied, merge its delta specs into the living specs via OpenSpec archive, and capture learnings (evals, CLAUDE.md/AGENTS.md rules, follow-up intents). Use when the user asks to archive, finish, or close a change.
argument-hint: "[change-id]"
license: "PolyForm-Noncommercial-1.0.0 with sdlc Additional Permissions, or sdlc Commercial License (https://github.com/marin-ai-tech/sdlc)"
compatibility: Requires the sdlc CLI (sdlc) from the sdlc package.
allowed-tools: Bash(sdlc *)
metadata:
author: marin-ai technologies
version: "1"
generatedBy: "sdlc 0.23.7"
---
Close the change: the delta specs become the new source of truth, and what was learned feeds the next loop.
**Harness contract** (applies to every SDLC workflow)
- `sdlc` is the source of truth for lifecycle state. Read it (`sdlc status --change <id> --json`) instead of inferring the stage from the conversation, and re-read artifacts from disk before using them.
- Gates are human decisions. Never run `sdlc approve`, `sdlc reject`, `sdlc waive` or `sdlc tests unlock`, and never edit `.sdlc.yaml`. When a gate needs a person, stop, name the people from the hint (`next.people` in `sdlc next --json`) rather than the role, and give them the exact command to run in their own terminal.
- An answer in chat is never an approval: gate approvals, `track set`, `backlog move`/`drop` and other human decisions happen only as a command the person runs in their own terminal. Offer the choice, explain the consequences, and give the exact command.
- OpenSpec is the specification subsystem: `sdlc openspec <args>` runs the bundled OpenSpec CLI (`list --specs`, `show`, `validate`, `instructions`). Change folders live in `openspec/changes/<id>/`.
- **Change selection**: use the change named in the input. Otherwise run `sdlc status --json`; with exactly one active change use it, with several ask which one. Announce "Using change: <id>".
- **Language**: talk to the person, and write notes and artifacts, in the person's language; when `locale:` is set in `openspec/sdlc.yaml`, use that language. Keep command names, file names, ids and the template headings as they are (sdlc and OpenSpec parse those headings).
- End every workflow with the next step from `sdlc next --json` (the exact command when a person must act).
**Input**: the user's request (a change id, or a description of the work)
**Steps**
1. **Check the gates.** `sdlc status --change <id> --json`. Every required gate must be satisfied. If one is not, report which, who owns it, and stop.
2. **Archive**: `sdlc archive <id> --yes`. The harness re-checks the gates, runs its pre-merge delta checks, then delegates to `openspec archive` - ADDED/MODIFIED/REMOVED/RENAMED requirements merge into `openspec/specs/` and the folder moves to `openspec/changes/archive/YYYY-MM-DD-<id>/` with its full audit trail (intent, spec, plan, evidence, review, approvals).
3. **Report** which specs changed (the archive totals) and any warnings.
4. **Close the loop** - propose, do not silently apply:
- a regression eval or test for a bug fix or incident, so the class of failure stays caught
- CLAUDE.md / AGENTS.md rules for mistakes that happened twice during this change
- follow-up intents for scope that was deferred (`/sdlc:intent`)
<!--
Generated by sdlc 0.23.7 (https://github.com/marin-ai-tech/sdlc).
Required Notice: Copyright (c) 2026 marin-ai technologies (https://github.com/marin-ai-tech/sdlc)
License: PolyForm Noncommercial 1.0.0 (https://polyformproject.org/licenses/noncommercial/1.0.0) with the sdlc Additional Permissions, or a commercial license; see https://github.com/marin-ai-tech/sdlc
-->