skill-doctorlisted
Install: claude install-skill enmr10/skill-doctor
# Skill-Doctor
Diagnose a skill library. Find skills whose descriptions **compete for the same prompts**, then fix the routing.
## When to run
- You installed many skills and "the wrong one keeps firing"
- Before publishing a skill pack (catch collisions reviewers will hit)
- After adding a skill (does it collide with an existing one?)
- Periodic health check on a growing library
## Input
Point the engine at EITHER:
- A **directory** of skills (`<root>/<name>/SKILL.md`), or
- A Claude Code **manifest.json** (`skills-plugin/.../manifest.json`)
## How to run
The engine lives in `scripts/` next to this file. Zero dependencies (Python 3.8+ stdlib).
```bash
# From the directory containing this SKILL.md:
python3 -m scripts <path-to-skills-or-manifest> # Markdown report
python3 -m scripts <path> --format json --out report.json # machine output
python3 -m scripts <path> --fail-on critical # CI gate (exit 1)
```
Common options:
- `--merge-at 0.55` — collision score that triggers a MERGE recommendation
- `--disambig-at 0.30` — score that triggers a DISAMBIGUATE recommendation
- `--vague-threshold 0.5` — flag descriptions vaguer than this
- `--top 12` — how many top collisions to list
- `--format md|json|both`
## What it detects (issue codes)
| Code | Severity | Meaning |
|------|----------|---------|
| `DUPLICATE_TRIGGER` | 🔴 | Same trigger phrase claimed by 2+ skills (top cause of mis-routing) |
| `DUPLICATE_NAME` | 🔴 | Two skills share a name |
|