SKILL.md file with YAML frontmatter. Creating your own skills is straightforward and lets you codify team knowledge, workflows, and best practices.
Quick Start
Create a new skill template:Skill Structure
Every skill requires aSKILL.md file with YAML frontmatter:
Required Fields
Unique identifier for the skill. Use lowercase with hyphens (e.g.,
my-skill, pr-review).Brief explanation of what the skill does and when to use it. This helps agents understand when to automatically activate the skill based on the user’s request.
Optional Fields
Set to
true to hide the skill from normal discovery. Internal skills are only visible and installable when INSTALL_INTERNAL_SKILLS=1 is set. Useful for work-in-progress skills or skills meant only for internal tooling.Example: Internal Skill
Skill Discovery Locations
The CLI searches for skills in these locations within a repository (in priority order):- Root directory - if it contains
SKILL.md - Common skill directories:
skills/skills/.curated/skills/.experimental/skills/.system/
- Agent-specific directories:
.agents/skills/.agent/skills/.augment/skills/.claude/skills/.codex/skills/.cursor/skills/- And many more (see full list in README)
If no skills are found in standard locations, a recursive search is performed.
Plugin Manifest Discovery
If.claude-plugin/marketplace.json or .claude-plugin/plugin.json exists, skills declared in those files are also discovered:
Real-World Example
Here’s a real skill from the Skills CLI repository:Writing Effective Skills
Be Specific in Your Description
Be Specific in Your Description
The description field determines when your skill is activated. Make it clear and specific about the scenarios where the skill should be used.Good: “Helps with React performance optimization by identifying common bottlenecks and suggesting React.memo, useMemo, and useCallback usage”Bad: “React help”
Provide Clear Instructions
Provide Clear Instructions
Write step-by-step instructions that are easy to follow. Use numbered lists, code examples, and clear language.
Include Context and Examples
Include Context and Examples
Help the agent understand when and how to apply the skill with real-world examples and context about common scenarios.
Structure Your Content
Structure Your Content
Use headings, lists, and formatting to make your skill easy to scan and understand:
- When to Use - Describe triggering scenarios
- Steps - Provide the workflow
- Examples - Show concrete use cases
- Tips - Add helpful notes and best practices
Organizing Multiple Skills
For repositories with many skills, organize them in subdirectories:skills/ should contain its own SKILL.md file.
Including Additional Files
Skills can include additional files alongsideSKILL.md:
Files starting with
_ and the .git directory are excluded from installation.Testing Your Skill
Before publishing, test your skill locally:Publishing Your Skill
Skills are distributed via git repositories. To share your skill:- Create a git repository (GitHub, GitLab, etc.)
- Add your skill(s) to the repository
- Commit and push to the remote
- Share the repository URL or GitHub shorthand
Environment Variables for Development
When developing skills marked as internal:Next Steps
Source Formats
Learn about all supported installation sources
Supported Agents
See which agents support your skills