Protocols & Standards

SKILL.md

SKILL.md is a file format for packaging a reusable capability — instructions, and optionally supporting scripts or resources — that an agent can load when a matching task comes up.

An agent that's good at many things still benefits from not having every possible instruction loaded into context at once. SKILL.md addresses this by packaging a specific capability — say, how to fill out a particular kind of form, or how to work with a specific file format — as a discrete unit the agent loads only when it's relevant.

It's Anthropic's format for Claude Skills: a file with YAML frontmatter (typically a name and a description that also serves as the trigger condition — what kind of request should cause this skill to load) followed by the actual instructions in the body. The description matters more than it might look, since it's what the agent matches against to decide whether a given skill is relevant to the current task.

A skill can be just the SKILL.md file itself for something simple, or it can bundle supporting scripts, templates, or reference material alongside it for something more involved. Either way, the point is the same: keep specialized instructions out of the agent's default context, and load them only when the task actually calls for them.

Example

---
name: pdf-form-filler
description: Fill out a PDF form's fields from provided values. Use when the user asks to fill in, complete, or populate a PDF form.
---

When filling a PDF form, first list all fillable fields before entering
any values, and confirm field names with the user if a label is ambiguous.

Common misconceptions

Often assumed: SKILL.md files are always loaded into the agent's context.
Actually: They're typically loaded on demand, only when the task at hand matches the skill's description — not kept in context by default.
Often assumed: SKILL.md and AGENTS.md do the same job.
Actually: AGENTS.md gives instructions specific to one project's repository; SKILL.md packages a reusable capability that isn't tied to any particular project.

FAQ

What is SKILL.md used for?
It packages a reusable capability — instructions and optionally supporting files — that an agent loads only when a matching task comes up, instead of keeping everything in context all the time.
What goes in a SKILL.md's frontmatter?
Typically a name and a description; the description doubles as the trigger condition the agent matches against to decide whether this skill is relevant.
Can a skill include more than one file?
Yes — a SKILL.md can be paired with supporting scripts, templates, or reference material in the same skill folder for more involved capabilities.

Last checked: 2026-08-28

Related terms