Article · Agent skills
What are agent skills?
An agent skill is a folder of instructions an AI agent reads when a task calls for it. Its SKILL.md file starts with a name and a description, which the agent sees up front. The rest, and any scripts or reference files beside it, loads only when the agent decides the skill applies.
In short
An agent skill is a folder of instructions, with a SKILL.md file, that an AI agent loads only when a task needs it. Each skill teaches one kind of task. The file starts with a name and a description. The agent sees those at the start of every session, and reads the rest when a task matches.
A skill is not a tool. A tool is a function the model calls to do something: search, read, write. A skill is instructions the model reads to know how something is done. Nor is it a system prompt, which is loaded in full on every turn whether it is needed or not. How tools and agents differ is in MCP, AI tools and agents.
What is in a skill
The format is open. The Agent Skills specification defines a skill as a directory with a SKILL.md file at its root: YAML front matter, then Markdown. Two fields are required:
name: up to 64 characters of lowercase letters, numbers and hyphens, the same as the folder’s name.description: up to 1,024 characters, saying what the skill does and when to use it.
Four more are optional: license, compatibility, metadata, and an experimental allowed-tools. The body has no required shape. Beside it, a skill may carry scripts/ the agent can run, references/ it can read, and assets/ such as templates.
Anthropic introduced Agent Skills in October 2025, and in December 2025 published the format as an open standard, now at agentskills.io. Its engineers put the idea in one line: “Building a skill for an agent is like putting together an onboarding guide for a new hire.”
How progressive disclosure works
A skill loads in three levels. The specification says it plainly: “Agents load skills progressively, pulling in more detail only as a task calls for it.”
- Metadata. The name and description of every installed skill, about 100 tokens each, loaded at startup.
- Instructions. The body of
SKILL.md, read when the agent decides the skill applies. The specification recommends under 5,000 tokens and under 500 lines. - Resources. Reference files, read only when the instructions point to them. A script runs, and only its output enters the context, not its code.
The first level still costs something, so agents budget it. OpenAI’s documentation says Codex keeps the initial list to at most 2% of the model’s context window by default. With many skills installed, it shortens their descriptions first.
That is why the description carries the weight. It is the only part the agent sees before it decides. A description that names an area but not when to use it is the specification’s example of a poor one.
Progressive disclosure
Read when needed, not before
Four skills are installed. A request matches one, and the agent reads its instructions, one reference file and the output of one script. Pick a step to stop the drawing and read it.
- 01
At startup, names only
Four skills are installed. The window holds the system prompt and one line per skill: its name and description.
- 02
A request arrives
Someone asks the agent to review supplier S-114 before Friday’s order.
- 03
One description matches
The agent reads supplier-review’s SKILL.md. The other three stay one line each.
- 04
It reads one reference
The instructions point to a scoring guide, so the agent reads that file. Nothing else in the folder loads.
- 05
It runs a script
The script runs outside the window. Only its output comes in: three open supplier notices.
Skills, tools and system prompts
All three shape what a model does. They differ in what they are, and in when they take up the context window:
- A system prompt is text loaded on every turn. It suits what has to hold for the whole conversation, and it costs its whole length each time.
- A tool is a function with a name, a description and parameters. Its definition is sent while the tool is enabled, and the model calls it to act or to fetch something.
- A skill is instructions, and sometimes scripts and reference files. It costs a line until a task needs it, then its body.
Use a skill for how a task is done here, such as how a supplier is scored or the steps of a release. Use a tool for what the model has to do. Keep in the system prompt only what must hold on every turn.
A rule with no exceptions belongs in neither a prompt nor a skill. Put it in the permissions or the platform, where the model cannot decide it does not apply.
Turn by turn
What each one costs
Four turns of one conversation. The system prompt is paid on every turn, the tool’s definition too, and the skill is one line until turn 3. Pick a step to stop the drawing and read it.
- 01
Turn 1
The system prompt goes in whole, the tool goes in as its definition, and the skill as one line.
- 02
Turn 2
The model calls the tool. Its result comes in, and the system prompt is paid again.
- 03
Turn 3
The task now needs the skill. The model reads its body, and only now does it cost its length.
- 04
Turn 4
The body stays in the transcript from then on. The system prompt is still paid in full.
Where agents look for skills
The folder format is shared, so one skill works in several agents. Where each one looks differs:
- Claude Code reads
.claude/skillsin a project and~/.claude/skillsfor a user, per Anthropic’s documentation. - OpenAI Codex scans
.agents/skillsin every folder from where it starts up to the repository root, per its documentation. - GitHub Copilot reads
.github/skills, and.claude/skillsand.agents/skillstoo. Google Antigravity, Mistral Vibe and Devin read.agents/skills, as curio’s guide to coding agents lists them.
Some agents add fields of their own on top of the standard ones. A team that commits its skills to a repository gives every agent that works there the same instructions, reviewed like code.
How skills go wrong
- A vague description. The agent never loads the skill, or loads it for everything.
- A body that tries to hold everything. It costs its full length on every use. Move the detail into reference files, one level down.
- A skill that describes last year’s system. The agent follows it with confidence. A skill needs an owner and a review, like code.
- A rule that must always hold. A skill loads when the agent decides it applies, so it guides and does not enforce.
- A skill from someone you do not know. A skill can carry scripts and instructions to call tools. Anthropic warns that “a malicious Skill can direct Claude to call tools or run code in ways that don’t match the Skill’s stated purpose.” Read every file before you install one, as you would with software.
- Instructions fetched at run time. A skill that pulls text from an outside address can pull in instructions an attacker wrote. That is prompt injection by another route.
How to evaluate a skill
- Does the description say what the skill does and when to use it, in the words a request would use?
- Is the body short enough to read whole, with the detail in reference files?
- Who owns it, and when was it last checked against the system it describes?
- What can its scripts reach: files, the network, credentials?
- Does it come from a source you trust, and did someone read all of it?
- Is anything in it a rule that should be enforced somewhere else?
How Curiosity uses skills
In Curiosity Studio a skill is a Markdown document stored in the graph: a name, a one line description, a category and a body. It is one document rather than a folder, with no scripts of its own, and any assistant can carry skills.
The documentation describes what a chat sees. An Available skills section lists each skill’s name and description, sorted by name, so the prompt stays the same from turn to turn. The bodies stay out until the model reads one with read-skill. A skill a chat has used stays in that conversation.
Sudo, the admin assistant, reads a built-in skill such as add-code-endpoint or create-ai-tool before he writes anything. Editing a skill is how you teach him a house convention, and your skills export with the rest of your configuration. The paper Working with Sudo has a chapter on it.
Coding agents get the same skills through curio. curio skills install writes one skill into the agent’s skills folder. It explains how to work on the workspace through curio, and lists Sudo’s skills, which stay on the workspace. The agent reads each one with curio skills show, so it follows the version your workspace runs.
References
Sources and further reading
Specification
Agent Skills
The SKILL.md format, its fields and limits, and the three levels of progressive disclosure.
ReadAgent Skills Overview
Agent Skills
What a skill is, how agents load it, and where the open format came from.
ReadEquipping agents for the real world with Agent Skills
Anthropic · October 2025
Why skills are folders, how progressive disclosure works, and how to write and test one.
ReadAgent Skills
Claude documentation
The three levels and what each costs, where Claude Code reads skills, and the security risks of a skill you did not write.
ReadBuild skills
OpenAI documentation
How Codex reads skills from .agents/skills, and the budget for the initial list.
ReadCoding agents
curio documentation
Where each coding agent reads skills, and how curio installs one for a Studio deployment.
ReadSkills
Curiosity documentation
Skills in Curiosity Studio: what a chat is told up front, and how bodies are read on demand.
ReadFAQ
Questions people ask
What is the difference between a skill and a system prompt?
A system prompt is loaded in full on every turn. A skill costs a name and a one line description until a task needs it, and its body is read only then. Put what must hold for the whole conversation in the system prompt, and how a task is done in a skill.
Do agent skills work across different AI agents?
The format does. A skill is a folder with a SKILL.md file, defined by the open Agent Skills specification. Claude Code, OpenAI Codex, GitHub Copilot and others read it. What differs is the folder each agent looks in, and the extra fields some agents add.
Is it safe to install an agent skill from the internet?
Only after reading all of it. A skill can carry scripts and instructions to call tools. A malicious one can make an agent run code or send data where it should not. Treat it like software: install from sources you trust, and check what its scripts can reach.
How do I give an assistant in Curiosity Studio its own skills?
Write the skill under Manage, AI, Skills, then pick it in the Skills list of the assistant editor. Every chat started from that assistant carries it. The model sees each skill’s name and description, and reads a body only when it needs it.
Articles
Read next
What is context engineering?
Context engineering
Choosing what goes into a model’s context window at each step and what stays out, and why a bigger window does not help.
ReadMCP, AI tools and agents: what is the difference?
Tools, agents and MCP
A tool is one function, an agent is a loop that calls tools, and MCP is a standard way to offer them. How the three stack, and when to build which.
ReadWhat is prompt injection?
Prompt injection
Direct and indirect injection, why no filter stops it reliably, the lethal trifecta, and the designs that limit what a steered assistant can do.
ReadYour data. Your infrastructure.