trailofbits/skill-improver
Iteratively reviews and fixes Claude Code skill quality issues until they meet standards. Runs automated fix-review cycles using the skill-reviewer agent. Use to fix skill quality issues, improve skill descriptions, run automated skill review loops, or iteratively refine a skill. Triggers on 'fix my skill', 'improve skill quality', 'skill improvement loop'. NOT for one-time reviews—use /skill-reviewer directly.
npx skills add https://github.com/trailofbits/skills --skill skill-improver
Iteratively improve a Claude Code skill using the skill-reviewer agent until it meets quality standards.
Requires the plugin-dev plugin which provides the skill-reviewer agent.
Verify it's enabled: run /plugins — plugin-dev should appear in the list. If missing, install from the Trail of Bits plugin repository.
/skill-reviewer directly insteadThese block skill loading or cause runtime failures:
These significantly degrade skill effectiveness:
These are polish items that may or may not improve the skill:
Before implementing any minor issue fix, evaluate:
Only implement minor fixes that are clearly beneficial. Skill-reviewer may produce false positives.
Use the skill-reviewer agent from the plugin-dev plugin. Request a review by asking Claude to:
> Review the skill at [SKILL_PATH] using the plugin-dev:skill-reviewer agent. Provide a detailed quality assessment with issues categorized by severity.
Replace [SKILL_PATH] with the absolute path to the skill directory (e.g., /path/to/plugins/my-plugin/skills/my-skill).
Iteration 1 — skill-reviewer output:
Critical: SKILL.md:1 - Missing required 'name' field in frontmatter
Major: SKILL.md:3 - Description uses second person ("you should use")
Minor: Line 45 is verbose
Fixes applied:
Iteration 2 — run skill-reviewer again to verify fixes:
Minor: Line 45 is verbose
Minor issue evaluation:
Line 45 communicates effectively as-is. The verbosity provides useful context. Skip.
All critical/major issues resolved. Output the completion marker:
<skill-improvement-complete>
Note: The marker MUST appear in the output. Statements like "quality bar met" or "looks good" will NOT stop the loop.
CRITICAL: The stop hook ONLY checks for the explicit marker below. No other signal will terminate the loop.
Output this marker when done:
<skill-improvement-complete>
When to output the marker:
When NOT to output the marker:
The marker is the ONLY way to complete the loop. Natural language like "looks good" or "quality bar met" will NOT stop the loop.
Take trailofbits/skill-improver from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.