Walkthrough

Agent Skills

Folders of expertise the agent loads on demand. Commands are prompts you fire; skills are capabilities Claude reaches for itself.

An Agent Skill is a folder with a SKILL.md inside: instructions, plus any scripts, templates, or reference docs the job needs. The crucial difference from slash commands: you invoke a command, but Claude invokes a skill — whenever your request matches the skill's description.

Skills use progressive disclosure. Only the name and one-line description sit in context; the full instructions load when the skill fires. That's why a project can carry dozens of skills without bloating every session — and why the description line is the part worth sweating.

The same format works across Claude Code, claude.ai, and the API, so a skill you write for your repo travels with you.

Steps · 0 / 4 done
  1. Scaffold a skill

    Project skills live in .claude/skills/<name>/SKILL.md. Personal ones live in ~/.claude/skills/ and follow you across projects.

    mkdir -p .claude/skills/changelog
    VerifyThe folder exists at your project root.
  2. Write SKILL.md

    Frontmatter carries the name and — most importantly — the description Claude matches against. The body is the playbook.

    ---
    name: changelog
    description: Draft a CHANGELOG entry from recent commits. Use when the user asks for a changelog, release notes, or 'what shipped'.
    ---
    
    # Writing the changelog
    
    1. Run `git log --oneline` since the last tag.
    2. Group commits into Added / Changed / Fixed.
    3. Write entries as user-facing outcomes, not commit messages.
    4. Append to CHANGELOG.md under a new version heading — never rewrite old entries.
    VerifySKILL.md exists with frontmatter and numbered instructions.
  3. Trigger it naturally

    Don't type a slash command — just ask in plain language and watch Claude pick the skill up.

    What shipped since the last release? Draft the changelog entry.
    VerifyThe transcript shows the skill loading, then the playbook being followed step by step.
  4. Tune the description

    If the skill didn't fire, the description didn't match how you actually ask. Rewrite it with the phrases you'd really use — that line is the routing layer.

    description: Draft a CHANGELOG entry from recent commits. Use when the user asks for a changelog, release notes, version bump notes, or 'what shipped'.
    VerifyThe same natural-language ask now reliably triggers the skill.
Check your understanding
Q1. What's the key difference between a slash command and a skill?
Q2. Why doesn't carrying 30 skills bloat your context?
· Tick off the 4 step(s) above.
· Score 100% on the quiz.