Tutorialthe whole build, step by step

Claude Code skills: turn how you work into a SKILL.md

Write down how you do a job, turn it into a Claude Code skill (one folder, one SKILL.md), and test it on a real job until it does it your way.

By Eric Snyder, founder 4 min readChecked on Oct 6, 2026
Save this guidereceiptsgroup.com/guides/claude-code-skill
TimeAbout 30 minutes per skill, most of it the test
You needClaude Code (a paid Claude plan) and a job you do often enough to explain
Running costNothing beyond your Claude plan (Pro is $20 a month at list price, checked 2026-10-04)
Where it livesOne folder: .claude/skills/<name>/ in a project, or ~/.claude/skills/<name>/ for all of them
Works onMac, Linux, or Windows with WSL
In this guide
Start here
  1. The easy way: let Claude write it with you
The manual way
  1. What a skill is
  2. Build one, step by step
  3. Example: a finished small skill
  4. Real use: prompts for real jobs
  5. What mine look like
  6. When it breaks
  7. Sources, checked Oct 6, 2026

A Claude Code skill is a folder with one file in it, SKILL.md, that teaches Claude how to do one thing your way. Once it's there, Claude picks it up when the job comes up, or you call it by name. I've got three that run my video setup: one directs the edit, one renders my avatar, one schedules the posts. I explain things once now, instead of every Monday.

This guide turns how you already do a job into a skill: write the steps down in your words, have Claude write the SKILL.md, test it on one real job, and fix what it got wrong. That last step is the one everybody skips, and it's the one that makes it work.

Checked on Oct 6, 2026

Start herepart 1

The easy way: let Claude write it with you

Write down how you do the job in a text file in your project folder (rough is fine), start Claude Code there, and paste this. Claude drafts the skill, you run it on a real job, and Claude fixes what went wrong.

bashStart Claude in your project
cd <your project folder>
claude
PromptThe prompt (copy all of it)
Help me turn how I do a job into a Claude Code skill, following this guide:
https://receiptsgroup.com/guides/claude-code-skill

My notes on how I do it are in <file name>. The skill's job, in one line: <what it should do>.

1. Read my notes. Ask me up to five questions about anything that's vague, my tools, or my preferences. One at a time.
2. Write .claude/skills/<short-name>/SKILL.md using the guide's template: a description that says when to use it, the steps in order with exact commands, what good output looks like, and a Mistakes to avoid section. Under 200 lines; put long reference material in a second file next to it.
3. Show it to me before you save.
4. Then tell me exactly how to test it on one real job, and wait.

Rules: write it in my words and for my setup. No keys, passwords or customer names in the skill.
The manual wayparts 2 to 7

What a skill is

This is the manual way: the file, where it goes, and how to test it.

  • A folder with a SKILL.md in it. In a project: .claude/skills/<name>/SKILL.md. For every project on your computer: ~/.claude/skills/<name>/SKILL.md.
  • The top of the file is a short header between --- lines. The important field is description: what the skill does and when to use it. Claude reads the descriptions to decide which skill fits the job.
  • You can call it by name: type /<name> in Claude Code, with anything after it as the job.
  • It can have more files: a reference doc, examples, a script. Link them from SKILL.md. Anthropic's docs suggest keeping SKILL.md under 500 lines and moving detail into those files.
  1. 1
    How you do itYou, in your own words: steps, tools, folders→ notes/howto.txt
  2. 2
    The draft skillClaude Code writes it from the template→ .claude/skills/<name>/SKILL.md
  3. 3
    The testYou run /<name> on one real job→ what it got wrong
  4. 4
    The fixClaude adds it to Mistakes to avoid→ a skill that does it your way

Build one, step by step

  1. Write down how you actually do it

    The steps you really follow, in your words: which tool, which folder, what you check before you call it done, and what usually goes wrong. Rough is fine; Claude asks about the gaps. If you learned it from someone else's course or video, write your own version of what you do now. Don't paste their material into a skill, and don't publish it as yours.

    bashSave it in your project
    cd <your project folder>
    mkdir -p notes
    # write your steps into notes/howto.txt with any text editor, then check:
    wc -w notes/howto.txt
  2. Make the skill's folder

    bashOne folder per skill
    mkdir -p .claude/skills/<short-name>
  3. Have Claude write SKILL.md from this template

    Start claude in the project and ask it to fill this in from notes/howto.txt. The description is the part people rush and regret: if it doesn't say when to use the skill, Claude won't.

    markdown.claude/skills/<short-name>/SKILL.md (template)
    ---
    name: <short-name>
    description: <What it does, in one sentence>. Use when <the words or situations that should trigger it, e.g. "the user asks to X", "a file in Y changes">.
    ---
    
    # <Short name>
    
    ## Before you start
    - Read <the files it needs>. Check <what must be true first>.
    
    ## Steps
    1. <The first action, with the exact command or click.>
    2. <...>
    3. <...>
    
    ## What good looks like
    - <How you know it worked: the file it makes, the output it prints.>
    
    ## Mistakes to avoid
    - <Filled in after the test. One line each.>
    
    ## Never
    - <Anything it must not do: spend money, post, delete, print keys.>
    PromptPrompt: write it
    Read notes/howto.txt. Fill in the template in this guide as .claude/skills/<short-name>/SKILL.md for my setup: exact commands, my folders, my tools. Leave Mistakes to avoid empty for now. Show me before you save.
  4. Test it on one real job

    Open a new Claude Code session (so it starts fresh) and use it on something real. Watch where it hesitates, guesses or goes off script.

    PromptTwo ways to test
    /<short-name> <a real job, e.g. "set up the weekly report for October">
    
    # or, to check that Claude finds it on its own, just describe the job without the name:
    <the job, in the words you'd normally use>
  5. Fix what it got wrong

    Every wrong turn becomes one line under Mistakes to avoid, or a fix to a step. Then test again. Two or three rounds is normal.

    PromptPrompt: fix it
    In that run you <what went wrong>. Update .claude/skills/<short-name>/SKILL.md so it doesn't happen again: fix the step, and add one line to Mistakes to avoid. Show me the diff before you save.

