Skills in
Claude Code
Build expert skills conversationally — describe what you want, the skill builder writes the file. No code, no terminal required.
Get StartedWhat Is a Skill?
A skill is a plain Markdown file called SKILL.md stored in a folder. Before Claude starts a task, it scans skill descriptions to decide if one is relevant — then reads the full file to get expert instructions.
description (frontmatter)
Tells Claude when to apply the skill. Written like a job trigger — specific verbs, clear scope. This is the only part Claude reads when deciding whether to load the skill.
body (markdown)
Tells Claude how to do the task well. Include tone rules, structure requirements, examples, and anything you'd put in a style guide or job description.
Any task, any format
Skills work for emails, code reviews, meeting notes, changelogs, presentations — anything you ask Claude to do repeatedly. If you repeat it, write a skill for it.
Think of it like handing Claude a job description before it starts work. The description field is the trigger logic. The rest of the file is the expert guidance. Write the description with specific verbs and a clear scope.
How Claude Decides to Use a Skill
Every time you give Claude a task, it runs through this four-step process automatically.
User Prompt
"Write an email to a client…"
Scan Descriptions
Reads description fields from all skills
Load SKILL.md
Reads the full file for best practices
Execute Task
Applies your expert guidance
Anatomy of a SKILL.md
Every skill file has the same structure: a YAML frontmatter block that triggers the skill, followed by the expert instructions.
---
name: email-writer
description: "Use this skill whenever
the user asks to write, draft, or
compose a professional email,
follow up, or reply to an email."
---
# Email Writer Skill
## Tone & Voice
- Clear, concise, professional
- Avoid jargon and filler phrases
## Structure
1. Subject line (specific + action)
2. Opening — one sentence, no filler
3. Body — max 4 short paragraphs
4. ONE clear ask at the end
5. Sign-off: "Best,"
## Example
**Subject:** Project update — new date: March 15
Hi Sarah,
We're running one week behind on the
dashboard redesign due to an API delay.
New delivery date is March 15.
Could you confirm this works for your team?
Best,
[Your name]
name
Short identifier for the skill. Used in logs when Claude loads it.
description
This triggers the skill. Claude reads only this field to decide whether to load the rest of the file. Write it with specific verbs and clear scope.
Instructions
Tone, rules, structure — the expert guidance Claude follows when executing the task. Use headers, bullet points, numbered lists.
Example (optional)
Optional but powerful — shows Claude exactly what good output looks like. One concrete example beats three paragraphs of rules.
Enable the Skill Builder
The skill-creator is a built-in Anthropic skill that turns Claude into an interactive skill designer. Enable it once and you're ready to build any skill conversationally — no files or folders to manage.
Writes the frontmatter trigger correctly · Structures rules and examples in proven patterns · Asks clarifying questions to sharpen the skill · Saves the finished SKILL.md to your skills folder automatically · Can run quick evals to verify the skill triggers as expected.
Open Customize > Skills in the desktop app
- Click the gear icon or open Customize in the left sidebar.
- Select Skills from the submenu.
- You'll see a list of available skills — built-in Anthropic skills are shown at the top.
Toggle skill-creator on
Locate skill-creator in the Anthropic skills section. Click its toggle switch — it turns teal when active. The skill is now available in every chat window.
Also enable docx, pptx, xlsx, and pdf if they're not already active — you'll use them in Stage 2.
Verify it's active
Open a new chat window in Claude Code and type:
/skills
You should see skill-creator listed. You're ready — no terminal, no files to create.
Workshop Stages
Four stages, basic to advanced. Each one uses the skill builder — you just describe what you want and Claude writes the skill.
Install Claude Code
Step-by-step installation for Windows & macOS — Node.js, npm, Claude Code, and API key setup.
↗ Setup GuideEmail Writer
Build your first skill: professional client emails with specific subject lines, no filler opener, one clear ask, and a consistent sign-off.
⏱ ~10 minDocument Skills
Enable built-in docx, pptx, and pdf skills. Live demo comparing output with and without each skill.
Build Any Skill
The general five-step loop: pick a task, invoke the builder, refine in conversation, confirm, test. Works for meeting notes, code reviews, changelogs, tickets — anything repeating.
⏱ ~10 minSharpen Your Skill
Tighten the trigger, add negative rules and conditionals, then run a deliberate eval — four upgrades that make any skill measurably better.
⏱ ~15 minContract Reviewer
Build a skill that reads any contract, flags weak or risky clauses, and suggests plain-English fixes — no legal background needed to use it.
⏱ ~15 minEdit SKILL.md by Hand
Open the raw SKILL.md file in a text editor, tweak the frontmatter and body manually, then sideload it into the Claude Desktop app via Settings → Capabilities → Skills.
Game-Making Skill
Use the skill builder to generate a full retro-shooter expert skill — canvas patterns, delta-time loop, chiptune audio, wave logic — then build a game with it immediately.
Email Writer — Your First Skill
One prompt to the skill builder is all it takes. Here's the full flow.
Invoke the skill builder
Open a new chat in Claude Code and paste this prompt:
"Use the skill builder to create an email-writer skill. It should write professional client emails: specific subject line, no filler opener, max 200 words, one clear ask at the end, sign-off with 'Best,'"
Answer the builder's clarifying questions
It will ask about preferred tone, sign-off, word limits, and special rules (e.g. always CC a manager on client emails). Answer in plain language.
Review the generated SKILL.md
The builder shows you the complete file — frontmatter, rules, and an example. Ask for any changes in plain English:
- → "Change the sign-off to 'Kind regards,'"
- → "Add a rule about keeping emails under 150 words"
- → "Always CC the account manager on client emails"
Confirm and save
When you're happy, type save or confirm. The builder writes the SKILL.md to your skills folder automatically — no file manager needed.
Test it — see the difference
Start a fresh chat and run this prompt. Claude should mention reading the email-writer skill before responding:
"Write an email to a client about a project delay."
"Draft a follow-up to a colleague who hasn't responded in 3 days."
"Reply to a customer complaint about a late delivery."
Look for: specific subject line · no "Hope this email finds you well" · one concrete ask · your custom sign-off.
Sharpen Your Skill
Revisit the email-writer skill from Stage 1. Four targeted upgrades that make any skill noticeably more precise — all in plain language, no files to edit manually.
Trigger Engineering — write a description that fires exactly when you want
The description field is the only part Claude reads when deciding whether to load a skill. Vague descriptions over-fire (skill loads when it shouldn't) or under-fire (skill is ignored). The fix is specific verbs and a clear scope.
Too vague: "Use this skill when the user wants to communicate with someone."
Precise: "Use this skill whenever the user asks to write, draft, or compose a professional email, follow-up, or reply — including internal emails to colleagues and external emails to clients."
"Use the skill builder to edit my email-writer skill. Tighten the description so it triggers on: write an email, draft an email, compose a message, follow up, reply to an email. It should NOT trigger when I ask to summarise an email or translate one."
Negative Examples — tell Claude what to never do
Claude has strong defaults — it naturally opens emails with "Hope this email finds you well." A negative rule overrides that default every time. One concrete "never" beats a paragraph of positive instructions.
— Never open with "Hope this email finds you well" or any filler greeting.
— Never use more than one exclamation mark per email.
— Never include more than one ask per email.
"Use the skill builder to edit my email-writer skill. Add these rules: never open with 'Hope this email finds you well' or any filler phrase; never use more than one exclamation mark; never include more than one ask per email."
Conditional Instructions — different rules for different situations
Skills can branch. Write plain-English conditions and Claude will apply the right rule based on context — no code required.
— If the email is to an internal colleague, use a casual tone and skip the formal sign-off.
— If the email is a complaint response, open by acknowledging the issue before explaining.
— If the user provides a deadline, always include it in the subject line.
"Use the skill builder to edit my email-writer skill. Add: if the email is internal (to a colleague), use a casual tone and skip the formal sign-off. If the user mentions a deadline, always put it in the subject line."
Skill Evaluation — verify it fires when it should and stays quiet when it shouldn't
A good skill eval is six prompts: three that should trigger the skill, three that should not. Run them in a fresh chat each time so there's no conversation carry-over.
Should trigger
"Write an email to a client about a delay."
"Draft a follow-up to someone who hasn't replied."
"Reply to a customer complaint."
Should NOT trigger
"Summarise this email thread."
"Translate this email to Spanish."
"What does this email mean?"
Look at Claude's thinking output at the top of the response — it will name the skill if it loaded it. No skill name = skill did not fire.
Contract Reviewer
Build a skill that reads any contract, identifies weak or risky clauses, and suggests plain-English fixes. A perfect example of how a skill can encode expert knowledge that most people don't have.
Go to Customize > Skills and toggle pdf ON. This lets Claude read contract files you upload directly — no copy-pasting required.
Build the skill with one prompt
Open a new chat and paste this into the skill builder:
"Use the skill builder to create a contract-reviewer skill. When I paste or upload a contract, it should: read every clause carefully, flag weak or risky points, explain why each one is a problem in plain English, and suggest a specific fix. Organise the output as a numbered list of findings. Each finding should have: the original clause or phrase, what the risk is, and a suggested rewrite."
Tell it what weak points to look for
The skill builder will ask what categories of issues to flag. Here are the most valuable ones to include — answer in plain language:
Words like "reasonable", "timely", or "as soon as possible" with no defined meaning. Either party can interpret them differently.
If only one party can terminate the contract, or notice periods are very short, the other side is exposed.
No limit on how much one party can owe the other if something goes wrong.
Work described in general terms with no specific output, date, or measurable acceptance criteria.
Contract renews unless cancelled within a short window — easy to miss, costly to break.
Who owns work produced under the contract is unclear or defaults to the wrong party.
Set the output format
Ask the builder to structure every finding the same way. Consistent format makes the output easy to act on:
"Each finding should follow this format exactly — Issue: [one sentence naming the problem]. Risk: [why this matters, in plain English, one or two sentences]. Suggested fix: [a rewritten version of the clause or specific language to add]."
Save and test with a real clause
Type save to confirm, then open a fresh chat and paste this sample clause to verify the skill fires and produces structured findings:
"Review this contract clause:
The vendor shall deliver the project within a reasonable timeframe.
Payment is due upon satisfactory completion. Either party may
terminate this agreement with 3 days written notice. The vendor
retains all intellectual property created under this agreement
unless otherwise agreed in writing."
A well-built skill should return at least four findings from that single paragraph — vague deadline, undefined "satisfactory", short termination notice, and IP ownership risk.
With the pdf skill enabled, you can upload a full contract file instead of pasting text. Claude will read the whole document and apply the contract-reviewer skill to every clause automatically.
Edit SKILL.md by Hand & Load It in the Desktop App
The skill builder is fast, but every skill is just a Markdown file on disk. Open it, change a line, save, then sideload the folder into the Claude Desktop app — no builder required. This is the underlying mechanic that the builder is automating, and it's the only way to wire in resources Claude can't write for you (CSVs, examples, reference scripts).
Skills built in earlier stages live under ~/.claude/skills/<skill-name>/SKILL.md on macOS/Linux, or %USERPROFILE%\.claude\skills\<skill-name>\SKILL.md on Windows. Each skill is its own folder — you can drop extra files (templates, reference data) right next to SKILL.md.
Open the existing skill folder
Pick the email-writer skill from Stage 1. Open its folder in your file manager or favourite editor (VS Code, Sublime, even TextEdit/Notepad).
cd ~/.claude/skills/email-writer
ls
# SKILL.md
code SKILL.md # or: open -e SKILL.md
Read the two parts: frontmatter & body
The top YAML block between the --- fences is the frontmatter — Claude reads only the description here when deciding whether to load the skill. Everything below is the body — the rules Claude follows once the skill is active.
---
name: email-writer
description: Use this skill whenever the user asks to write,
draft, compose, or rewrite a professional email. Triggers
include 'write an email', 'draft an email', 'reply to'.
---
# Email Writer
## Rules
- Subject lines must be specific (no "Quick question").
- Never open with "Hope this email finds you well".
- One clear ask per email.
- Sign off with "— Doron".
Make a deliberate manual edit
Change something the builder would have to be coaxed into. Three good practice edits:
— Add a new bullet under Rules: "Match the language of the incoming email — if it's in Hebrew, reply in Hebrew."
— Add a new section ## Examples with one good and one bad email side by side.
— Tighten the description by adding negative triggers: "Do NOT trigger when the user asks to summarise or translate an existing email."
Save the file. That's it — no compile step, no restart yet.
Load it into the Claude Desktop app
The desktop app reads skills from your local skills folder, but you have to point it there once. The flow is identical on macOS and Windows.
- Open the Claude Desktop app.
- Click your profile / avatar → Settings.
- Go to Capabilities → Skills (or Customize → Skills in newer builds).
- Click Add skill / Import from folder and pick the folder containing your edited
SKILL.md. - Toggle the new
email-writerentry on.
Toggle it off, then on again — the desktop app re-reads the file on each enable. Some builds require a full quit (⌘Q / right-click tray → Quit) before edits are picked up.
Verify the edit landed
Open a fresh chat in the desktop app and run a prompt that should fire the skill. Check Claude's thinking output at the top of the response — the skill name appears there when it loads.
"Write a short email to a client letting them know the report is delayed by two days."
Your manual edit should be visible in the output — the new rule applied, the new tone honoured, or the new section's example pattern reflected. If it's not, the file wasn't reloaded; toggle the skill off/on and try again.
When to hand-edit vs. use the builder
Hand-edit
- One-line tweaks (description, a single rule)
- Adding reference files alongside SKILL.md
- Version-controlling skills in git
- Sharing a skill folder with a teammate
Use the builder
- Starting from scratch
- Restructuring large sections
- Adding negative examples or evals
- Anywhere you'd rather describe than write
Game-Making Skill
The skill builder can generate richer technical skills than most people would write by hand. Use it to create a full retro-shooter expert skill, then build a game with it immediately.
"Use the skill builder to create a retro-shooter skill for building retro browser games as single HTML files. Cover: sub-genres (Space Invaders, Galaga, Asteroids, bullet hell), canvas 2D drawing, scrolling starfield, particle explosions, Web Audio API chiptune SFX, delta-time game loop, AABB collision detection, wave spawning, power-ups (rapid fire, spread shot, shield), HUD drawing, localStorage hi-score, and game states (title / playing / game over). Include a working code snippet for each major system. Write a description that triggers whenever anyone asks to build a game, shooter, or arcade project."
Refine it with follow-up prompts in the same conversation:
"Add code snippets for maybeDropPowerUp and the collectPowerUp handler."
"Make the description trigger on: game, shooter, arcade, Space Invaders, Galaga, Asteroids, bullet hell, canvas game, HTML game."
When satisfied, type save. Then test in a fresh chat:
"Build me a simple Asteroids-style game — rotating ship, thrust, shooting rocks that split into smaller ones, wrap-around screen edges."
Claude should mention reading the retro-shooter skill before starting. The output will be noticeably more polished: particle explosions, chiptune audio, delta-time movement, hi-score persistence, and proper game states — all from the skill.
Skill Builder Cheatsheet
Everything you need to know in one place.
| Task | How to do it in Claude Code |
|---|---|
| Enable the skill builder | Customize > Skills > toggle skill-creator ON |
| Create a new skill | "Use the skill builder to create a [name] skill that [description]" |
| Edit an existing skill | "Use the skill builder to edit my [name] skill — add [rule]" |
| List all active skills | /skills in any chat window |
| Disable a skill | Customize > Skills > toggle the skill OFF |
| Test a skill triggers | Fresh chat > type your trigger phrase > check thinking output for skill name |
| Export skill (for upload) | Right-click the skill folder > Compress / Send to ZIP |
| Upload skill to claude.ai | Settings > Customize > Skills > + > Upload a skill (ZIP) |
Desktop App vs. claude.ai Web
| Aspect | 🖥 Claude Code Desktop App | 🌐 claude.ai Web |
|---|---|---|
| Create skills | Conversationally via skill-creator | Upload pre-built skills as ZIP |
| Edit skills | Ask the builder to update — saves in place | Must re-upload ZIP to update |
| Where they work | All desktop app projects | Browser chat, Excel add-in, PowerPoint add-in |
| Manage | /skills to list; Customize to toggle |
Customize > Skills toggle panel |
Skills to Build Next
Any task you repeat is worth a skill. Just describe it to the skill builder and it'll write the file.
meeting-notes
Format and summarise meeting transcripts with a TL;DR and numbered action items with owners
code-review
Enforce your team's PR review style — what to check, how to phrase feedback
release-notes
Write changelogs in a consistent format from commit messages or diffs
ticket-writer
Turn rough ideas into well-scoped Jira tickets with acceptance criteria
status-update
Write weekly team status updates in a structured, scannable format
retro-shooter
Expert skill for retro browser games — canvas, audio, game loop, waves, power-ups
The SKILL.md files the builder creates live on disk. Commit them alongside your codebase and share them across your team — or export as ZIP and upload to claude.ai for browser and Office add-in use.
Key Takeaways
Skills are plain Markdown files — no code required. The skill builder writes the file; you just describe what you want in plain language.
The skill builder makes creation conversational. Enable skill-creator in Customize > Skills, then describe your task. Refine in conversation until it's right, then type save.
The description field is what triggers a skill. Write it with specific verbs and a clear scope — that's the only part Claude reads when deciding whether to load it.
Any task you repeat is worth a skill. If you've asked Claude the same thing more than twice, build a skill for it.
The same SKILL.md works everywhere. Built in the desktop app, exported as ZIP, uploaded to claude.ai — write it once, use it in chat, Excel, and PowerPoint.
Now go build something.
Download the full workshop PDF and follow the skill builder stages.
Download Workshop PDF