skill-validatorlisted
Install: claude install-skill shipshitdev/skills
# Skill Validator
Validate SKILL.md files against the Agent Skills specification and Claude Code extensions.
## When to Run
- After creating a new skill
- After modifying a skill's SKILL.md frontmatter
- Before committing skill changes
- During periodic repo audits
## Validation Rules
### Required Fields (Agent Skills Spec)
Every SKILL.md must have YAML frontmatter with:
- `name` — kebab-case, matches directory name
- `description` — 1-3 sentences, under 1024 chars, starts with verb or domain noun
### Metadata Block
`version` and `tags` must be inside `metadata:`, never top-level:
```yaml
# CORRECT
metadata:
version: "1.0.0"
tags: "react, performance, optimization"
# WRONG — top-level version
version: 1.0.0
# WRONG — tags as YAML list
metadata:
tags:
- react
- performance
```
### Forbidden Fields
These are not part of any spec:
- `auto_activate` / `auto_trigger` — removed in 2026-04 migration
- `risk` — not in Agent Skills or Claude Code specs
### Claude Code Extensions (Optional)
Valid extension fields (must match `allowed_fields` in `scripts/validate-skill-sync.sh`):
| Field | Purpose |
|-------|---------|
| `when_to_use` | Extra trigger phrases appended to `description` |
| `disable-model-invocation` | Prevent auto-triggering (for destructive skills) |
| `user-invocable` | `false` hides from the `/` menu |
| `allowed-tools` | Auto-approve **allowlist** (not a sandbox — unlisted tools stay callable) |
| `disallowed-tools` | Removes tools from