skill-cleanerlisted
Install: claude install-skill heyramzi/ai-agency
# Skill Cleaner
A skills registry fails silently. Nothing throws. A malformed name is never
offered, two skills sharing a name quietly become one, and a copy made months ago
keeps answering while the original gets every edit. This finds all of it.
## Run it
The bundled script has no dependencies. Node 20 or later, nothing installed.
```bash
node scripts/skill-cleaner.cjs audit
```
With no arguments it scans the current project, `~/.claude/skills`, and every
installed plugin. Exit code is 1 when errors remain, so it drops into CI.
| Command | What it does |
| --- | --- |
| `audit [roots...]` | Report everything wrong, across every registry |
| `fix [roots...] --apply` | Apply only the repairs with one correct outcome |
| `consolidate [roots...] --apply` | Merge duplicates and overlaps down to one survivor each |
| `adopt <dir> --into <repo> --apply` | Move a homeless skill into a repo, link it back |
Flags: `--json`, `--quiet` (errors only), `--all-runtimes` (also scan
`~/.agents`, `~/.codex`, `~/.opencode`, `~/.gemini`), `--usage <path>`,
`--no-usage`, `--plain`.
Every writing command is a dry run unless you pass `--apply`. Read the dry run
first.
## Reading the output
Full list of check codes and what each one means: [references/checks.md](references/checks.md).
Start with these three, in this order. They are the ones that cost something.
**`duplicate-name`** is the only finding that silently changes behaviour. Two
skills registering the same name means the runti