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.
/plugin marketplace add outfitter-dev/agents/plugin install agent-kit@outfitterThis 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:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.