Lesson 1.2: Create Your First Skill

Duration: 50 min

Learning Objectives

  • Build a complete SKILL.md file for your Quick Win
  • Understand YAML frontmatter and markdown instructions
  • Test and verify your first working automation
🎯 What You'll Learn: How to build a working skill file that automates your Quick Win
⏱️ Time Required: 50 minutes
πŸ“¦ What You'll Build: A complete SKILL.md file that runs YOUR automation

Riley's Journey Continues

In Lesson 1.1, Riley identified her Quick Win: the weekly margin report that consumed 4 hours every Monday.

Now she's ready to build.

πŸ’¬ "I'll be honest - when I heard 'create a skill file,' I thought we'd be coding. Turns out, it's more like writing really clear instructions. If you can explain your process to a new team member, you can write a skill."
β€” Riley Harper

Where Riley is now:

  • βœ… Quick Win identified (weekly margin report)
  • βœ… Annual cost calculated (Β£15,000/year)
  • 🎯 Ready to build her first skill
  • By the end of this lesson:

  • πŸ“ Riley will have a working SKILL.md file
  • ⚑ Her margin report will generate in 18 minutes instead of 4 hours
  • πŸŽ‰ First automation deployed and running

  • What We're Building in This Lesson

    A skill is just YOUR process, written down clearly. If you can explain your task to a colleague, you can write a skill.

    In this lesson:

  • What skills are (SOP for Claude)
  • The two parts: frontmatter + instructions
  • YAML basics (it's just settings)
  • Live demo: building a skill from scratch
  • Testing and verifying it works

  • Key Concept: What Is a Skill?

    Think of a skill like a company SOP (Standard Operating Procedure).

    SOP for HumansSkill for Claude
    Written instructionsSKILL.md file
    "Here's how we do X""Here's how to do X"
    New employee reads itClaude loads it automatically
    Ensures consistencyEnsures consistency

    A skill has two parts:

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  PART 1: FRONTMATTER (YAML)         β”‚
    β”‚  ─────────────────────────────      β”‚
    β”‚  β€’ name                             β”‚
    β”‚  β€’ description                      β”‚
    β”‚  β€’ author                           β”‚
    β”‚  β€’ version                          β”‚
    β”‚  (The cover page of your SOP)       β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚  PART 2: INSTRUCTIONS (Markdown)    β”‚
    β”‚  ─────────────────────────────      β”‚
    β”‚  β€’ When to use this                 β”‚
    β”‚  β€’ Step-by-step process             β”‚
    β”‚  β€’ Examples of output               β”‚
    β”‚  (The actual procedures)            β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    

    Exercise: Build Your Skill

    ⏱️ Total Time: 50 minutes

    What You'll Build

    πŸ”§ A complete SKILL.md file for your Quick Win that Claude can load and execute.

    Before You Start

    You'll need:

    Your Quick Win documentation from Lesson 1.1
    Claude Code open and ready
    A text editor (VS Code, Notepad++, or similar)

    Riley's starting point:

    Quick Win: Weekly Margin Report
    Current process:
    1. Pull data from Prime Broker portal
    2. Copy into Excel template
    3. Calculate variance from last week
    4. Format and email to portfolio managers
    

    Step 1: Create Your Skill Folder

    ⏱️ Time: 5 minutes

    What you're doing:

    Setting up the folder structure where Claude looks for skills.

    Command to run:

    mkdir -p .claude/skills/YOUR-SKILL-NAME
    

    Naming rules:

  • βœ… Lowercase only
  • βœ… Hyphens between words
  • βœ… Descriptive but concise
  • ❌ No spaces
  • ❌ No underscores
  • ❌ No capital letters
  • Examples:

    Quick WinSkill Name
    Weekly margin reportweekly-margin-report
    Client status updateclient-status-update
    Data quality checkdata-quality-check
    Meeting prep briefmeeting-prep-brief

    Riley's command:

    mkdir -p .claude/skills/weekly-margin-report
    
    πŸ’¬ "I was nervous about the command line, but it's literally just one command. Copy, paste, replace the name with yours, done."

    βœ… Success Check:

    Folder created (run ls .claude/skills/ to verify)
    Name is lowercase with hyphens

    Step 2: Create the SKILL.md File

    ⏱️ Time: 5 minutes

    What you're doing:

    Creating the file that will contain your skill instructions.

    Command:

    touch .claude/skills/YOUR-SKILL-NAME/SKILL.md
    

    Or create it directly in your editor:

  • Open your editor
  • New file
  • Save as SKILL.md in your skill folder
  • ⚠️ Important: The filename must be exactly SKILL.md (capital SKILL, lowercase .md)

    Riley's file location:

    .claude/
    └── skills/
        └── weekly-margin-report/
            └── SKILL.md  ← This file
    

    βœ… Success Check:

    SKILL.md file exists in your skill folder
    File is open in your editor

    Step 3: Write the Frontmatter

    ⏱️ Time: 5 minutes

    What you're doing:

    Adding the metadata header that tells Claude about your skill.

    Template to copy:

    ---
    name: your-skill-name
    description: One sentence describing what this does and when to use it. Start with action verb.
    author: Your Name
    version: 1.0
    ---
    

    Riley's frontmatter:

    ---
    name: weekly-margin-report
    description: Generates weekly margin report from Prime Broker data for portfolio manager distribution. Use every Monday morning.
    author: Riley Harper
    version: 1.0
    ---
    

    Tips for the description:

    ❌ Badβœ… Good
    "Report helper""Generates weekly margin reports from Prime Broker data"
    "Margin stuff""Creates formatted margin analysis for portfolio managers"
    "My skill""Compiles exposure data and calculates weekly variance"
    πŸ’‘ Pro Tip: Include WHEN to use this skill in the description. Claude uses this to know when to activate it automatically.

    βœ… Success Check:

    Three dashes --- before AND after
    Name matches your folder name
    Description starts with action verb
    Description mentions when to use it

    Step 4: Write the Overview & Triggers

    ⏱️ Time: 5 minutes

    What you're doing:

    Telling Claude what this skill does and when to use it.

    Template:

    # [Your Skill Display Name]
    
    ## Overview
    [2-3 sentences: What this skill does and why it's valuable]
    
    ## When to Use This Skill
    Activate this skill when:
    - [Trigger phrase 1]
    - [Trigger phrase 2]
    - [Trigger phrase 3]
    

    Riley's version:

    # Weekly Margin Report Generator
    
    ## Overview
    Automatically compiles margin data and formats it into the standard weekly report for portfolio managers. Reduces report creation from 4 hours to 18 minutes while ensuring consistent formatting.
    
    ## When to Use This Skill
    Activate this skill when:
    - User asks to create margin report or weekly report
    - User mentions "Monday report" or "PM report"
    - User needs Prime Broker data compiled
    - It's Monday and user asks about reports
    
    πŸ’¬ "The trigger phrases are like teaching Claude the keywords that should activate this skill. I added 'Monday report' because that's what I actually call it."

    βœ… Success Check:

    Clear explanation of what skill does
    3-4 trigger phrases that match how you'd ask for this

    Step 5: Document Your Process

    ⏱️ Time: 15 minutes

    What you're doing:

    This is the heart of your skill - writing out YOUR process step by step.

    Template:

    ## Process
    
    ### Step 1: [First Action]
    [What Claude should do]
    [What to ask the user, if anything]
    
    ### Step 2: [Second Action]
    [What Claude should do]
    [What to ask the user, if anything]
    
    ### Step 3: [Continue...]
    [...]
    
    ### Final Step: [Output/Delivery]
    [How to format and present the result]
    

    Riley's Process:

    ## Process
    
    ### Step 1: Gather Current Week Data
    Ask the user to provide or paste:
    - Current margin balance
    - Exposure by asset class
    - Top 5 positions by size
    - Any notable changes from last week
    
    ### Step 2: Collect Prior Week Comparison
    Ask the user for last week's key figures:
    - Prior margin balance
    - Prior exposure total
    - Note: If user has these saved, they can skip this step
    
    ### Step 3: Calculate Variance
    For each data point:
    - Calculate week-over-week change
    - Calculate percentage change
    - Flag any changes greater than 10%
    
    ### Step 4: Format the Report
    Structure the output as:
    - Header with date range
    - Executive summary (3 bullet points)
    - Margin summary table
    - Exposure breakdown table
    - Notable changes section
    - Recommended actions (if any flags)
    
    ### Step 5: Generate Email Draft
    Create email version with:
    - Subject line: "Weekly Margin Report - [Date Range]"
    - Brief intro paragraph
    - Report as attachment or inline
    - Offer to adjust tone/detail level
    

    Writing Tips:

    Vague (❌)Specific (βœ…)
    "Create a report""Format into a table with headers: Asset Class, Current, Prior, Change %"
    "Get the data""Ask user to paste current margin balance and exposure by asset class"
    "Check for issues""Flag any changes greater than 10% with ⚠️ warning icon"
    πŸ’¬ "I wrote this like I was training a new analyst. Every step I'd normally explain, I wrote down. The more specific, the better the output."

    βœ… Success Check:

    Every step of your actual process is documented
    Clear on what Claude does vs. what user provides
    Specific about output format

    Step 6: Add an Example

    ⏱️ Time: 10 minutes

    What you're doing:

    Showing Claude exactly what the output should look like.

    Why this matters:

    Claude performs MUCH better when it can see the target. An example is worth 1000 words of instructions.

    Template:

    ## Example Output
    
    [Paste a real or realistic example of what the final deliverable looks like]
    

    Riley's Example:

    ## Example Output
    
    **WEEKLY MARGIN REPORT**
    **Week of:** January 13-17, 2025
    **Prepared by:** Riley Harper
    
    ---
    
    **EXECUTIVE SUMMARY**
    - Total margin increased 3.2% week-over-week to Β£45.2M
    - Equity exposure up Β£2.1M due to new tech positions
    - No concentration warnings; all within limits
    
    ---
    
    **MARGIN SUMMARY**
    
    | Metric | Current | Prior | Change |
    |--------|---------|-------|--------|
    | Total Margin | Β£45.2M | Β£43.8M | +3.2% |
    | Available | Β£12.1M | Β£11.8M | +2.5% |
    | Utilization | 73.2% | 73.1% | +0.1% |
    
    ---
    
    **EXPOSURE BY ASSET CLASS**
    
    | Asset Class | Exposure | % of Total | WoW Change |
    |-------------|----------|------------|------------|
    | Equities | Β£28.4M | 62.8% | +5.2% |
    | Fixed Income | Β£12.1M | 26.8% | -1.1% |
    | Alternatives | Β£4.7M | 10.4% | +0.8% |
    
    ---
    
    **NOTABLE CHANGES**
    - ⚠️ Tech sector exposure increased 12% (above 10% threshold)
    - New position: NVDA (Β£1.2M)
    - Closed position: META (Β£0.8M)
    
    ---
    
    **RECOMMENDED ACTIONS**
    - Review tech concentration with PM before EOD
    - No other actions required
    
    πŸ’¬ "This example is basically my real report with the numbers changed. When Claude sees this format, it produces something almost identical. Magic."

    βœ… Success Check:

    Example shows complete output format
    Includes all sections your report needs
    Realistic enough that Claude can pattern-match

    Step 7: Test Your Skill

    ⏱️ Time: 10 minutes

    What you're doing:

    Verifying your skill loads and works correctly.

    Instructions:

  • Save your SKILL.md file
  • Open a fresh Claude Code session:
  •    /clear
       
  • Verify skill is loaded:
  •    /skills
       

    Your skill should appear in the list.

  • Test with a natural request:
  •    Create my weekly margin report
       
  • Verify Claude follows your process:
  • Does it ask for the right inputs?
  • Does it follow your steps?
  • Does the output match your example?
  • Riley's Test:

    πŸ’¬ "First test, it worked but the table formatting was slightly off. I added more detail to my example, tested again, and it was perfect. Iteration is normal."

    If it doesn't work:

    ProblemFix
    Skill not appearingCheck file path: .claude/skills/name/SKILL.md
    YAML errorCheck for tabs (use spaces), missing colons, or unclosed quotes
    Wrong processMake instructions more specific
    Wrong formatAdd more detailed example

    βœ… Success Check:

    Skill appears in /skills output
    Claude recognizes trigger phrases
    Output follows your format
    Quality is good enough to use for real

    Overall Success Criteria

    By the end of this lesson, you should have:

    πŸ“ Skill folder created at .claude/skills/your-skill-name/
    πŸ“„ SKILL.md file with proper YAML frontmatter
    πŸ“ Complete process instructions documented
    πŸ“‹ At least one detailed example output
    βœ… Skill tested and producing good results

    Quick Test:

  • Run /clear
  • Run /skills - your skill should appear
  • Request your automation naturally
  • Verify output quality
  • If all four pass, you've built your first skill!


    Troubleshooting


    🚫 "Skill isn't appearing in /skills"

    **Why this happens:** File is in wrong location or has wrong name.

    **Fix checklist:**
    - [ ] Path is exactly .claude/skills/your-name/SKILL.md
    - [ ] SKILL is capitalized, .md is lowercase
    - [ ] No typos in folder path
    - [ ] File was saved (not just open in editor)

    **Test:** Run ls .claude/skills/your-name/ - you should see SKILL.md


    ⚠️ "YAML parsing error"

    **Why this happens:** Formatting issue in frontmatter.

    **Common fixes:**
    - Use spaces, not tabs (YAML hates tabs)
    - Exactly three dashes --- before and after
    - Colon after each field name: name: value
    - Wrap descriptions with special characters in quotes

    **Example fix:**

    # Wrong
    description: Generates "reports" & summaries
    
    # Right
    description: "Generates reports & summaries"
    


    πŸ˜• "Claude isn't following my process"

    **Why this happens:** Instructions are too vague.

    **Fix:** Be more specific. Claude takes instructions literally.

    | Vague | Specific |
    |-------|----------|
    | "Make a report" | "Create a report with these 4 sections in this order: Summary, Data Table, Changes, Actions" |
    | "Format nicely" | "Use markdown tables with headers. Bold all section titles." |


    πŸ“Š "Output format is wrong"

    **Why this happens:** Example isn't detailed enough.

    **Fix:** Your example should be a COMPLETE, realistic output. Claude pattern-matches heavily from examples.

    **Riley's tip:** *"I literally copy-pasted my best actual report as the example. That worked way better than writing a simplified version."*


    You Did It!

    You just built your first automation skill!

    What Riley accomplished:

    πŸ’¬ "Four hours of Monday morning dread, now 18 minutes of answering prompts. Same quality output - actually better, because the format is always consistent now. I almost didn't believe it worked the first time."

    The transformation:

    BeforeAfter
    ⏱️ 4 hours every Monday⏱️ 18 minutes
    πŸ˜“ Dreaded task😊 Quick check-in
    πŸ“Š Inconsistent formatπŸ“Š Always perfect
    🧠 Required focusπŸ€– Mostly automated

    Your skill is now:

  • πŸ’Ύ Saved permanently
  • πŸ”„ Loaded automatically when relevant
  • πŸ“ˆ Ready to use every week
  • πŸ—οΈ Foundation for more complex automations

  • πŸ’‘ The pattern: Everyone spends the most time on the process steps and the example output. That's exactly where you should invest, those two sections determine 90% of the quality.

    AI Automation Academy is an independent course created by Mercedes Perez-Capilla. It is not affiliated with, endorsed by, or produced by Anthropic. Claudeβ„’ is a trademark of Anthropic. All tool references are for educational purposes.