Creating Claude Code Skills

Guide creation of Claude Code skills with SKILL.md and YAML frontmatter.

Updated Aug 10, 2021
One-click install
npx skills add https://github.com/johnnymo87/dotfiles --skill creating-claude-code-skills
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Creating Claude Code Skills
Source: https://github.com/johnnymo87/dotfiles/tree/main/.claude/skills/creating-claude-code-skills
Command: npx skills add https://github.com/johnnymo87/dotfiles --skill creating-claude-code-skills

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill teaches how Claude Code skills are structured, including frontmatter format, naming conventions, organization patterns, and when to choose personal vs company vs project scopes.

Core Features & Use Cases

  • Understand skill anatomy and frontmatter
  • Decide skill location (personal/company/project)
  • Plan multi-file skills when content grows
  • Follow best practices for naming and organization

Quick Start

Create your first skill directory named my-skill-name, add SKILL.md with frontmatter, and start writing.

Frequently Asked Questions about Creating Claude Code Skills

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Claude Code skill with frontmatter?

Claude Code skills use YAML frontmatter at the top of SKILL.md to define metadata. Include required fields: name (in gerund form), description (within length limits), and allowed-tools. This structure makes skills discoverable and reusable across personal, project, and company scopes.

What's the difference between personal, project, and company skill scopes?

Skill scope determines where it's stored and who can access it. Personal skills are individual-only; project skills are shared within a specific project; company skills are organization-wide. Choose based on reuse needs and audience.

How do I organize a multi-file Claude Code skill?

Start with SKILL.md containing frontmatter and core logic. Add optional companion files—REFERENCE.md for detailed documentation, ENVIRONMENTS.md for setup, TROUBLESHOOTING.md for common issues—as your skill grows in complexity.

What naming conventions should I use for Claude Code skills?

Use lowercase, hyphen-separated names that describe the task (e.g., parse-json-logs, generate-reports). The name field in frontmatter should use gerund form (verb-ing) to clearly indicate the action the skill performs.

When do I need to create a separate skill versus embedding logic in another tool?

Create a skill when the task is reusable across multiple projects or contexts, benefits from version control, or requires shared documentation. Skills enforce consistent structure and make reasoning transferable; use them for generalizable workflows.

What are the required fields in Claude Code skill frontmatter?

Required frontmatter fields are name (gerund form), description (concise overview), and allowed-tools (list of permitted tools). These fields enable skill discovery, set boundaries, and ensure compatibility across deployment scopes.