validate-skill
Validate skill directories against AgentSkills spec
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
---
name: "validate-skill"
description: "Validate skill directories against AgentSkills spec"
license: "ISC"
---
# Validate Skill
## Purpose
This skill validates skill directories against the [AgentSkills specification](https://agentskills.io/specification). Use it to ensure your skills have proper frontmatter, required fields, and follow naming conventions.
**Use when:**
- Creating new skills in any agent's skills directory (`.claude/skills/`, `.cursor/skills/`, etc.)
- Reviewing PRs that modify skills
- Validating skill structure before publishing
## Scripts
### validate-skill.ts
Validate one or more skill directories.
```bash
bunx @plaited/development-skills validate-skill [paths...]
```
**Arguments:**
- `paths`: Paths to validate (defaults to current agent's skills directory)
**Options:**
- `--json`: Output results as JSON
**Examples:**
```bash
# Validate skills in current directory's .claude/skills/
bunx @plaited/development-skills validate-skill .claude/skills
# Validate Cursor skills
bunx @plaited/development-skills validate-skill .cursor/skills
# Validate a specific skill
bunx @plaited/development-skills validate-skill .claude/skills/typescript-lsp
# Validate multiple paths with JSON output
bunx @plaited/development-skills validate-skill .claude/skills .cursor/skills --json
```
## Validation Rules
### Required Fields
- `name`: Skill name (lowercase, alphanumeric with hyphens)
- `description`: Brief description of the skill
### Naming Conventions
- Name must be lowercase
- Only alphanumeric characters and hyphens allowed
- Cannot start or end with hyphen
- Cannot contain consecutive hyphens
- Maximum 64 characters
- Directory name must match skill name
### Optional Fields
- `license`: License identifier
- `compatibility`: Runtime requirements
- `allowed-tools`: Comma-separated list of allowed tools
- `metadata`: Key-value pairs for additional metadata
## Output Format
### Human-Readable (default)
```
✓ .claude/skills/typescript-lsp
✓ .cursor/skills/my-skill
✗ .claude/skills/invalid-skill
ERROR: Missing required field in frontmatter: 'description'
2/3 skills valid
```
### JSON (--json)
```json
[
{
"valid": true,
"path": ".cursor/skills/my-skill",
"errors": [],
"warnings": [],
"properties": {
"name": "my-skill",
"description": "..."
}
}
]
```
## Related Skills
- **typescript-lsp** - Example of a well-structured skill with scripts
- **code-documentation** - TSDoc standards for TypeScript/JavaScript codeMore General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

