{"id":21025,"plugin_id":"plugins_6aabf17d723481919bf6d18cd917fa77","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:16:44.716Z","digest":"8f547fea1b808b85460979de9e76e47ce77f8cac6b840378cb444e523d53cfc0","against":null,"payload":{"description":"Use when inspecting a persistent project or Library to determine canonical locations, file roles, memory ownership, references, duplicates, stale state, evidence completeness, or the safe target state before mutation.","included_files":[],"name":"auditing-persistent-state","skill_md_contents":"---\nname: auditing-persistent-state\ndescription: Use when inspecting a persistent project or Library to determine canonical locations, file roles, memory ownership, references, duplicates, stale state, evidence completeness, or the safe target state before mutation.\n---\n\n# Auditing Persistent State\n\n## Purpose\n\nEstablish observed truth before consequential mutation. An audit is read-only unless repair/organization was also requested.\n\n## Scope and roles\n\nInventory the exact authoritative surface and requested scope, then classify items as `CANONICAL`, `SUPPORT`, `REFERENCE`, `ARCHIVE`, `TEMPORARY`, `UNCLASSIFIED`, or `TRASH`. Never classify from filename/age alone when content or references matter.\n\nCheck roots, memory chain, competing canons, broken routes, incoming references, successors, and competing copies across surfaces.\n\n## Evidence completeness\n\nAn inventory is complete only when the tool proves the requested scope was exhausted. If a response is **truncated**, says it may be a **partial listing**, exposes **pagination** or a **next cursor**, follow it until exhausted when the conclusion depends on absence/completeness.\n\nIf complete coverage cannot be established, label the conclusion **INCOMPLETE EVIDENCE**. A zero-result search or stale index does not prove absence when direct list/read is available. Do not perform destructive cleanup based on incomplete evidence.\n\n## Output contract\n\nSeparate observed facts, inferred roles, and unresolved assumptions. `UNCLASSIFIED` stays non-destructive. If memory is inconsistent, use `repairing-memory-state`; if target state is proven and structural mutation is requested, use `organizing-persistent-files`.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}