claude-config-metrics-self-analysislisted
Install: claude install-skill skowalskidev/dotclaude
# Self-analyse the dotclaude config from real usage metrics
The premise: the config has ~80 parts and no one knows which actually get used. This reads the
dotclaude store, scores every part, and — for the dead and underused ones — decides the FIX
that would make them get used. It proposes; it never edits. Every change routes through
`/sk:claude-config-update`.
**The governing rule: a dead part is a broken TRIGGER, not a worthless idea.** The default action is
to repair the trigger so the part gets used, NEVER to remove it. Removal is a rare last resort, only
when the intention itself is genuinely obsolete, proposed explicitly. This is `rules/self-healing-config.md`'s
insight, now driven by data instead of a sample of one.
## Method
1. **Generate the scoreboard.** Run the aggregator under the metrics venv:
```bash
~/.config/claude-metrics-venv/bin/python ~/.claude/bin/config-metrics.py --html
```
It loads the canonical parts list from `contracts/config_contracts.py` (so a newly-added part is
always included), reads usage from the store, scores two-axis, writes `aggregates/latest`, and
writes the HTML console. If it says no project is reachable, stop and point at
`references/dotclaude-setup.md`.
2. **Read the two axes, not the count alone.** A part is `dead` only when it is BOTH unreachable AND
unused. A reachable part with zero usage is an `instrumentation-gap` (suspected) or `new/unmeasured`
(added recently), never dead. Denial rates carry a Wi