Skip to main content
Skills are defined in SKILL.md files with YAML frontmatter. This format follows the Agent Skills specification for cross-agent compatibility.

Basic Structure

A skill consists of a markdown file with YAML frontmatter:

YAML Frontmatter Schema

The frontmatter contains metadata that helps agents discover and understand your skill.

Required Fields

string
required
Unique identifier for the skill. Must be lowercase with hyphens (kebab-case).Examples:
  • frontend-design
  • pr-review-helper
  • deploy-to-vercel
Skill names must be unique within a repository. Duplicate names will be skipped during installation.
string
required
Brief explanation of what the skill does and when to use it. This appears in skill listings and helps agents decide when to activate the skill.Best practices:
  • Keep it concise (1-2 sentences)
  • Focus on the “what” and “when”
  • Mention key capabilities or use cases
Example:

Optional Fields

object
Additional metadata for skill behavior and visibility.Subfields:
boolean
default:false
Set to true to hide the skill from normal discovery. Internal skills are only visible when INSTALL_INTERNAL_SKILLS=1 is set.Use cases:
  • Work-in-progress skills
  • Internal tooling not meant for public use
  • Experimental features under development
Example:

Markdown Content

The body of the SKILL.md file contains instructions for the agent. Use standard markdown formatting.
A clear, descriptive title (H1) that matches or expands on the skill name.
Describe scenarios where this skill should be activated.
Detailed instructions for the agent to follow.
Code examples or templates (optional but helpful).
Links to relevant documentation or tools (optional).

Complete Example

Here’s a complete example of a well-structured skill:

Resources

.claude-plugin/plugin.json

Similar structure for individual plugin definitions.
Skills discovered via plugin manifests are associated with their parent plugin, making it easy to group related skills.

Best Practices

Keep it focused

Each skill should do one thing well. Create multiple focused skills rather than one large skill.

Be specific

Provide concrete instructions and examples. Avoid vague guidance like “follow best practices.”

Use sections

Organize instructions with clear headings and numbered steps. This helps agents parse and follow the guidance.

Test thoroughly

Test your skill with your target agent to ensure it works as expected. Different agents may interpret instructions differently.

Validation Rules

The Skills CLI validates skills during discovery:
1

Frontmatter must be valid YAML

Use a YAML validator to check syntax. Common issues:
  • Missing closing quotes
  • Incorrect indentation
  • Invalid special characters
2

Required fields must exist

Both name and description must be present and be strings (not numbers or booleans).
3

Name must be lowercase

Use kebab-case: my-skill-name (not My Skill Name or my_skill_name)
4

No path traversal in names

Names cannot contain .., /, or other path manipulation characters.
Skills that fail validation are silently skipped during discovery. Use --list flag to see which skills were found.

Internal Skills

Skills can be hidden from normal discovery:
To install internal skills:

Creating a New Skill

Use the init command to create a skill template:
This generates a SKILL.md template with proper frontmatter structure.

CLI Options

Learn how to install and manage skills

Agent Config

Understand agent-specific configurations

Contributing

Guidelines for creating and sharing skills

Agent Skills Spec

Official specification for agent skills