Skill
A Skill is a packaged, reusable capability — instructions, and sometimes scripts or reference files — that an agent loads into context only when a task calls for it.
Most agents start with a general-purpose system prompt and a fixed toolset. A Skill is a way to extend that without bloating every conversation: it's a self-contained package — typically a short instructions file plus optional supporting scripts, templates, or reference documents — that an agent loads into its context only when the current task actually matches it.
The point of packaging capability this way is context efficiency. An agent might have access to dozens of Skills, but only the one or two relevant to the current request get pulled in, instead of every possible instruction sitting in the prompt at all times.
Claude Skills are a concrete example of this pattern: each Skill is a folder containing a SKILL.md file with YAML frontmatter (a name and a description that tells the agent when to use it) followed by the actual instructions, and the agent decides at runtime whether a given Skill's description matches the task at hand.
How it works
In practice, an agent (or the harness running it) keeps a list of available Skills' names and descriptions loaded at low cost. When a user's request appears to match a Skill's description, the harness loads that Skill's full instructions — and any files it references — into context, and the agent proceeds using that expanded capability. If no Skill matches, none of that content is loaded at all.
Example
skills/pdf-forms/SKILL.md
---
name: pdf-forms
description: Fill and flatten PDF form fields. Use when asked to fill out or complete a PDF form.
---
1. Identify the form fields with a PDF library.
2. Map provided values to field names.
3. Fill and flatten the form.How it differs
Skill vs. tool: a tool (see function-tool-calling) is a single callable function with a fixed input schema; a Skill is a broader package of instructions and resources that may itself describe how to use several tools together to complete a task.
Common misconceptions
FAQ
What is a Skill in Claude Code?
Do I need to write code to create a Skill?
How is a Skill different from a tool?
Last checked: 2026-08-28