← ClaudeAtlas

dedup-skillslisted

Use when asked to deduplicate skills or prompt directories, find repeated rules, or check a skill tree for contradictions. Produces a read-only ledger classifying every repetition cluster and conflict candidate with evidence and zero unclassified cells.
OutlineDriven/odin-claude-plugin · ★ 35 · AI & Automation · score 79
Install: claude install-skill OutlineDriven/odin-claude-plugin
# Dedup skills ## Contract | Field | Bound contract | |---|---| | Trigger | User asks to deduplicate skills/prompts, find repeated rules, or check a skill tree for contradictions. | | Authority | Read-only: scans a markdown skill/prompt tree and emits a chat ledger. No file, VCS, credential, paid, published, deployed, or remote mutation. | | Side effect | Produces a repetition/conflict ledger in chat; leaves the scanned tree untouched. | | Done | Every repetition cluster and conflict candidate is classified repeat/conflict/intentional-keep/not-a-finding, with totals, evidence, and zero unclassified cells. | ## Inputs - Target tree path (default `skills/`). A prompt-directory tree may be supplied instead. - The tree's LICENSES/NOTICE/attribution file, if present, is read in full before scanning. ## Procedure 1. **Vendored set.** Read the tree's LICENSES/NOTICE/attribution file in full before any scan. Enumerate every vendored or license-covered path. Report findings inside vendored paths with a vendored annotation and never propose them for deletion. Exclude the attribution file itself from the scan because it is a registry, not prompt content. Done when: every vendored or license-covered path is enumerated and the attribution file is excluded from the scan. 2. **Cluster pass.** Run a mechanical script over all markdown in the tree. Strip YAML frontmatter first. Frontmatter is load-bearing routing data, never a dedup target, and must not enter the scan. Segment the text