Example: a finished small skill

Example (made up): a skill that turns a call transcript into a follow-up email draft. Short, specific, with a never list.

markdown.claude/skills/follow-up/SKILL.md
---
name: follow-up
description: Drafts a follow-up email from a sales call transcript in calls/. Use when the user asks for a follow-up, a recap email, or "what do I send after this call".
---

# Follow-up email from a call

## Before you start
- Read the transcript the user names (calls/<date>-<name>.txt) and brain/VOICE.md.

## Steps
1. List what the customer asked for, in their words, and every promise we made.
2. Draft the email: thank them in one line, recap what they asked for, the next step with a date, nothing else.
3. Under 120 words. My voice from brain/VOICE.md.
4. Save it as drafts/<date>-<name>-follow-up.md and show it.

## What good looks like
- Every promise in the email is in the transcript. Nothing new is promised.

## Mistakes to avoid
- Don't summarize the whole call; one recap line per thing they asked for.
- Don't invent a date; if none was agreed, ask the user.

## Never
- Never send the email. Never add prices that aren't in the transcript.

Real use: prompts for real jobs

Prompt1. Turn this chat into a skill
We just did <the job> together and it took a lot of back and forth. Turn what worked into a skill: .claude/skills/<short-name>/SKILL.md with the steps we ended up using and a Mistakes to avoid list from what went wrong. Show me before you save.
Prompt2. Check your descriptions
Read every SKILL.md under .claude/skills/ and ~/.claude/skills/. For each, tell me in one line when Claude would pick it, and flag any two whose descriptions overlap enough to confuse you. Read-only.
Prompt3. Split a skill that got too long
SKILL.md for <name> is getting long. Keep the steps and the mistakes in SKILL.md; move background and reference material into reference.md in the same folder and link it. Show me the diff.
Prompt4. Make it manual-only
I only want <name> to run when I type /<name>. Add disable-model-invocation: true to its header and explain what changes.

What mine look like

My three run my video setup. One directs the edit (brief, checks, render, the quality gate). One renders my HeyGen avatar with my look and my voice, Avatar IV every time. One schedules the finished posts. They're short, about twenty lines each: a description that says when to use it, and pointers to the longer docs in the project where the detail lives and gets updated. So the skill stays a map, and nobody has to keep two copies of the instructions in sync.

When it breaks

Claude doesn't use the skill unless you type its name
The description doesn't say when to use it. Add the words you actually type when you need it (“Use when the user asks for a recap, a follow-up...”).
Claude uses it when you didn't want it
Narrow the description, or add disable-model-invocation: true so it only runs when you type /<name>.
/<name> isn't found
Check the path is exactly .claude/skills/<name>/SKILL.md (capital SKILL, inside a folder), and start a new Claude Code session.
It does the job the generic way, not yours
The skill is missing your specifics: your tools, folders and checks. Add them; that's most of what makes it yours.
It's getting huge
Move reference material into a second file and link it (real-use prompt 3). Anthropic's docs suggest keeping SKILL.md under 500 lines.

That's a skill

A page of steps in your words, tested on a real job, with a list of the mistakes it already made so it doesn't make them again. Make one for the thing you explain most often.

Checked on Oct 6, 2026 against

Every claim about a third-party tool in this guide (plans, prices, menu paths, commands, limits) was checked against these official pages on Oct 6, 2026. These screens change often: if something looks different, trust the page over this guide.

  • Claude Code: SkillsPersonal (~/.claude/skills//SKILL.md) and project (.claude/skills//SKILL.md) skills; the description field decides when Claude uses it; / to call it; supporting files; keep SKILL.md under 500 lines; disable-model-invocation.
  • Claude Code: Advanced setupInstall command and which plans include Claude Code.
  • Claude: Plans and pricingPro at $20 a month billed monthly (checked 2026-10-04).
Rather skip the setup?

Want help setting this up?

Receipts Group builds these systems. Thirty minutes with Eric tells you which piece is worth building first, or that none of them are. The guides stay free either way.

Keep going

more free guides