Home/Claude Code Skills & Plugins/Episode 2
IntermediateEpisode 2 of 412 min

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:

bash
mkdir -p ~/.claude/skills

Step 2: Create the skill file

Create a new file called email-drafting.md:

bash
nano ~/.claude/skills/email-drafting.md

Or use any text editor you prefer — VS Code, TextEdit, Notepad, whatever.

Step 3: Write the skill

markdown
# 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 document

Save the file.

Step 4: Test it

Open a new Claude Code session (the skill loads at startup):

bash
claude

Now 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:

markdown
- Starting with "I hope this email finds you well" or similar filler

"The subject lines are too vague" — add more detail:

markdown
## Subject lines
- Be specific: "Q1 Report - Review needed by Friday" not "Quick question"
- Include deadlines if applicable
- Include project/client name for context

Skills 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:

markdown
# 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.csv

Now 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.md

Each 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.

What are Claude Code Skills?Next: Install and Use Claude Code Plugins