Creating Skills
A skill is just a Markdown file with YAML frontmatter. If you have domain expertise worth sharing, write it down in a SKILL.md.
File Structure
SKILL.md
--- name: my-skill description: One sentence shown in lazy-load preview. version: 1.0.0 author: your-github-username tags: - laravel - php - testing --- # My Skill ## Overview What this skill teaches Claude and when to apply it. ## Conventions - Always use X instead of Y - Prefer Z pattern for ABC scenarios ## Examples ```php // Your code examples here ```
Frontmatter Fields
| Field | Required | Description |
|---|---|---|
| name | Required | URL-friendly slug identifier. |
| description | Required | One sentence — shown in the lazy-load preview and catalog listing. |
| version | Optional | Semver string, e.g. 1.0.0. |
| author | Optional | Your GitHub username. |
| tags | Optional | Array of tags for search and filtering. |
Content Guidelines
- ▸Be specific. "Always use
$query->whereNull('deleted_at')" beats "use soft deletes." - ▸Include examples. Code blocks make instructions unambiguous.
- ▸State the context. What project type, framework, or situation does this skill apply to?
- ▸Stay focused. One skill = one domain. Don't bundle Laravel + security + testing into one file.
Submit to the Catalog
- 1 Push your skill to a public GitHub repository.
- 2 Go to the Submit page and enter your repository URL.
- 3 Claude API analyzes your skill for safety and quality.
- 4 If approved, it appears in the catalog within minutes.
Safety Analysis
Every submitted skill is analyzed by Claude for prompt injection, unauthorized file access, and data exfiltration patterns. Skills flagged as dangerous are held for admin review. Keeping your skill focused on knowledge — not code execution or external requests — ensures a smooth approval.