agentleFS
HurricaHjzHurricaHjz/SecondSelf/.claude/skills/attic/SKILL.md

attic

Skill156 starsChanged 32 days agoMITView on GitHub

Archive vault files into attic/ cold storage, or restore them — the executable runbook for the CLAUDE.md §2.1 contract. Use ONLY on an explicit user instruction: /attic, "archive X to the attic", "retire these files", "restore Y from the attic", "what's in my attic?". NEVER runs automatically — not from IDEAS.md, and a deep-lint suggestion becomes actionable only when the owner issues it. Handles one file or a batch (a closed project or campaign): inbound-reference census, harvest of future-useful facts into surviving pages, an owner-approved preview, move + manifest, a plain-text link sweep, index/log/qmd upkeep, and a control-verified final check. Census-scoped reads — never a full-vault pass.

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Before anything moves, read each candidate wiki page and fold facts with future value into the surviving graph: status/outcome facts → the …

    line 47
  2. Distinctive:

    Run with §11 positive controls.

    line 80
  3. Very specific:

    no live-wiki links into attic paths: grep -rF "[[<subfolder>/" wiki = 0.

    line 85
  4. Very specific:

    Read attic/MANIFEST.md (this instruction is the sanctioned read).

    line 97
  5. Distinctive:

    Read the manifest back to the owner.

    line 104
  6. Distinctive:

    A zero-findings check is a claim: every probe carries a positive control (CLAUDE.md §11).

    line 113
  7. Very specific:

    Never edit archived file contents.

    line 114

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

attic — cold-storage archive & restore (§2.1, executed)

Contract

CLAUDE.md §2.1 stays the governing text: the attic is explicit-instruction-only, its contents are never knowledge, and outside this operation it stays unread. This skill adds procedure only — it can never relax a permission. Never edit the contents of an archived file, in either direction.

Triggers

/attic archive <files|folder|topic> · /attic restore <item> · /attic list · natural language ("archive the X project to the attic", "retire these files", "what's in my attic?"). Passive context (an @-mention, an editor selection, IDEAS.md) never triggers it.

Archive pipeline

0 — Scope

Resolve the instruction to a concrete candidate list: explicit paths, a folder, or a topic located via index.md + targeted grep. Wiki pages, output/ deliverables and assets/ files all qualify. raw/ stays out of scope unless the owner names it — the source layer is already immutable cold storage, and archived pages' sources: may keep pointing at it (attic→outside links are allowed).

1 — Census (read-only)

For every candidate, find inbound references with BOTH pattern families — missing the second family is the known failure mode (deliverables are often cited as backticked paths, not links):

  • wikilinks: grep -rF "[[<basename>" --include='*.md' wiki (catches ]], |, #, ![[);
  • plain paths: grep -rF "<origin/path>" plus the bare filename, across wiki/. Also scan MANUAL.md, README.md, output/ (report-only surfaces). Classify every hit: live wiki (must sweep) · co-candidate (link stays — attic-internal edges are by design) · wiki/log.md (append-only history, never swept). Positive control (§11): the same probe against a known-linked live page must return >0 before any "no inbound references" claim. Also check each basename against raw/ and wiki/ for name collisions — this drives the manifest link form.

2 — Harvest gate

Before anything moves, read each candidate wiki page and fold facts with future value into the surviving graph: status/outcome facts → the relevant synthesis or campaign page; durable programme/route/organisation facts → entity pages; reusable personal material (approved bios, standing decisions) → wiki/user/. New knowledge only — never duplicate what survivors already hold. Deliverables (output/assets) are skimmed for the same purpose, not compiled. Every harvest edit is listed in the preview.

3 — Preview & approval (mandatory gate)

Present the full table — file · origin · one-phrase reason · harvest destination(s) · sweep scale — and WAIT for the owner's go. No file moves before approval, however obvious the case.

4 — Move

Batches get a thematic subfolder (attic/<topic-year>/, e.g. funding-2026/); singletons go to the attic root (the standing convention). Move folders intact; quote every path (spaces, apostrophes). path:attic/ graph colouring covers subfolders automatically.

5 — Manifest

Append to attic/MANIFEST.md, newest-first, ONE line per file: - [YYYY-MM-DD] <link-or-path> — from origin/ — one-phrase reason. .md files → path-prefixed wikilink [[<subfolder>/<name>]] (unambiguous under basename collisions; gives the grey graph edge). Non-Markdown → a backticked path (an unresolvable wikilink is worse than none). Reasons name where harvested facts now live, so a future restore knows what already survived. The manifest is written only inside this operation.

6 — Sweep

Replace every live-wiki inbound reference with plain text: first occurrence per file X (archived), later occurrences the plain title; reword where a sentence needs it. Co-candidate links stay; wiki/log.md is never rewritten. §4.4 guard: every edited page keeps ≥1 wikilink — if a sweep would orphan a page, substitute a link to the harvest destination. Remove the candidates' index.md entries and refresh index descriptions that named them. Bump updated: only where knowledge changed — a pure link swap is not a knowledge update.

7 — Guarded verify (before the log is written)

Run with §11 positive controls; write the log and refresh qmd ONLY when all pass:

  • per-candidate link probe over live wiki (excl. log.md) = 0, using the exact link forms "[[<b>]]" "[[<b>|" "[[<b>#" "/<b>]]" "/<b>|" · control on a kept page name > 0;
  • per-candidate path probe = 0 · control on a kept working-file path > 0;
  • index.md clean of candidates · control on a kept entry > 0;
  • no live-wiki links into attic paths: grep -rF "[[<subfolder>/" wiki = 0;
  • orphan guard: every swept page still contains [[;
  • moved-file count = manifest-line delta; origin folders hold no candidate remnants; raw/ untouched (find raw -type f -newermt "<op start>" empty). Residues are findings, not embarrassments: fix, re-run the probe, and report them honestly.

8 — Registries

Append one attic entry to wiki/log.md (shell append, never Read+Edit) naming: harvest edits, swept pages, moves, manifest delta. The qmd refresh applies per the qmd-search contract (turn-end hook where installed, inline only where not) — archiving removes pages, which that refresh must see.

Restore pipeline

  1. Read attic/MANIFEST.md (this instruction is the sanctioned read); locate the item + origin.
  2. Move the file back (recreate the origin folder if needed); delete its manifest line.
  3. Wiki page → re-register in index.md (fresh one-liner from the page); then offer to re-link the plain-text mentions (grep -rF "<name> (archived)" wiki) — the owner picks which go live again.
  4. Append an attic log entry; qmd refresh if active.

/attic list

Read the manifest back to the owner. Nothing else in the attic is opened.

Report format

Compact table: moved/restored (count + destination) · harvested (fact → surviving page) · swept (pages / links) · verify results (each probe with its control). British/UK English.

Hard constraints

  • Explicit user instruction only; the Step-3 preview gate is never skipped.
  • Census-scoped reads — never a full-vault re-read; token discipline throughout.
  • A zero-findings check is a claim: every probe carries a positive control (CLAUDE.md §11).
  • Never edit archived file contents; never sweep co-candidates or log.md history.
  • deep-lint SUGGESTS candidates (as ready /attic archive … lines); only the owner's word runs them.

Download now (ZIP)

  • Other versions2 projects use a version of this.

    Word for word · 1

    1. HurricaHjz/second-yourself★ 105100% same

    Edited · 0

    None found.

    Wrote their own version · 1

    1. NishikantaRay/Attic★ 5same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository13 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.