Check List
This dimension includes 1 behavioral check and 2 schema checks (all spec-required).naming.required
Severity: ERROR | Spec Required: Yes | Type: Schema Check Validates that thename field is present in frontmatter.
What It Checks
- Verifies frontmatter exists
- Checks that
namefield is present - Checks that
nameis not empty or whitespace-only
Schema Definition
Example
naming.format
Severity: ERROR | Spec Required: Yes | Type: Schema Check Validates that the name follows the Agent Skills specification format rules.Format Rules
- Lowercase only - letters and numbers
- Hyphens allowed - but not at start or end
- No consecutive hyphens -
--is not allowed - Max 64 characters
- Pattern:
^[a-z0-9][a-z0-9-]*[a-z0-9]$or^[a-z0-9]$(single char)
Schema Definition
Examples
naming.matches-directory
Severity: ERROR | Spec Required: Yes | Type: Behavioral Check Validates that the skill name matches the parent directory name (spec requirement).What It Checks
- Extracts name from frontmatter
- Gets parent directory name
- Normalizes both using NFKC Unicode normalization
- Compares for exact match
Why NFKC Normalization?
Unicode normalization ensures consistent handling of special characters across different filesystems:- macOS uses NFD (decomposed) normalization
- Linux/Windows use NFC (composed) normalization
- NFKC provides compatibility normalization
Implementation
Example
This check ensures that skill directories are self-describing. The directory name should always match the skill name for easy identification.
File Location
Naming checks are implemented in:- Behavioral check:
src/skill_lab/checks/static/naming.py(NameMatchesDirectoryCheck) - Schema checks:
src/skill_lab/checks/static/schema.py(FRONTMATTER_SCHEMAlist)
Related Checks
- Structure Checks - Validates SKILL.md existence and frontmatter validity
- Content Checks - Validates description quality and actionability