Validates and reviews skills against the Agent Skills specification. Checks YAML syntax, naming conventions, description quality, file structure, and best practices. Provides improvement suggestions with before/after examples and optionally applies fixes. Use when validating skills, reviewing skill quality, checking skills before commit, or when `--check-skill`, `--validate-skill`, or `--review-skill` is mentioned.
This skill is limited to using the following tools:
Validate and review skills against the Agent Skills specification. Combines validation (catch errors) and review (suggest improvements) in one pass.
# Personal skills
~/.claude/skills/[skill-name]/SKILL.md
# Project skills
.claude/skills/[skill-name]/SKILL.md
Use Read to examine:
Use TodoWrite to track validation and review items. This ensures thorough coverage and shows progress.
Required Fields:
name present and non-emptydescription present and non-emptySyntax:
--- on line 1--- before Markdown contentOptional Fields (if present):
allowed-tools uses space-delimited tool nameslicense, compatibility, metadata properly formatted-- or leading/trailing hyphensanthropic or claude-agent, -helper)Structure:
Voice:
Anti-patterns:
references/, scripts/, assets/)After validation passes, review for improvements:
# Skill Check Report: [Skill Name]
## Summary
- **Status**: PASS / FAIL / WARNINGS
- **Location**: [path]
- **Issues**: [count critical] / [count warnings]
## Validation Results
### YAML Frontmatter
✅ | ❌ | ⚠️ [Status and details]
### Naming Conventions
✅ | ❌ | ⚠️ [Status and details]
### Description Quality
✅ | ❌ | ⚠️ [Status and details]
### File Structure
✅ | ❌ | ⚠️ [Status and details]
### Best Practices
✅ | ❌ | ⚠️ [Status and details]
## Critical Issues (must fix)
1. [Issue with specific fix]
## Warnings (should fix)
1. [Issue with specific fix]
## Improvement Suggestions
1. [Suggestion with before/after]
## Strengths
- [What's done well]
For each issue, show:
Current:
description: Helps with PDF files
Problem: Too vague, no triggers, missing capabilities
Fix:
description: Extracts text and tables from PDF files, fills forms, merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
Impact: Specific capabilities, trigger conditions, discoverable keywords.
Current:
description: I can help you process data files and convert formats
Problem: First-person voice; descriptions inject into system prompt
Fix:
description: Processes data files and converts between formats (CSV, JSON, XML). Use when working with data files or format conversion.
Impact: Third-person voice, specific formats, trigger conditions.
Ask before making changes:
Found [N] issues:
- [Critical issues]
- [Warnings]
- [Suggestions]
Would you like me to apply these fixes?
If approved, use Edit to make changes.
Critical (must fix):
Important (should fix):
Nice-to-have:
# Find all skills
find ~/.claude/skills .claude/skills -name "SKILL.md" 2>/dev/null
# Check for tabs in YAML
grep -P "\t" SKILL.md
# Find broken links
grep -oE '\[[^]]+\]\([^)]+\)' SKILL.md | while read link; do
file=$(echo "$link" | sed 's/.*(\(.*\))/\1/')
[ ! -f "$file" ] && echo "Missing: $file"
done
# View raw frontmatter
head -n 15 SKILL.md
After creating a skill:
skills-authoring → skills-check → iterate until passing
Before committing:
skills-check → fix critical issues → commit
For cross-tool compatibility and implementation details, see: