"Explaining the same procedure to Claude over and over is a chore" — if that sounds familiar, Claude Skills (Agent Skills) is exactly the mechanism built to solve it. Anthropic announced it on October 16, 2025, and within just a few months it became the standard way to give Claude domain-specific abilities in Claude Code and the API.

This article lays out what Skills are, why they matter, and how to build one — written for beginners — and goes all the way to how they differ from the often-confused MCP and subagents.

Claude Agent Skills · Launched Oct 2025

A Skill = a "procedure folder" you hand to Claude

— loaded automatically, only when needed

📁

Shipped as a folder

Instructions, scripts, and references in one folder. SKILL.md is the core.

🔎

Read only when needed

Normally just the description. The body opens when a task matches.

🔁

Same quality every time

Reproducible the same way without re-pasting a prompt.

1. What Are Claude Skills (Agent Skills)?

Claude Skills are a way to package "how to do a specific task" into a single folder and hand it to Claude. Inside the folder sits a manual called SKILL.md that holds the procedure, plus optional execution scripts and reference materials.

Think of it as an onboarding manual you give to a new hire. "How to generate an invoice PDF," "our commit message convention," "the meeting-notes format" — once you turn these fixed procedures into a manual, Claude can refer to it every time and produce the same quality. It feels like bolting specialized skills onto an AI agent after the fact.

💡 In one line: A Skill is a "procedure folder Claude memorizes." Build it once, and you can request the same task the same way, again and again.

2. Why They Matter: No More Re-Pasting Prompts

Until now, getting Claude to do specialized work usually meant pasting a long instruction prompt every single time. But that approach has weaknesses.

  • Low reproducibility: tweak the prompt slightly and the result drifts
  • It crowds the context: long instructions permanently occupy the context window
  • Hard to share: it's tough to hit the same quality across a team
BEFORE

Paste a prompt every time

  • Copy-paste long instructions each time
  • Small differences make results drift
  • Constantly crowds the context
  • Quality varies across the team
AFTER (Skills)

Write it once, reuse forever

  • The procedure lives in SKILL.md, written once
  • Stable, same steps every time
  • Expands only when needed = lightweight
  • Share the whole folder

Skills replace this with a fold-out manual that opens only when needed. Most of the time, all Claude sees is each skill's short description (one or two lines). The actual procedure unfolds only the moment you ask for that task. So even with dozens of skills installed, your everyday context is barely touched.

When it launched, developer Simon Willison called it "maybe a bigger deal than MCP" — precisely because of this lightness and reusability. Your prompt engineering know-how becomes an asset you accumulate, rather than something you throw away after each use.

3. How It Works: SKILL.md and Progressive Disclosure

The heart of a skill is a file called SKILL.md. At the top you write a name and a description, and below them you write the procedure in plain Markdown.

---
name: pdf-filler
description: Fill PDF forms from data. Use when the user wants to populate a PDF application form or template.
---

# Filling a PDF form

1. Get the field names with `pdftk form.pdf dump_data_fields`
2. Map the user's data to those field names
3. Write it in with `pdftk form.pdf fill_form data.fdf output filled.pdf flatten`

See reference/fdf-format.md for FDF format details.

The key is the description. At the start of a session, Claude reads only each skill's description. It then decides for itself whether the task you just asked for matches that description, and only when it matches does it load the body, scripts, and reference files. This mechanism of "opening what you need, when you need it, in stages" is called progressive disclosure.

STEP 1

Read only the descriptions

At startup, Claude takes in just the name and description (one or two lines) of every skill. The bodies stay closed.

STEP 2

Judge the match

Claude itself decides whether your request fits a description. No manual selection required.

STEP 3

Expand the body

Only the matched skill loads its body, scripts, and references, then runs the steps as written.

⚠️ The description is everything: if it's vague, Claude can't tell "when to use this" and the skill never fires. The trick is to spell out both what it does and when to use it.

4. How to Build One (With a Minimal Example)

There are two ways. (1) Have Anthropic's official "skill-creator" skill build it for you, or (2) set up the folder yourself. A minimal structure looks like this.

.claude/skills/
└── pdf-filler/
    ├── SKILL.md          ← required: name, description, steps
    ├── reference/
    │   └── fdf-format.md ← extra detail, read only when needed
    └── scripts/
        └── fill.py       ← code Claude can run

In Claude Code, just drop the folder into your project's .claude/skills/ (that project only) or ~/.claude/skills/ (shared across all projects) and it's recognized automatically. A January 2026 update made added or edited folders take effect immediately without a restart, which makes experimenting much easier. The official sample collection is published at github.com/anthropics/skills.

As a first step, the best move is to pick one "standard procedure" you keep explaining to Claude and write it up as a SKILL.md. Start small — your team's Slack post format, how you write release notes — and you'll quickly get the hang of it.

5. Skills vs. MCP vs. Subagents

Skills aren't the only way to extend Claude. Let's sort out, by role, how they differ from the often-confused MCP and subagents. The three aren't competitors — they sit at different layers.

Tool Role (in a phrase) Use it when
Skill Teaches how to do it
= changes behavior
You want the same steps, same format, every time
MCP Connects to the outside
= adds connectivity
You need the live state of a DB, Google Drive, etc.
Subagent Separates the context
= an independent session
You want parallel work, or to isolate research from the main thread

A simple rule of thumb: if the request involves "fetch, look up, current state," you want MCP. If it's "do it our usual way," you want a Skill. If it's "hand it to a separate unit to run in parallel," you want a subagent. And in practice, you combine all three (e.g., a subagent fetches data via MCP, then turns it into a report using a Skill's procedure).

6. Where It Works: An Open Standard

Skills aren't a feature locked to one product — they were published as an open standard. As long as you follow the shared SKILL.md format, the same skill runs across multiple tools.

Where it works in Anthropic's own products

The Claude apps (Pro / Max / Team / Enterprise), Claude Code, the API (Claude Developer Platform), and the Claude Agent SDK

Other tools that adopted the standard

OpenAI Codex CLI, Cursor, Gemini CLI, GitHub Copilot and other major coding agents support the same format

In other words, a skill you write once can be reused on agents other than Claude. The same shift that made MCP the common standard for tool connections is now happening in the world of "work procedures" too. The more you juggle several coding tools, the bigger the payoff.

7. What Can You Use It For? Real Examples

It's hard to picture in the abstract, so here are some common uses.

  • Document generation: produce Word, PowerPoint, PDF, and Excel files to your own templates (also included in the official samples)
  • Enforcing internal rules: apply commit-message conventions, code-review checklists, and naming rules every time
  • Routine reports: weekly sales summaries, meeting notes, and release notes in the same format
  • Specialized workflows: data validation, how to call a specific API, steps to build a chart or diagram

Support on the third-party side is growing too: Box, Canva, and Notion offer their own operations as skills. In the context of business efficiency, the idea of "turning the work you do often into a skill, as a reusable asset" is on its way to becoming the norm.

Summary

Claude Skills (Agent Skills) is a way to package "how to do a specific task" into a folder and give it to Claude. Let's boil it down to three points.

  • What it is: a folder centered on SKILL.md (name, description, steps). Much like an onboarding manual for a new hire
  • Why it's smart: normally just the description; the body expands when a task matches — "progressive disclosure" that saves context
  • How far it reaches: as an open standard, it's reusable on agents beyond Claude, and combines with MCP and subagents

Start by writing up one procedure you keep explaining to Claude as a SKILL.md. Once you build it, that task becomes an "asset" that needs no more explaining. If you want to dig deeper into the mechanics, see our pieces on MCP and harness engineering too. Another new Claude Code output surface alongside Skills is Claude Code Artifacts, which turns a coding session into a shareable live page.

FAQ

Q. Should I use Skills or MCP?

A. They play different roles, so it isn't either/or. If you want Claude to "work our usual way," use a Skill; if you want to "fetch or act on external data and current state," use MCP. In practice, combining both is normal.

Q. Can I build one without programming?

A. Yes. A SKILL.md works even if you just write the steps in plain prose (Markdown). Bundling scripts is optional — simply "writing the procedure in words" is enough to make it function.

Q. Will lots of skills slow things down?

A. What's normally loaded is just each skill's short description, so adding more barely affects everyday performance. That's the benefit of progressive disclosure.

Q. Is it available on the free plan?

A. The Skills feature in the Claude apps is available on Pro, Max, Team, and Enterprise. It also works via Claude Code and the API. Check the official guidance for the latest availability.