Scaffolds new Claude Code skills with proper YAML frontmatter and file structures.

Install

mkdir -p .claude/skills/create-skill-shawnrushefsky && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12376" && unzip -o skill.zip -d .claude/skills/create-skill-shawnrushefsky && rm skill.zip

Installs to .claude/skills/create-skill-shawnrushefsky

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Create new Claude Code skills. Use when the user wants to create a skill, make a skill, add a skill, write a skill, or build a skill for Claude Code.
149 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Determine the scope of the skill (personal or project-level).
  • Create the necessary directory structure for a new skill.
  • Write the SKILL.md file with required YAML frontmatter.
  • Include optional frontmatter fields like `allowed-tools` and `model`.
  • Follow naming rules for skill directories and files.
  • Bundle utility scripts in a `scripts/` subdirectory.

How it works

The skill guides the user through defining the skill's scope, creating its directory and SKILL.md file, and populating it with required frontmatter and content following specific naming and best practices.

Inputs & outputs

You give it
A request to create a new Claude Code skill, including its name and description.
You get back
A new SKILL.md file with appropriate frontmatter and content, located in the specified personal or project-level directory.

When to use create-skill

  • Creating new AI skills
  • Adding project-specific tools
  • Standardizing AI assistant instructions

About this skill

Creating Claude Code Skills

Overview

Skills are reusable instruction sets that extend Claude Code's capabilities. They're stored as SKILL.md files with YAML frontmatter and Markdown instructions.

Skill Locations

TypePathScope
Personal~/.claude/skills/Available across all projects
Project.claude/skills/Shared with team in repository

Instructions

When creating a skill:

  1. Determine scope: Ask if the skill should be personal (~/.claude/skills/) or project-level (.claude/skills/)

  2. Create directory structure:

    .claude/skills/<skill-name>/
    └── SKILL.md
    
  3. Write the SKILL.md file with required frontmatter:

    ---
    name: skill-name
    description: What this skill does. Use when [trigger conditions].
    ---
    
    # Skill Name
    
    ## Instructions
    Step-by-step guidance...
    
    ## Examples
    Concrete examples...
    

Required Frontmatter Fields

FieldDescription
nameLowercase, hyphens allowed, max 64 chars
descriptionWhat it does and when to use it (max 1024 chars)

Optional Frontmatter Fields

FieldDescription
allowed-toolsComma-separated list of tools (e.g., Read, Grep, Glob, Bash)
modelSpecific Claude model to use

Naming Rules

  • Use only lowercase letters, numbers, and hyphens
  • Directory name should match the skill name
  • File must be exactly SKILL.md (case-sensitive)

Best Practices

  1. Write trigger-focused descriptions: Include keywords users would naturally say
  2. Keep SKILL.md under 500 lines: Use progressive disclosure for detailed content
  3. Include concrete examples: Show exactly how the skill should behave
  4. Link supporting files: If you need reference material, put it in separate .md files and link from SKILL.md
  5. Bundle utility scripts: Place helper scripts in a scripts/ subdirectory

Example: Simple Skill

---
name: commit-message
description: Generate commit messages from staged changes. Use when writing commits or reviewing diffs.
---

# Commit Message Generator

## Instructions

1. Run `git diff --staged` to see changes
2. Create a commit message with:
   - Summary under 50 characters (imperative mood)
   - Blank line
   - Detailed description of what and why

## Example Output

Add user authentication middleware

Implement JWT-based authentication that validates tokens on protected routes. Includes refresh token support and automatic token renewal.

Example: Multi-File Skill

api-testing/
├── SKILL.md
├── PATTERNS.md
└── scripts/
    └── mock_server.py

SKILL.md:

---
name: api-testing
description: Test REST APIs with mocking and assertions. Use when testing endpoints or writing API tests.
allowed-tools: Read, Write, Bash
---

# API Testing

## Quick Start
...

For common patterns, see [PATTERNS.md](PATTERNS.md).

After Creating

Remind the user to restart Claude Code or start a new conversation for the skill to be available.

When not to use it

  • When the user wants to use an existing skill.
  • When the user needs to modify an existing skill without creating a new one.

Limitations

  • The skill name must be lowercase, use hyphens, and have a maximum of 64 characters.
  • The skill description has a maximum length of 1024 characters.
  • The SKILL.md file must be exactly `SKILL.md` (case-sensitive).

How it compares

This skill provides a structured, step-by-step process for creating new Claude Code skills, including specific file structures, frontmatter requirements, and best practices, unlike manually writing a markdown file.

Compared to similar skills

create-skill side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
create-skill (this skill)07moNo flagsBeginner
autonomous-agent-patterns46moReviewIntermediate
agent-orchestration-improve-agent43moNo flagsAdvanced
skill-generator44moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry