validate-skills — Claude Code skill: what it does, how to install
Checks skills in skills/ against the agentskills.io specification and Claude Code practices. Use it when authoring or reviewing a skill collection.
npx skills add callstackincubator/agent-skills --skill validate-skills -a claude-codeWhat validate-skills does
The skill finds skill directories in skills/, reads each SKILL.md, and reports PASS or FAIL results. It checks name format and length, whether the directory matches name, description rules, plus license, metadata, and compatibility when present.
It also reviews Claude Code guidance: third-person descriptions, body length below 500 lines, Markdown links, and duplicated description text. Each reference file must be directly reachable from SKILL.md.
Cross-links between reference files are allowed when both files are listed in SKILL.md. That means you should fix hidden loading chains rather than ordinary navigation links.
What it helps with
- check skill name formatting
- match a directory to its
namefield - find oversized
SKILL.mdfiles - detect references hidden behind another reference
- produce PASS and FAIL results per skill
Example prompts for the agent
- `/validate-skills`
- `/validate-skills check every skill in skills/`
- `/validate-skills report agentskills.io specification violations`
How to install validate-skills
1Skills CLI (Vercel)
npx skills add callstackincubator/agent-skills --skill validate-skills -a claude-code2Manually: put the files in place
~/.claude/skills/validate-skills/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/validate-skills/
1Skills CLI (Vercel)
npx skills add callstackincubator/agent-skills --skill validate-skills -a codex2Manually: put the files in place
.agents/skills/validate-skills/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add callstackincubator/agent-skills --skill validate-skills -a cursor2Manually: put the files in place
.cursor/skills/validate-skills/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install callstackincubator/agent-skills validate-skills2Manually: put the files in place
.github/skills/validate-skills/SKILL.md1Skills CLI (Vercel)
npx skills add callstackincubator/agent-skills --skill validate-skills -a gemini-cli2Platform CLI
gemini skills install https://github.com/callstackincubator/agent-skills --path .claude/skills/validate-skillsManually: put the files in place
.devin/skills/validate-skills/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add callstackincubator/agent-skills --skill validate-skills -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set4
The whole set →Similar
Questions about validate-skills
How do I install validate-skills in Claude Code?
Run npx skills add callstackincubator/agent-skills --skill validate-skills -a claude-code, then run npx skills add callstackincubator/agent-skills --skill validate-skills -a claude-code again. The skill file is at ~/.claude/skills/validate-skills/SKILL.md.
What does validate-skills do?
It validates every skill under skills/ against agentskills.io rules and Claude Code practices. Its report marks each check as PASS or FAIL.
Which links does validate-skills flag?
It flags a reference file that is only discoverable through another reference file. Cross-links are valid when both endpoints are directly reachable from SKILL.md.
Source text
SKILL.md · MIT
--- name: validate-skills description: Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via /validate-skills command. license: MIT metadata: author: Callstack tags: validation, linting, skill-authoring --- # Validate Skills Validate all skills in `skills/` against the agentskills.io spec and Claude Code best practices. ## Validation Checklist For each skill directory, verify: ### Spec Compliance (agentskills.io) | Check | Rule | |-------|------| | `name` format | 1-64 chars, lowercase alphanumeric + hyphens, no leading/trailing/consecutive hyphens | | `name` matches directory | Directory name must equal `name` field | | `description` length | 1-1024 characters, non-empty | | Optional fields valid | `license`, `metadata`, `compatibility` if present | ### Best Practices (Claude Code) | Check | Rule | |-------|------| | Description format | Third person, describes what + when to use | | Body length | Under 500 lines | | Loading is one-level deep | `SKILL.md` is the only progressive-disclosure entry point: every reference file must be reachable from `SKILL.md`. References may cross-link each other for navigation (see note below). | | Links are markdown | Use `[text](path)` not bare filenames | | No redundancy | Don't repeat description in body | | Concise | Only add context Claude doesn't already have | > **One-level-deep vs. cross-linking.** The one-level-deep rule targets *progressive-disclosure loading chains* — a reference that can only be discovered by loading another reference first (`SKILL.md` → `a.md` → `b.md`, where `b.md` is not linked from `SKILL.md`). That is a defect: it hides content from the loader. > > It does **not** forbid *navigational* cross-links. Per [AGENTS.md](../../../AGENTS.md), reference files end with a "Related Skills" footer linking sibling references, and this is required. A cross-link is fine as long as both endpoints are also reachable directly from `SKILL.md`. Only flag a reference that is reachable *exclusively* through another reference. ## How to Run 1. Find all skill directories: ```bash fd -t d -d 1 . skills/ ``` 2. For each skill, read `SKILL.md` and check against the rules above 3. Report issues in this format: ``` ## Validation Results ### skills/example-skill - [PASS] name format valid - [FAIL] name "example" doesn't match directory "example-skill" - [PASS] description length OK (156 chars) ``` ## References - [agentskills.io spec](https://agentskills.io/specification) - [Claude Code best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)
© Callstack · MIT · callstackincubator/agent-skills