Skill validator
Validate Claude Code skill files (SKILL.md) against Anthropic's structural requirements. Use this skill whenever the user asks to validate, lint, check, or verify a skill file or skill structure. Triggers on "validate skill", "lint skill", "check skill", "verify SKILL.md", "does my skill meet requirements", or any request to confirm a skill is correctly structured before publishing or importing.From its SKILL.md
npx -y skills add Fyzel/claude-skills --skill skill-validatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `.venv/Scripts/python skills/skill-validator/scripts/validate-skills.py` and 7 more.
SKILL.md
1.8 KB, 359 tokens by cl100k_base, as published. Nobody here has run it
Skill Validator
Validates SKILL.md files in the skills/ directory against Anthropic's requirements using skills/skill-validator/scripts/validate-skills.py.
What it checks
namefield present and matches the skill's directory namedescriptionfield present- No XML tags (
<...>) indescription— Claude Code rejects these on load - Combined
description+when_to_uselength ≤ 1,536 characters - Frontmatter parsed via PyYAML (handles block scalars correctly)
- Packaging simulation writes
skills/<name>/.test/<name>.skilland reports archive size
Run
Validate all skills:
# Windows
.venv/Scripts/python skills/skill-validator/scripts/validate-skills.py
# Linux / macOS
.venv/bin/python skills/skill-validator/scripts/validate-skills.py
Validate one skill by name:
# Windows
.venv/Scripts/python skills/skill-validator/scripts/validate-skills.py <skill-name>
# Linux / macOS
.venv/bin/python skills/skill-validator/scripts/validate-skills.py <skill-name>
Skip packaging simulation:
# Windows
.venv/Scripts/python skills/skill-validator/scripts/validate-skills.py --no-package
# Linux / macOS
.venv/bin/python skills/skill-validator/scripts/validate-skills.py --no-package
Exit code 0 = all pass. Exit code 1 = one or more failures.
Setup
Requires Python in .venv:
python -m venv .venv
pip install -r requirements.txt
What ships with it: 2 files
4.7 KB alongside SKILL.md, 1 of them executable
.claude-plugin/
- plugin.json464 B
scripts/
- validate-skills.pyruns4.2 KB
Gives 0 of the 12 instructions most quality gates skills give in 359 tokens
Counted across 1,524 of the 2,830 authors here whose files we hold, read 2026-09-06
- Read full output and check exit codein 45 of 1524, across 40 files
- Verify output confirms the claimin 44 of 1524, across 39 files
- Identify the command that proves the claimin 43 of 1524, across 39 files
- Execute the full verification commandin 36 of 1524, across 30 files
- Produce a verification reportin 34 of 1524, across 18 files
- Review git diff changesin 30 of 1524, across 16 files
- Fix build failures immediatelyin 29 of 1524, across 9 files
- Group findings by severityin 28 of 1524
- State claim only with evidencein 27 of 1524, across 22 files
- Verify regression tests with red-green cyclein 26 of 1524, across 22 files
- Run the full test suitein 26 of 1524, across 25 files
- Run test suite with coveragein 25 of 1524, across 10 files
Said here and by no other author read
- Validate a specific skill by name
- Use the no-package flag to skip packaging simulation
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.