Create Your First Claude Code Skill
Build a simple Skill from scratch and see Claude use it automatically.
Creating Your First Skill
Let's build a skill from scratch. You'll create it, save it, and watch Claude use it automatically.
The task: consistent email drafting
Say you frequently ask Claude to draft emails. You have preferences:
- Professional but friendly tone
- Short paragraphs (2-3 sentences max)
- Always include a clear call-to-action
- Sign off with just your first name
Instead of reminding Claude every time, let's make it a skill.
Step 1: Create the skills folder
If it doesn't exist yet:
mkdir -p ~/.claude/skillsStep 2: Create the skill file
Create a new file called email-drafting.md:
nano ~/.claude/skills/email-drafting.mdOr use any text editor you prefer — VS Code, TextEdit, Notepad, whatever.
Step 3: Write the skill
# Email Drafting
Use this skill when drafting emails, follow-ups, or any written correspondence.
## Tone
- Professional but warm — like a friendly colleague, not a robot
- Confident without being pushy
- Match the formality to the context (more formal for new contacts, casual for existing relationships)
## Structure
- Keep paragraphs short: 2-3 sentences max
- Lead with the main point — don't bury it
- One email, one purpose — don't cram multiple asks into one message
## Required elements
- Clear subject line that summarizes the email's purpose
- A specific call-to-action (what should they do next?)
- Sign off with just my first name
## Avoid
- Corporate jargon ("circle back", "synergy", "touch base")
- Passive voice where active works better
- Overly long emails — if it's more than 3 short paragraphs, it should be a documentSave the file.
Step 4: Test it
Open a new Claude Code session (the skill loads at startup):
claudeNow ask it to draft an email:
Draft an email to Sarah asking her to review the Q1 report before Friday.Claude will generate an email following your skill's rules — short paragraphs, friendly tone, clear ask, signed with your first name.
You didn't have to specify any of that. The skill handled it.
How Claude uses skills
When you ask for an email, Claude recognizes this matches your "Email Drafting" skill (from the "Use this skill when..." line). It loads those instructions and applies them.
You can have many skills. Claude reads all of them and activates the relevant ones based on what you're doing.
Refining your skill
After using it a few times, you might notice things to adjust:
"Claude keeps writing 'I hope this email finds you well'" — add to the Avoid section:
- Starting with "I hope this email finds you well" or similar filler"The subject lines are too vague" — add more detail:
## Subject lines
- Be specific: "Q1 Report - Review needed by Friday" not "Quick question"
- Include deadlines if applicable
- Include project/client name for contextSkills evolve. When Claude does something you don't like, update the skill so it doesn't happen again.
A second skill: data cleaning
Let's create another one. You work with messy CSVs constantly and have strong preferences about how they should be cleaned.
Create ~/.claude/skills/data-cleaning.md:
# Data Cleaning
Use this skill when cleaning, standardizing, or processing CSV or spreadsheet data.
## Standard operations (always do unless told otherwise)
- Trim whitespace from all text fields
- Remove completely empty rows
- Standardize column names: lowercase, underscores instead of spaces
## Phone numbers
- Format as (XXX) XXX-XXXX for US numbers
- Keep international numbers as-is with + prefix
## Dates
- Standardize to YYYY-MM-DD format
- Handle common formats: MM/DD/YYYY, DD-MM-YYYY, "March 9, 2026"
## Currency
- Remove $ and , characters, store as plain numbers
- Keep two decimal places
## Duplicates
- When deduplicating, keep the row with the most filled-in fields
- If equal, keep the most recent (by any date column)
## Output
- Never modify the original file
- Save cleaned data as [originalname]_clean.csvNow every time you ask Claude to clean a CSV, it follows these rules automatically.
Organizing multiple skills
As you create more skills, keep them focused. One skill per domain:
~/.claude/skills/
email-drafting.md
data-cleaning.md
report-formatting.md
meeting-notes.md
code-style.mdEach skill should do one thing well. If a skill file gets longer than a page, consider splitting it.
Skill triggers
The "Use this skill when..." line matters. Be specific:
Too vague:
Use this skill when working with data.Better:
Use this skill when cleaning, deduplicating, or standardizing CSV or spreadsheet data.The more precise your trigger, the better Claude knows when to apply it.
Next up
Skills are great for personal use. But what if you want to share them with your team, or use skills others have created? That's where plugins come in. Next lesson: finding, installing, and using plugins from the community.