Guides
What Are Agent Skills?
What Agent Skills are, how SKILL.md and progressive disclosure work, how skills differ from tools and MCP, and when to use them.

Garrett Scott
,
Head of Marketing
What Are Agent Skills?
Agent Skills are a specification from Anthropic for packaging an AI agent's specialized
instructions, reference files, and executable scripts into a single folder the agent loads only
when a task requires it. Each Skill is defined by a SKILL.md file: the agent reads its name and
description first, then loads the rest of the folder on demand — a pattern called progressive
disclosure.
Checked against Anthropic's documentation in August 2026. Agent Skills is a young, fast-moving
spec, and field requirements or platform support can change — confirm against the current docs
before relying on specifics here.
What are agent skills?
A Skill packages what would otherwise be re-explained to an agent every session: instructions for
the task, whatever reference material backs them up, and — when the job calls for it — a script to
run. Anthropic introduced the format as a way to give agents "modular capabilities" without loading
all of that context into every conversation, per Anthropic's own framing of the
spec.
A Skill is usually one of:
A domain procedure — how a specific team reviews code, formats a report, or files a support ticket.
A tool-usage pattern — how to work with a specific file format, spreadsheet layout, or API.
A reusable script — a small program that does the same job the same way every time, bundled
alongside the instructions that tell the agent when to run it.
Before Skills, an agent either carried all of that guidance in its system prompt on every turn —
degrading performance as unrelated instructions piled up — or the guidance lived nowhere and had to
be re-explained each session. Skills solve this by keeping the guidance on disk and loading it in
stages: a short summary is always present, the full detail loads only when the task calls for it, and
any bundled script runs without its source code ever entering the conversation.
How agent skills are structured
Every Skill is a directory, and every Skill directory requires exactly one file: SKILL.md. Its YAML
front matter carries two required fields — name and description — and those are the only parts of
the Skill loaded into the agent's context by default, for every Skill it has installed, before any
task starts.
The description field does the real work: the agent matches an incoming request against it to
decide whether the Skill is relevant. Only once triggered does the agent read the rest of SKILL.md
— the body, containing the actual instructions — into context. If that body references other files,
the agent reads those too, but only the ones the task touches. Anthropic's Skill authoring
guidance describes
three loading levels: metadata (always loaded, roughly 100 tokens per Skill), instructions (loaded
when triggered, kept under a token ceiling), and bundled resources or scripts (loaded only as
referenced).
Scripts are the third piece. A Skill folder can bundle executable code — a Python script that
validates a form, a script that formats output a specific way — and the agent runs it directly rather
than generating equivalent code from scratch each time. Critically, only the script's output enters
the agent's context; the script's source code does not. A representative Skill folder looks like this:
When to use agent skills (and when not to)
Agent Skills fit well when:
A capability is narrow and situational. The agent needs specialized guidance only sometimes —
Skills stay off the context budget until that moment arrives.The task is long or complex enough that unmanaged context degrades output quality. Long-running,
multi-step work accumulates unrelated instructions over time; progressive disclosure keeps a Skill's
detail out of context until it's needed.The agent should be user-extensible. Because a Skill is just a folder of markdown and scripts,
people without deep familiarity with an SDK or protocol can author one, which lets an agent's own
users add capabilities.
Agent Skills fit poorly when:
The data behind the task is dynamic and needs to stay current. A Skill's content is static
markdown on disk. Retrieving live, frequently-changing information — records in a database, files
that change hourly — is a retrieval-augmented generation (RAG) problem: vector search, graph
queries, or text-to-SQL. A Skill's static markdown can't do that job.The code needs to run the same way on every single call. Tool descriptions travel with every
relevant prompt, so a tool is more reliably invoked than a script buried a level or two inside a
Skill folder. Skills that aren't triggered simply never load — independent testing by
Vercel found Skills
weren't always reliably triggered in benchmark tasks, where an always-present system prompt
performed more consistently.The work requires multi-tenant, authenticated, server-side execution. A Skill's scripts run in
the agent's own local environment with whatever access that environment already has — there's no
built-in notion of isolating one user's credentials from another's. Serving many authenticated
clients from one process needs a separate server process — commonly an MCP server — not a Skill's
local scripts.
Agent skills vs. tools vs. MCP
The three terms describe different mechanisms for extending what an agent can do, and they are not
interchangeable:
A tool call is a single, declared function the model invokes directly. Its description is sent
with every prompt (or every prompt where the tool is available), which makes it consistently
discoverable but also a fixed context cost regardless of whether the task needs it.MCP (Model Context Protocol) is a client-server
protocol: an MCP server exposes tools, prompts, and resources over a connection a client calls into
— the fuller mechanics are covered at that link. The spec was written stdio-first, for a server
running as a local process; a remote HTTP transport was added later, and the two coexist today.
Either transport can carry an authenticated, per-client session, but the protocol makes that
optional — a given server still has to be built to support it.An agent Skill is a directory-based bundle of instructions and, optionally, scripts, loaded on
demand into the agent's own local environment rather than served by a separate process. A Skill has
no built-in concept of a second tenant; whatever environment the agent is running in is the only
environment the Skill's scripts execute in.
Agent Skill | Tool call | MCP server | |
|---|---|---|---|
What it packages | Instructions, reference files, optional scripts | A single declared function and its schema | Tools, prompts, and resources, served over a connection |
Where it runs | The agent's own environment (filesystem + code execution) | Wherever the model's tool-use loop executes it | A separate server process, locally over stdio or remotely over HTTP |
How it's invoked | Agent matches task to a | Model calls the declared function directly | Client connects to the server and calls an exposed tool |
Multi-tenant / auth support | Not built in — one environment, one set of credentials | Not built in — inherits whatever the caller has access to | An authorization spec exists for HTTP transports, but it's optional — a server has to implement it to get per-client isolation |
For planning purposes: Skills are the lightest-weight of the three to author and share (a folder of
markdown, no server to stand up), tool calls are the most consistently discoverable because their
description ships with every relevant prompt, and MCP is the one of the three built around a separate
server process — which is what makes authenticating and isolating more than one tenant possible to
add, though a given server still has to implement that layer itself.
Agent Skills in practice
Two of the gaps just described — dynamic data and multi-tenant authenticated serving — are common
enough that most teams building agents solve them with dedicated infrastructure that sits alongside
a Skill.
For the multi-tenant, server-side case, Paragon's ActionKit packages that missing piece
as a pre-built MCP server: thousands of ready-to-call actions spanning Slack, Salesforce, Google
Drive, and other SaaS tools, with per-user credentials resolved by the same system that serves the
action — no separate auth layer to stand up.
For the dynamic-data case, Paragon's Managed Sync handles production RAG
ingestion and permissions for knowledge sources that change continuously — Google Drive, Confluence,
Salesforce, ServiceNow. The sync pipeline itself is Paragon's job.
Both work alongside Skills: a Skill can still hold the instructions for
how to review a document or format a report, while the tool-serving and data-freshness layers
underneath handle the parts a static markdown folder was never built to do. For more on how these
pieces fit into a broader agent stack, see Paragon's integration infrastructure
overview.
FAQ
What are agent skills? A Skill is a folder an agent loads on demand: SKILL.md's short
description is always visible, and the full instructions plus any bundled scripts load only once a
task actually calls for them. That's the whole design goal — narrow, situational guidance that
doesn't cost anything until it's used.
What is the difference between an agent skill and a tool call? A tool call is one function
definition the model can invoke, and its description travels with the prompt every time the tool is
on offer. A Skill instead ships as a folder: the agent sees only a short description by default, and
pulls in the full instructions — plus any bundled scripts — only once a task actually triggers it.
How do agent skills differ from MCP? MCP runs as its own server process — reachable locally over
stdio or remotely over HTTP — and a server can be built to authenticate and keep a separate session
per tenant, though that isolation is optional, not automatic. A Skill has none of that: it is a
directory the agent reads from its own local filesystem, with no server process and no built-in idea
of a second tenant.
When should a team use agent skills instead of building an MCP server? When the goal is packaging
instructions and occasional scripts for a single agent environment, not serving authenticated tool
access to multiple tenants. Teams that do need the latter often reach for a pre-built MCP server —
Paragon's ActionKit MCP, for example — rather than building multi-tenant authentication from
scratch.
Can agent skills replace a RAG pipeline for dynamic data? No. A Skill's content is static markdown
read from disk; it doesn't retrieve or refresh live data. Dynamic sources still need a retrieval
pipeline — Paragon's Managed Sync is one option for keeping that pipeline current across sources like
Google Drive, Confluence, and Salesforce without building the sync layer in-house.
Are agent skills specific to Claude, or does the format work with other agents? Skills are an
open format — a SKILL.md file plus a folder structure — so any agent harness that implements the
spec can load them, not only Claude-based agents. See how agent
harnesses handle Skills and other extension mechanisms for more on
that distinction.
The short version
Agent Skills are Anthropic's format for packaging an agent's instructions, reference files, and
optional scripts into a folder that loads progressively — a short description always present, the
rest loaded only when a task triggers it. They differ from tool calls (single functions, always
described) and MCP (a server-client protocol that can support authenticated, multi-tenant serving when a server implements its optional authorization spec). They fit
narrow, situational capabilities and context-heavy tasks well, and fit dynamic data, must-run-every-time
code, and multi-tenant serving poorly — those stay jobs for RAG, tools, and MCP respectively.





