distributions/claude/skills/artifact-resurfacing/SKILL.md
Four-phase protocol for clearing accumulated drift between memory claims, CLAUDE.md citations, and on-disk reality. Detects stale citations, missing files, and orphan plans; classifies findings; emits proposed diffs; codifies prevention. Companion to closeout (closeout discovers orphans; this skill polishes them). Discovery ≠ remediation — Phase 3 emits proposed diffs only; constitutional doc edits require explicit conductor authorization.
npx skillsauth add organvm-iv-taxis/a-i--skills artifact-resurfacingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Open the drift on the table. Surface the buried artifacts — stale citations, missing referenced files, orphan plans, cross-scope memory entries pointing at paths that moved. Polish them in proposal form. Codify the lesson so the next session does not have to re-discover the same drift.
This skill is propose-not-apply for any constitutional surface. It produces drift tables, edit diffs, and IRF row proposals. It does not commit edits to CLAUDE.md, MEMORY.md, governance-rules.json, registry-v2.json, or any seed.yaml without explicit conductor authorization in the same session.
closeout. This skill does not assign DONE-NNN / IRF-XXX-NNN labels; it surfaces orphans for closeout's classifier.consolidate-memory for memory file mutations. This skill emits proposed memory diffs.cross-agent-handoff. This skill writes the polish-log entry; handoff carries it forward.qa-audit.Discovery ≠ remediation. The skill finds and proposes. The conductor applies.
MEMORY.md walkback flags ≥1 stale path citationfind for a CLAUDE.md-cited path returns zero resultsEnumerate the domain's surface. For a target CLAUDE.md or MEMORY.md, extract every:
~/-anchored)foo.py, bar(), --flag)IRF-XXX-NNN, DONE-NNN, GH#123)~/.claude/plans/*.md referenced by path)Run the citation audit:
bash scripts/audit-citations.sh <path-to-CLAUDE.md>
The script emits one JSONL record per citation: {cited, kind, exists, found_at, status}. A path is present if test -f (or test -d) succeeds. It is stale if a different path on disk holds the same canonical content (e.g., the institution moved from ~/Workspace/... to ~/Code/...). It is missing if no candidate path holds the artifact.
Run the orphan-plan scan:
bash scripts/find-orphan-plans.sh [glob]
Default glob is ~/.claude/plans/*.md. Output: one JSONL record per plan, with {path, mtime, has_done_ref, has_irf_ref, has_delivered_research_marker}. Plans lacking all three markers are orphan candidates.
Surface a four-column finding table to the user before classifying:
| artifact | cited-at | status | candidate-action | |---|---|---|---| | ... | ... | present | stale | missing | orphan | (proposed action, no execution yet) |
For each finding, assign one class:
(planned — not yet written, YYYY-MM-DD)) rather than reconstruction.closeout's classifier (EXECUTED / IN-PROGRESS / ABANDONED / DELIVERED-RESEARCH). This skill does not assign closure labels.For ambiguous classifications, surface the finding to the conductor and stop. Universal Rule #21 ("Do what is asked — never preempt") applies.
See references/buried-bodies-taxonomy.md for the full taxonomy with worked examples.
For each classified finding, generate a polish artifact. Never write directly to constitutional files. Emit diffs and proposals instead.
For stale citations, run the proposer:
python3 scripts/propose-citation-fix.py \
--file <path-to-CLAUDE.md-or-memory-file> \
--stale-path <wrong-path> \
--canonical-path <correct-path>
Output: a unified diff to stdout. The conductor reviews and applies (or rejects) the diff via Edit. The script never writes the file itself.
For missing-probably-never-written, emit a one-line annotation diff:
- See ~/path/to/cited-but-missing.md for details.
+ See ~/path/to/cited-but-missing.md for details (planned — not yet written as of YYYY-MM-DD).
For missing-but-lost, emit the deep-search command set first:
find /Users/4jp -name "<artifact-name>*" 2>/dev/null | grep -v node_modules
grep -rl "<artifact-keyword>" ~/.claude/projects/*/memory/*.md 2>/dev/null
grep -rl "<artifact-keyword>" ~/Code/organvm/praxis-perpetua/prompt-corpus/ 2>/dev/null
If the search returns hits, the finding reclassifies as stale-citation and the citation-fix proposer runs. If the search returns zero hits across the deep corpus, the finding reclassifies as probably-never-written and the annotation diff applies.
For orphan plans, hand the plan path to closeout with a classification request. Do not move plans to abandoned/ from this skill — closeout owns that decision.
See references/constitutional-doc-policy.md for the full rule set on what may/may not be auto-edited.
Polishing one drift instance is tactical. Codifying so the next drift self-corrects is strategic.
For each polished finding, append an entry to a polish-log.md in the affected repo's root (create if absent):
## YYYY-MM-DD — <one-line summary>
- **Artifact**: <cited-path-or-id>
- **Class**: stale-citation | missing-never-written | missing-lost | orphan-plan
- **Finding**: <what was wrong>
- **Action**: <what was proposed; "applied" or "deferred-to-conductor">
- **Authorization**: <session-id-and-approver, or "pending">
- **Codification**: <what's been added to prevent recurrence, or "none yet">
Then check for compound patterns:
CLAUDE.md autogen footer (under <!-- ORGANVM:AUTO:START --> sentinels) to assert the canonical path. The next organvm refresh will re-write it, making the truth periodic rather than ad-hoc.closeout's SKILL.md so the class is auto-recognized in future sessions.reference_<topic>_canonical_path.md memory at the workspace scope so all sibling scopes can grep-find one truth.Emit one IRF row proposal per unresolved finding (Universal Rule #1: N/A = vacuum). Format:
- id: IRF-<DOMAIN>-<NNN> # next available
title: "<artifact>: <class> drift surfaced in session <id>"
status: open
domain: <domain-code>
surfaced_by: artifact-resurfacing
resurfacing_session: <session-id-or-date>
action_required: <one line>
authorization_required_from: conductor
The IRF row is a proposal. Writing it into INST-INDEX-RERUM-FACIENDARUM.md requires conductor authorization (Universal Rule #21).
CLAUDE.md, MEMORY.md, governance-rules.json, registry-v2.json, or any seed.yaml without same-session conductor authorizationcloseout's job)~/.claude/plans/abandoned/ (also closeout's job)scripts/audit-citations.sh — citation audit; emits {cited, kind, exists, found_at, status} JSONLscripts/find-orphan-plans.sh — orphan-plan scan; emits {path, mtime, has_done_ref, has_irf_ref, has_delivered_research_marker} JSONLscripts/propose-citation-fix.py — propose-only unified diff for stale citation rewritesreferences/buried-bodies-taxonomy.md — the four classes with worked examples from this skill's genesis sessionreferences/composition-with-closeout.md — how this skill chains with /closeout (closeout discovers; this polishes)references/constitutional-doc-policy.md — the propose-not-apply rule setexamples/2026-05-17-praxis-perpetua-resurfacing.md — the genesis case: praxis-perpetua moved from ~/Workspace/meta-organvm/ to ~/Code/organvm/, leaving stale citations in pipeline CLAUDE.md + memory and three referenced-but-missing 2026-03-15 papers. The session that built this skill is the case study.CLAUDE.md "Academic & Institutional Context" block in the same session that discovered it was stale (discovery ≠ remediation — surface, do not silently fix)MEMORY.md, each is independently mutable, all need their own proposed-diff-v2 revisions when polish requires content change.Drift between memory claims, CLAUDE.md citations, and on-disk reality is the entropy of a multi-session, multi-scope, multi-repo workflow. Sessions name artifacts; artifacts move; sessions end; memory persists the old name; the next session re-discovers the same drift. Without a ritual, drift compounds until the system's self-description no longer matches the system.
The genesis session (2026-05-17) found four classes of drift in one domain (the institutional-authority / SGO / praxis-perpetua surface). Closeout caught the four as "follow-ups"; this skill exists to give those follow-ups a protocol instead of an ad-hoc fix-or-defer decision.
Pairs with closeout (which surfaces) and consolidate-memory (which prunes). Three skills, one entropy regime.
~/.claude/plans/where-on-my-local-enchanted-meerkat.md — genesis plan, Phase 2 section~/.claude/plans/closeout-2026-05-17-plugin-surface-reconciliation.md — genesis closeout~/.claude/plans/2026-05-17-handoff-plugin-surface-reconciliation.md — genesis handoffreferences/buried-bodies-taxonomy.md, references/composition-with-closeout.md, references/constitutional-doc-policy.mddevelopment
Optimize resumes and CVs for impact, ATS compatibility, and audience targeting. Supports multiple formats (chronological, functional, hybrid), accomplishment framing (STAR/XYZ), and tailoring for specific roles. Triggers on resume review, CV update, job application prep, or career document requests.
testing
Transfer context between AI agent sessions with structured handoff protocols, state serialization, and decision log preservation. Covers multi-agent coordination, context compression, and continuity patterns. Triggers on agent handoff, session transfer, or multi-agent continuity requests.
tools
Craft compelling fiction and creative nonfiction with attention to structure, voice, prose style, and revision. Supports short stories, novel chapters, essays, and hybrid forms. Triggers on creative writing, fiction writing, story craft, prose style, or literary technique requests.
devops
Transform AI conversations and chat transcripts into publishable content including blog posts, documentation, tutorials, and knowledge base entries. Covers extraction, restructuring, and editorial refinement. Triggers on conversation-to-content, transcript processing, or chat-to-doc requests.