skills-doctor
Diagnose skill DELIVERY health for the current session: name the surface, diff the expected set in skills.lock against what actually loaded (the session's own skill listing, ~/.claude/skills/, the account synced/manifest.json, claude plugin list), attribute every skill to the registry and bundle it came from by reading the bootstrap hook's own install record rather than guessing, and flag silent shadowing, account-store staleness, dangling payload references, and always-on context cost. Reports only — it never installs, copies, deletes or repairs anything. Use when a skill you expected is missing or won't trigger, when a repo-owned skill looks overridden, when the session-start skills: verdict reads DEGRADED, when you need to know where a skill came from or whether the hook installed it, or when the user says "why didn't that skill load", "which skills do I actually have", "is my registry stale", "audit my skills", "skills doctor".
- Compatibility
- Claude Code only. Reads ~/.claude/skills, the account synced/ store and the `claude plugin` CLI, none of which exist in other agent harnesses. Needs the registry checked out locally to compare against; everything else is observation of the running session.
Pinned to revision 959d139dbba3, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/skills-doctor/SKILL.md
- skills/skills-doctor/scripts/check_provenance.py
- skills/skills-doctor/scripts/test_check_provenance.py
Every link opens the file at its source, pinned to the revision this page describes.