Skip to content
OpenSmartRoute
Skillv1.0.0

skill-validator

Validate Agent Skills against the specification. Checks SKILL.md format, frontmatter fields, naming conventions, and directory structure.

by skillscatalog(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from skillscatalog/registry (skills/skill-validator/SKILL.md). Install upstream with npx skills add skillscatalog/registry --skill skill-validator. Copyright stays with the author (MIT).

Instructions

Use this skill to validate any Agent Skill directory against the specification before publishing. The validator checks:

  • SKILL.md presence - Required manifest file exists
  • Frontmatter format - Valid YAML frontmatter with required fields
  • Name validation - 1-64 chars, lowercase, hyphens only, starts with letter
  • Name-directory match - Name field matches the directory name
  • Description validation - 1-1024 characters, non-empty
  • Structure validation - Valid folder organization

When to Use

  • Before submitting a skill for publication
  • After making changes to SKILL.md
  • To diagnose why a skill was rejected
  • As part of CI/CD pipelines

How to Use

Validate a skill directory:

Validate the skill at /path/to/my-skill

Get JSON output for CI integration:

python3 validate_skill.py /path/to/my-skill --json

Output

✓ Skill Validation Report
  Skill: pdf-tools
  Status: COMPLIANT (100/100)

  Checks:
    ✓ SKILL.md exists
    ✓ Valid frontmatter
    ✓ Name format valid (pdf-tools)
    ✓ Name matches directory
    ✓ Description valid (45 chars)
    ✓ Structure valid

  No issues found.

Or if issues are found:

✗ Skill Validation Report
  Skill: My-Skill
  Status: NON-COMPLIANT (40/100)

  Checks:
    ✓ SKILL.md exists
    ✓ Valid frontmatter
    ✗ Name format invalid
    ✗ Name doesn't match directory
    ✓ Description valid
    ✓ Structure valid

  Issues:
    - Name must be lowercase with hyphens only (got "My-Skill")
    - Name 'My-Skill' doesn't match directory 'my-skill'

Examples

Basic validation:

User: Validate the skill at ./document-skills/pdf
Agent: Running validation on ./document-skills/pdf...
       ✓ Skill is compliant (100/100)

Fix validation errors:

User: Why is my skill failing validation?
Agent: Let me check... Running validator...
       The name field uses underscores. Change "pdf_tools" to "pdf-tools".

Limitations

  • Does not validate skill functionality (only structure/format)
  • Does not run safety scans (use skill-safety-scanner for that)
  • Requires local filesystem access to the skill directory

Dependencies

  • Python 3.9+
  • PyYAML (optional, falls back to basic parsing)

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/skillscatalog-registry-skill-validator/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

skillscatalog-registry-skill-validator.ocm.jsonjson
{
  "ocm": "1",
  "id": "skillscatalog-registry-skill-validator",
  "kind": "skill",
  "name": "skill-validator",
  "description": "Validate Agent Skills against the specification. Checks SKILL.md format, frontmatter fields, naming conventions, and directory structure.",
  "publisher": "skillscatalog",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "validation",
      "compliance",
      "tooling",
      "quality",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Validate Agent Skills against the specification. Checks SKILL.md format, frontmatter fields, naming conventions, and directory structure."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/skillscatalog/registry",
      "path": "skills/skill-validator/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/skillscatalog/registry/blob/HEAD/skills/skill-validator/SKILL.md",
      "key": "skillscatalog/registry/skills/skill-validator/SKILL.md"
    },
    "license": "MIT"
  },
  "instructions": "## Instructions\n\nUse this skill to validate any Agent Skill directory against the specification before publishing. The validator checks:\n\n- **SKILL.md presence** - Required manifest file exists\n- **Frontmatter format** - Valid YAML frontmatter with required fields\n- **Name validation** - 1-64 chars, lowercase, hyphens only, starts with letter\n- **Name-directory match** - Name field matches the directory name\n- **Description validation** - 1-1024 characters, non-empty\n- **Structure validation** - Valid folder organization\n\n### When to Use\n\n- Before submitting a skill for publication\n- After mak",
  "cost": {
    "context_tokens": 562
  }
}

Fetch it by URL: GET /api/v1/registry/skillscatalog-registry-skill-validator/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.