attic-prune · v1.2.1 · 2026-09-06 · sha256 cdb520add11b6828
attic-prune v1.2.1A
Immutable. This exact content is served forever at /api/v1/blob/cdb520add11b6828.
---
name: attic-prune
description: >
Find stale attic items and archive them. Use when the user says "prune the
attic", "the attic is getting big", "clean up old items", or "archive old
findings". This is about the ATTIC's own contents, never about cleaning up
source code.
version: 1.2.1
license: MIT
---
# Prune the attic
First, in the same shell command as anything below, locate the script:
```bash
ATTIC_JS=$(ls -d "${CODEX_HOME:-$HOME/.codex}"/plugins/cache/attic/attic/*/skills/attic/scripts/attic.js "${CODEX_HOME:-$HOME/.codex}"/skills/attic/scripts/attic.js "$HOME"/.agents/skills/attic/scripts/attic.js .agents/skills/attic/scripts/attic.js 2>/dev/null | sort -V | tail -1)
```
```bash
node "$ATTIC_JS" prune $ARGUMENTS
```
**Dry run is the default.** The command lists candidates and moves nothing
until `--apply` is passed.
1. Run it without `--apply` first, always. Show the candidate list.
2. Archiving is not deletion: items move to `.attic/archive/`, stay
recallable by `/attic-recall`, and simply stop being injected. Say this,
because "prune" sounds destructive and users hesitate.
3. Ask for confirmation before `--apply`. Never apply in the same turn the
user first mentions pruning, unless they explicitly said to go ahead.
4. Pinned items are skipped automatically. Report how many were skipped.
5. Restore anything with
`node .../attic.js archive <slug> --restore`.
Defaults to items older than 90 days. `--kind output` is the safest filter,
since stale command output ages worst.
Never delete an item file. Never pass `--apply` without the user having seen
the candidate list.