How To

How to Build Your Own Claude Skill

How to Build Your Own Claude Skill

Making your own Claude Skill is easier than most people expect. You are not writing a program. You are writing a note, and putting it where Claude will find it.

Here is one you can build right now.

What Claude reads, and when it reads it 1. The label Every skill you have. Tiny. ALWAYS the label matches what you asked 2. The instructions Your actual instructions. ON MATCH the instructions point to another file 3. The extra files Longer notes. Often never opened at all. IF NEEDED This is why twenty skills cost almost nothing
Claude reads the labels, then opens one. That is why the label decides whether your skill ever gets used.

Step one: make a folder

mkdir -p ~/.claude/skills/changelog

That line makes a folder. mkdir is short for “make directory”, and directory is just another word for folder. The ~ symbol means your home folder, wherever that lives on your computer.

You can also make the folder by clicking around normally. The command is just faster.

Step two: write the note

Inside that folder, make a file called SKILL.md and put this in it:

---
name: changelog
description: Write release notes in our style. Use this when
  someone asks for release notes, a changelog, or a summary
  of what changed.
---

# Release notes

Sort changes into Added, Changed, Fixed and Removed.
Leave out any group that is empty.

Write for someone who uses the product, not someone who
built it. "Search now handles apostrophes" is good.
"Fixed regex in tokeniser" is not.

One line per change.

Save it. That is a finished skill.

Step three: try it

Start a new chat with Claude and ask for release notes. It should find your skill on its own and follow your rules.

You can also run it directly by typing /changelog.

Two places a skill can live

~/.claude/skills/     just for you, works everywhere
.claude/skills/       inside one project, shared with your team

Use the first one for personal habits. Use the second for anything the whole team should follow.

The team option is genuinely useful. Rules written in a document somewhere get ignored. Rules that live inside the project get picked up automatically by everyone who works on it, including people who join later and were never told.

The one thing that decides whether it works

When Claude is deciding whether to use your skill, it does not read your instructions. It only reads the description.

Think of it like a label on a jar in a cupboard. You do not open every jar to see what is inside. You read the labels and open one.

So a badly labelled jar never gets opened, no matter how good the contents are.

Two rules for a good label:

  • Say what it does and when to use it. Most people write the first half and forget the second. The second half is the part that does the matching.
  • Use the words people actually say. If your team says “release notes” but your label says “changelog”, it will miss. Put both in.

When one file is not enough

my-skill/
├── SKILL.md
├── scripts/      small programs Claude can run
├── references/   longer notes, read only if needed
└── assets/       templates, logos, fonts

Keep SKILL.md short, and move long material into references/. Claude only opens those extra files when the job actually needs them, so a big pile of notes costs nothing while it sits unused.

Put anything with an exact right answer into scripts/. Checking a file, resizing images, adding up numbers — a small program does those perfectly every time, which beats asking a model to be careful.

Get Claude to write it for you

There is a skill whose whole job is building other skills. It is called skill-creator.

It sets up the folder, writes the label, and can test whether your description actually gets picked up. That last part is worth having, because a skill that quietly never fires is hard to spot on your own.

The full rules for the format are published at agentskills.io/specification, and there are nineteen finished examples to copy from at github.com/anthropics/skills.

Join the discussion

Held for review before it appears. Links are not allowed and your email is never published.