From skill-doctor
Use when auditing or improving a Claude Code skill. Triggers on: "audit skill", "evaluate skill", "review skill", "skill score", "skill health check", "improve skill", "does this skill follow best practices".
npx claudepluginhub joaquincampo/skill-doctor --plugin skill-doctorThis skill uses the workspace's default tool permissions.
Assess any Claude Code skill against the criteria from Anthropic's "Lessons from Building Claude Code: How We Use Skills." Produces a findings-first audit with actionable improvements and a supporting scorecard.
Guides TDD in Laravel with PHPUnit/Pest: unit/feature/integration tests, factories, RefreshDatabase, fakes, and 80%+ coverage for features, bugs, refactors, Eloquent models.
Share bugs, ideas, or general feedback.
Assess any Claude Code skill against the criteria from Anthropic's "Lessons from Building Claude Code: How We Use Skills." Produces a findings-first audit with actionable improvements and a supporting scorecard.
Use the bundled references intentionally:
references/category-taxonomy.md when classifying the skill.references/criteria.md when rating criteria or deciding when to use N/A.references/article-principles.md only when you need the article's reasoning, not for every audit.If the user specifies a skill name, locate it:
~/.claude/skills/{name}/./.claude/skills/{name}/AskUserQuestion to clarifyIf no skill is specified, ask the user which skill to audit.
Read all files in the skill directory, not just SKILL.md. The whole point of this audit is assessing folder structure, progressive disclosure, and supporting assets.
Take inventory:
Classify the skill into exactly one of the 9 categories. See references/category-taxonomy.md for definitions. If the skill straddles multiple categories, note this as a concern — the article warns that the most confusing skills straddle several.
Determine whether the skill is Minimal, Standard, or Rich before you score it. See references/criteria.md for the tier definitions.
Mark inapplicable criteria as N/A. Do not punish a narrow skill for not having scripts, hooks, or storage it does not need.
Run the checker after choosing a tier:
scripts/structural-check.sh --tier <minimal|standard|rich> <skill-path>
Treat the output as signals, not as the verdict. The script can catch stale structure, missing files, and weak descriptions, but it cannot decide whether the skill is over-engineered or under-specified on its own.
Find the material issues first. Use references/criteria.md as your internal checklist — do not output the criteria as a table.
For each finding:
If there are no material findings, say so explicitly.
Based on your findings, assign one verdict:
| Verdict | When to use |
|---|---|
| Strong | No high-severity findings. The skill does what it sets out to do and follows the article's principles where they apply. |
| Adequate | Minor issues or missed opportunities, but functional and not misleading. |
| Needs Work | Material issues that would cause the skill to fail, mislead, or go unused in practice. |
A minimal skill with a great SKILL.md and clear triggers can be Strong. A rich skill missing gotchas and with broken scripts cannot.
Output format:
## Skill Audit: {name}
### Findings
- [High] {material issue with file:line evidence and why it matters}
- [Medium] ...
- If there are no material findings, say that explicitly.
### Recommended Fixes
1. {smallest highest-leverage change}
2. ...
3. ...
### Strengths
- {2-3 bullets}
**Category**: {category} | **Tier**: {minimal|standard|rich} | **Verdict**: {Strong|Adequate|Needs Work}
### Structural Check
{output from scripts/structural-check.sh}
Lead with findings. A clear top-three list with evidence is more useful than any rating.
If the user asks to improve the skill after the audit, patch the highest-leverage issues directly:
After making changes, rerun the checker and summarize what materially improved.
Append a one-line summary to the evaluations log:
echo "{date}|{skill-name}|{verdict}|{category}" >> "${CLAUDE_PLUGIN_DATA:-$HOME/.claude/skill-doctor-data}/evaluations.log"
This enables tracking improvement over time. If the skill was previously evaluated, note the change.
Common mistakes when auditing skills:
If the user wants to compare two skills, evaluate both and present side-by-side:
If the user wants to audit all skills, spawn one subagent per skill (using the Agent tool with subagent_type Explore) and compile results into a summary table sorted by verdict (Needs Work, Adequate, Strong). Write the full report to ~/.claude/skill-doctor-report.md.