Skills & Workflow

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.

AgentLoads SkillGains capability
An agent loads a matching Skill and gains its capability.

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

Often assumed: A Skill has to include code or scripts to be useful.
Actually: A Skill can be pure instructions — a markdown file telling the agent how to approach a task — with no executable code at all.
Often assumed: Skills need to be installed like a plugin before they can run.
Actually: In most implementations a Skill is just a file the agent can read; there's no separate install or build step beyond making the file available.

FAQ

What is a Skill in Claude Code?
It's a packaged capability — usually a SKILL.md file with instructions and optional supporting files — that Claude loads into context only when a task matches its description.
Do I need to write code to create a Skill?
No. Many Skills are just instructions in markdown; code or scripts are optional extras for tasks that need them.
How is a Skill different from a tool?
A tool is a single callable function; a Skill is a broader instructions package that can guide the agent through using one or more tools.

Last checked: 2026-08-28

Related terms