From example-skills
Detects stale citations, missing files, and orphan plans across CLAUDE.md and memory files; classifies findings and emits proposed diffs. Use when memory claims drift from on-disk reality.
How this skill is triggered — by the user, by Claude, or both
Slash command
/example-skills:artifact-resurfacingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.mdnpx claudepluginhub a-organvm/a-i--skills --plugin document-skillsProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.