skilldoctorlisted
Install: claude install-skill gulmezeren2-byte/claude-skills-doctor
# skilldoctor
A read-only, deterministic health check over every skill and slash-command Claude Code
loads. It answers the one question the agent cannot answer about itself: *is this skill
even visible to me?*
## Run it
```bash
uvx claude-skills-doctor # full check; exits non-zero if there are errors
uvx claude-skills-doctor --fix # same, plus a concrete fix under each finding
uvx claude-skills-doctor budget # the budget bar + the biggest descriptions to trim
uvx claude-skills-doctor --json # machine-readable, for parsing
```
State check first: if `uvx` is missing, use `pip install claude-skills-doctor` and run
`skilldoctor` instead. The tool only reads files — it never edits a skill, and makes no
network or model calls, so it is always safe to run.
Useful flags: `--project PATH` checks a repo's `.claude/skills`; `--skills PATH` checks a
`skills/` directory you are authoring (a plugin repo); `--strict` fails on warnings too.
## The failure this exists for
Claude Code injects every skill and slash-command description into the system prompt
under one shared character budget (15,000 by default, `SLASH_COMMAND_TOOL_CHAR_BUDGET`).
Past it, some skills are **silently** left out of the prompt — no error, no warning — and
Claude is told not to use skills it wasn't shown. So the answer to "why doesn't my skill
trigger?" is often "Claude was never told it exists."
Check the budget line first. If it is over, that is the cause, and no a