skill-auditlisted
Install: claude install-skill alexio777/learn-on-the-job
# Skill Audit
**Repair** half of the learn-on-the-job loop. `distill-skill` mints skills; this skill
stops them **rotting**. A stale skill is worse than no skill — it auto-loads a wrong map.
**Target:** skill name = one skill; empty = all repo-local skills.
| Flag | Meaning |
|------|---------|
| `--report-only` | Never write (default for multi-skill runs) |
| `--fix` | Safe mechanical fixes only, after the report |
| `--changed-since <ref>` | Only skills whose sources changed since `<ref>` |
## Hard principle
**Audit detects; distill re-verifies.** Cheap and non-destructive by default.
With `--fix`, only: lint, tighten over-broad descriptions, and user-confirmed PRUNEs.
Content refresh → print `distill-skill <name>`, never silent body rewrite.
## Ledger
Sidecar: `.agents/distill-skill-ledger.json` and/or `.claude/distill-skill-ledger.json`.
Schema: [../distill-skill/references/ledger-schema.md](../distill-skill/references/ledger-schema.md).
Missing ledger → infer `source_of_truth` from cited paths; full re-check. Never trust
ledger over a live file.
## Procedure
### 1. Inventory
Glob `.agents/skills/*/SKILL.md` and `.claude/skills/*/SKILL.md`. Load matching ledgers.
User-global skill dirs: read-only, overlap only. Same name in two project trees → overlap flag.
### 2. Lint
Broken frontmatter · `name` ≠ directory · generic description · lines >120 warn / >160 split.
These are `--fix`-safe.
### 3. Drift (core)
Resolve `source_of_truth` (ledger, else body paths)