Productivity
validate-skills▌
callstackincubator/agent-skills · updated Apr 8, 2026
$npx skills add https://github.com/callstackincubator/agent-skills --skill validate-skills
summary
Validates skills against agentskills.io spec and Claude Code best practices.
- ›Checks skill metadata compliance including name format, description length, and optional fields like license and compatibility
- ›Enforces Claude Code best practices: third-person descriptions, body length limits, single-level references, and markdown link formatting
- ›Provides structured validation reports flagging spec violations and authoring guideline deviations
- ›Designed for use via /validate-skills comman
skill.md
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 |
| References one-level deep | No nested reference chains |
| 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 |
How to Run
-
Find all skill directories:
fd -t d -d 1 . skills/ -
For each skill, read
SKILL.mdand check against the rules above -
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)