| name | skill-validator |
|---|---|
| description | Audits an existing SKILL.md file for structural issues, missing required fields, weak triggering descriptions, anti-patterns, and marketplace-readiness. Use this skill whenever a user says "check my skill", "review this SKILL.md", "audit my skill", "is this skill ready to publish", "why isn't my skill triggering", or pastes a SKILL.md file and asks for feedback. Also triggers when a user shares a skill file that looks incomplete, has a vague description, or is behaving unexpectedly. Returns a scored report with specific, actionable fixes for every issue found. Always use this skill before publishing or sharing a skill file. |
Audits SKILL.md files for structural correctness, triggering strength, and marketplace readiness. Produces a scored report with every issue categorized by severity and a specific fix for each.
Paste a SKILL.md file (or its contents) and say "validate this" or "audit this skill." The validator will scan it, score it, and return a full report.
Run every check below. Report every finding — do not silently skip checks that pass.
| Check | Pass | Fail |
|---|---|---|
name field present |
✅ | ❌ CRITICAL: Skill won't load |
name in kebab-case |
✅ | |
description field present |
✅ | ❌ CRITICAL: Skill will never trigger |
description is 60–120 words |
✅ | |
description starts with an action verb |
✅ | |
description contains 3+ trigger phrases |
✅ | |
description names input AND output format |
✅ | |
| No placeholder text in YAML | ✅ | ❌ CRITICAL: Placeholder text breaks triggering |
| Check | Pass | Fail |
|---|---|---|
| Has a clear purpose statement in first 3 lines | ✅ | |
| Has an output format section | ✅ | |
| Has an anti-patterns section | ✅ | |
| Has at least 2 test cases | ✅ | |
| No placeholder text ([TODO], [INSERT], etc.) | ✅ | ❌ CRITICAL: Incomplete skill |
| Under 500 lines total | ✅ | |
| No instructions that contradict each other | ✅ | ❌ CRITICAL: Claude will behave unpredictably |
Score the description on each dimension (1–3):
Specificity — Does it name specific inputs, outputs, and user phrases?
- 3: Names exact input format, output format, and 3+ trigger phrases
- 2: Names some inputs/outputs but trigger phrases are vague
- 1: Generic ("helps with X") — will not trigger reliably
Action orientation — Does it start with what Claude will DO?
- 3: Starts with verb: "Generates...", "Audits...", "Converts..."
- 2: Subject-first but active: "This skill generates..."
- 1: Passive or noun-first: "A skill for..." or "Can be used to..."
Coverage — Does it cover the real ways users will ask for this?
- 3: Includes formal request, casual request, and adjacent use case
- 2: Covers formal request only
- 1: Only matches one exact phrasing
Total triggering score: X/9
- 8–9: Strong — will trigger reliably
- 5–7: Moderate — will miss some valid use cases
- Below 5: Weak — needs a rewrite before publishing
Flag any of the following if present:
- ❌ Unicode bullets (•, -, –) in YAML values — breaks YAML parsing
- ❌ HTML tags in the skill body — not rendered, creates noise
- ❌ Hardcoded file paths that don't exist in the skill's directory
- ❌ References to tools or MCPs not listed in a
compatibilitysection - ❌ Instructions that say "always" and also say "never" about the same thing
- ❌ Empty sections with only a heading
- ❌ Test cases with no expected output described
Return the report in this exact structure:
## Skill Validation Report: [skill name]
**Overall Score: [X/10]**
[One sentence verdict: Ready to publish / Needs minor fixes / Needs major revision]
---
### Critical Issues (fix before using)
[List each CRITICAL finding with: what's wrong, where it is, exact fix]
### Warnings (fix before publishing)
[List each WARNING finding with: what's wrong, where it is, recommended fix]
### Info (optional improvements)
[List each INFO finding with: what it is and why it's worth fixing]
### Triggering Score: [X/9]
[Specificity: X/3 — one-line reason]
[Action orientation: X/3 — one-line reason]
[Coverage: X/3 — one-line reason]
### What's Working Well
[2–3 things the skill does right — be specific]
### Recommended Next Step
[Single most important thing to fix first]
Start at 10. Deduct:
- 3 points per CRITICAL issue
- 1 point per WARNING
- 0.5 points per INFO
- Floor at 0
A score of 7+ is publishable. Below 7, the skill needs revision before listing.
- Never give a passing score to a skill with any CRITICAL issues
- Never skip the triggering score — it's the most important single metric
- Never suggest fixes without explaining why the current version is wrong
- Never give vague feedback like "improve the description" — always give the specific rewrite
Test 1 — Strong skill Input: A well-formed SKILL.md with complete frontmatter, clear output format, 3+ test cases Expected: Score 8–10, few or no warnings, positive "What's Working" section
Test 2 — Weak description Input: A SKILL.md where the description is 15 words and starts with "A skill for..." Expected: Triggering score 2–3/9, CRITICAL issue flagged for description length and action verb
Test 3 — Placeholder text Input: A SKILL.md with [TODO: add examples here] in the body Expected: CRITICAL issue flagged, score deducted, exact location of placeholder cited