Skip to content
Back to skills

Dx Archive

ASecurity

Archive a completed change or effort — move its folder to context/archive/ and stamp it archived.

  • 8 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 4, 2026
ai-agentsrustgogit

Security analysis

A100/100

Scanned October 7, 2026

npx -y skills add dikamilo/dx-workflow --skill dx-archive --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dx Archive?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dx Archive
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dikamilo-dx-archive/badge)](https://www.skillsdirectory.com/skills/dikamilo-dx-archive)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dx-archive
description: Archive a completed change or effort — move its folder to context/archive/ and stamp it archived.
argument-hint: [change-id or effort-id]
---

# dx-archive

Retire a finished container. One id in, one folder moved, one stamp written. No registry — the archive is just where done work lives.

**Guard.** If the id resolves to nothing, or the folder can't move cleanly, do nothing and say why. Never half-move.

## Resolve

The argument is one id. Find its home:

- `context/changes/<id>/` → it's a **change**.
- `context/efforts/<id>/` → it's an **effort**.
- Neither, or both → **fail loud**: print what you looked for and stop. (Already under `context/archive/`? Say it's already archived.)

## Effort gate — children first

An effort is done only when **every child change is already archived**. Before moving an effort, read its `roadmap.md`, and for each linked child change check for `archived_at` (derive it — scan the child's `change.md`, don't trust a checkbox). If any child is still open, **list them and ask** before continuing. The user may override.

## Review gate — unresolved findings

Scan every `reviews/*.md` in the container except the legacy `impl-review.md` and `plan-review.md`, which triage no longer reads. For each report with any finding marked `Resolution: PENDING`, warn — "N unresolved finding(s) in reviews/<policy-id>.md — /dx-review-triage <id> <policy-id> to address them first" — and ask whether to archive anyway. The user may override.

## Move and stamp

1. Destination: `context/archive/<today>-<id>/` where `<today>` is `date +%F`. If it already exists, fail loud and stop.
2. Stamp the moved container's `change.md` (or `effort.md`): set `status: archived` and `archived_at:` to today's date (`date +%F`, same format as `created`/`updated` — no other field in the schema carries a finer timestamp); bump `updated:`. Leave every other field alone. For the exact schema, invoke `dx-references` with topic `change-md` (a change) or `effort-md` (an effort).
3. Move the whole folder: prefer `git mv` so history follows; fall back to `mv` (warn) if git is unavailable. Confirm the source is gone and the destination exists — if not, print a diagnostic and stop.

## Done when

The folder lives at `context/archive/<today>-<id>/`, its identity file reads `status: archived` with `archived_at` set, and nothing remains under the old path. Print:

```
✓ Archived <id> → context/archive/<today>-<id>/
```

If it was an effort, add one line noting how many child changes it closed. Then suggest a next step (`/dx-new <idea>` to start fresh) and stop. Do not chain.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.