Skip to main content
Naming checks validate skill name requirements defined in the Agent Skills specification.

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 the name field is present in frontmatter.

What It Checks

  1. Verifies frontmatter exists
  2. Checks that name field is present
  3. Checks that name is 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

  1. Lowercase only - letters and numbers
  2. Hyphens allowed - but not at start or end
  3. No consecutive hyphens - -- is not allowed
  4. Max 64 characters
  5. Pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$ or ^[a-z0-9]$ (single char)

Schema Definition

Examples

The format check accumulates multiple errors. If a name violates several rules (e.g., too long AND has consecutive hyphens), all violations will be reported in a single failure message.

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

  1. Extracts name from frontmatter
  2. Gets parent directory name
  3. Normalizes both using NFKC Unicode normalization
  4. 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_SCHEMA list)