Back to Skills

validate-skills

verified

Validate all skills in the repository for proper structure, frontmatter, naming conventions, and required files. Use when you need to check skill quality before publishing or after making changes.

View on GitHub

Marketplace

nathankrebs-skills

nkrebs13/ClaudeCodeSkills

Plugin

dev-tools

Repository

nkrebs13/ClaudeCodeSkills

skills/validate-skills/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/nkrebs13/ClaudeCodeSkills/blob/main/skills/validate-skills/SKILL.md -a claude-code --skill validate-skills

Installation paths:

Claude
.claude/skills/validate-skills/
Powered by add-skill CLI

Instructions

# Validate Skills

Check all skills for proper structure, frontmatter, naming conventions, and required files.

## Usage

```
/validate-skills           # Validate all skills in repository
/validate-skills <name>    # Validate specific skill
```

## Validation Rules

### 1. Directory Structure

Each skill must have:

| Required | File | Purpose |
|----------|------|---------|
| ✓ | `SKILL.md` | Skill definition with frontmatter |
| Recommended | `README.md` | Human-readable documentation |

Optional directories:
- `scripts/` - Supporting scripts
- `workflows/` - Sub-workflow definitions
- `references/` - Reference documentation

### 2. Frontmatter Validation

Required fields in SKILL.md:

```yaml
---
name: skill-name        # Required: lowercase, hyphens only
description: ...        # Required: description for Claude
---
```

Optional fields:

```yaml
version: "1.0.0"        # Recommended
author: Name            # Recommended
publish: true/false     # Default: true
triggers:               # Recommended
  - /skill-name
model: sonnet           # Optional
```

### 3. Naming Conventions

| Rule | Valid | Invalid |
|------|-------|---------|
| Lowercase | `my-skill` | `My-Skill` |
| Hyphen separator | `my-skill` | `my_skill` |
| Directory matches name | `skills/foo/` with `name: foo` | Mismatch |
| No spaces | `my-skill` | `my skill` |

### 4. Content Checks

- SKILL.md has meaningful description (>20 chars)
- No hardcoded personal paths (`/Users/username/`)
- No secrets or API keys
- Scripts are executable (if present)

## Validation Workflow

1. List all skills in `~/Personal/GithubSkills/skills/`
2. For each skill:
   - Check directory structure
   - Parse and validate frontmatter
   - Check naming conventions
   - Run content checks
3. Generate report

## Implementation

```bash
# List skills
ls ~/Personal/GithubSkills/skills/

# For each skill, parse frontmatter
python3 ~/Personal/GithubSkills/skills/sync-skills/scripts/parse_frontmatter.py ~/Personal/GithubSkills/s

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2702 chars