3.0 KiB
3.0 KiB
description, allowed-tools
| description | allowed-tools |
|---|---|
| Validate custom skill definition for correctness | Read, Glob |
Validate Skill
Validate a custom skill's SKILL.md file for correct structure and format.
Usage
/validate-skill <skill-name|path>
Parameters
skill-name: Name of skill in skills/ directorypath: Direct path to SKILL.md file
Validation Checks
1. YAML Frontmatter
- Has valid YAML frontmatter (between
---markers) - Contains
namefield - Contains
descriptionfield - Description uses WHEN/WHAT/WHEN NOT format
2. Required Sections
- Has
# [Skill Name] Skillheading - Has
## Purposesection - Has
## When to Usesection - Has
## Workflowsection
3. Description Format
- WHEN: Describes trigger conditions
- WHAT: Lists capabilities
- WHEN NOT: Specifies exclusions
4. Content Quality
- Has code examples
- Has detection rules table
- Has response template
- Has integration section
Output Format
Valid Skill:
## Skill Validation: my-custom-skill
**Status**: ✓ VALID
### Frontmatter
- [x] Valid YAML syntax
- [x] name: my-custom-skill
- [x] description: WHEN/WHAT/WHEN NOT format ✓
### Required Sections
- [x] Purpose
- [x] When to Use
- [x] Workflow
- [x] Detection Rules
### Content Quality
- [x] Code examples present
- [x] Response template defined
- [x] Integration references
**Result**: Skill is ready for use.
Invalid Skill:
## Skill Validation: my-custom-skill
**Status**: ✗ INVALID
### Errors (3)
1. **Missing WHEN NOT in description**
Line 3: description field should include "WHEN NOT:" clause
```yaml
description: |
WHEN: ...
WHAT: ...
WHEN NOT: ... # Missing!
-
Missing Workflow section Expected
## Workflowheading not found -
No code examples Skill should include code examples in detection rules
Warnings (1)
- No Response Template Consider adding a response template for consistent output
Result: Fix 3 errors before using this skill.
## Example Validations
### Validate by Name
/validate-skill fastapi-reviewer
### Validate by Path
/validate-skill ./my-skills/custom-reviewer/SKILL.md
### Validate All Skills
/validate-skill --all
## Creating Valid Skills
### Minimum Valid Structure
```markdown
---
name: my-skill
description: |
WHEN: Trigger conditions
WHAT: Capabilities
WHEN NOT: Exclusions
---
# My Skill
## Purpose
Brief description of what this skill does.
## When to Use
- Condition 1
- Condition 2
## Workflow
### Step 1: Analyze
Description of first step.
## Detection Rules
| Check | Recommendation | Severity |
|-------|----------------|----------|
| Issue | Fix | HIGH |
## Response Template
Results
...
## Integration
- Related skill 1
- Related skill 2
Notes
- Run validation before deploying custom skills
- Fix all errors; warnings are optional
- Use
--verbosefor detailed syntax checking