Skip to content

Skills Profile

Repotype includes a built-in profile for validating AgentSkills — the standard for AI agent skill packages.

Initialize your skills repository with the skills profile:

Terminal window
npx repotype init . --from profiles/skills/repotype.yaml

Or extend it in your existing repotype.yaml:

repotype.yaml
version: "1"
extends: "repotype/profiles/skills/repotype.yaml"

Per the AgentSkills specification, each skill must have a SKILL.md file with YAML frontmatter:

skills/my-skill/SKILL.md
---
name: my-skill
description: Brief description of what this skill does
license: MIT
metadata:
author: your-org
version: "1.0"
source: your-org/your-repo
---
# My Skill
Documentation content here...
FieldTypeDescription
namestringSkill name (lowercase, hyphens only). Must match directory name.
descriptionstringWhat the skill does (max 1024 chars)
FieldTypeDescription
licensestringLicense identifier (MIT, Proprietary, Apache-2.0, etc.)
metadata.authorstringAuthor or organization
metadata.versionstringSemantic version (1.0, 1.0.0)
metadata.sourcestringSource repository (org/repo)
metadata.homepagestringURL to skill documentation
metadata.tagsstring[]Categorization tags
dependenciesstring[]Other skills this depends on
capabilitiesstring[]Capabilities this skill provides
triggersstring[]Keywords that trigger this skill

The full schema is available at examples/schemas/skill.frontmatter.schema.json:

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://agentskills.io/schemas/skill.frontmatter.schema.json",
"title": "AgentSkills SKILL.md Frontmatter",
"type": "object",
"required": ["name", "description"],
"properties": {
"name": {
"type": "string",
"pattern": "^[a-z0-9-]+$"
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 1024
},
"license": { "type": "string" },
"metadata": {
"type": "object",
"properties": {
"author": { "type": "string" },
"version": {
"type": "string",
"pattern": "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$"
},
"source": { "type": "string" }
}
}
}
}

Validate all skills in a repository:

Terminal window
npx repotype validate skills/ --config profiles/skills/repotype.yaml

For a repository that serves as a skills collection (like ~/.openclaw/skills/):

repotype.yaml
version: "1"
extends: "repotype/profiles/skills/repotype.yaml"
defaults:
unmatchedFiles: deny # Strict: only allow defined file types
files:
# Override to add manifest
- id: skills-manifest
glob: "manifest.json"
schema:
kind: json
schema: schemas/skills-manifest.schema.json
# Add installer script
- id: install-script
glob: "install.sh"
CodeMeaning
missing_frontmatterSKILL.md has no frontmatter block
missing_required_frontmatter_fieldMissing name or description
frontmatter_schema_violationFrontmatter doesn’t match schema
invalid_skill_nameName doesn’t match directory

If migrating from a legacy skill.json pattern to AgentSkills spec frontmatter:

  1. Extract metadata from skill.json
  2. Add YAML frontmatter to SKILL.md
  3. Delete skill.json
  4. Run npx repotype validate to verify
Terminal window
# Verify migration
npx repotype validate skills/ --config profiles/skills/repotype.yaml