An agent skill is a SKILL.md file — a plain-markdown instruction set, optionally bundled with scripts and reference files, that a compatible AI coding agent loads only when it's relevant. It's the unit of reusable, portable expertise in the open Agent Skills standard.
A skill is a folder containing one required file, SKILL.md, plus anything it needs to do its job:
my-skill/
├── SKILL.md # YAML frontmatter + markdown instructions
├── scripts/ # optional: helper scripts the agent can run
└── references/ # optional: docs the agent loads on demand
The SKILL.md opens with a small YAML frontmatter block — at minimum a name and a description — followed by the instructions themselves in markdown.
A compatible agent reads every installed skill's name and description at startup (cheap — a line or two each). It pulls the full SKILL.md into context only when a task matches the description. That's progressive disclosure: you can install hundreds of skills without drowning the model in instructions it doesn't need right now.
SKILL.md was originally released by Anthropic and is now maintained as an open standard at agentskills.io. Because the format is just markdown + frontmatter, it isn't tied to any single agent — the same skill can work across Hermes Agent, Cursor, OpenAI Codex, Gemini CLI, OpenCode, Claude Code and 30+ more clients. Some agents read the frontmatter natively; others load the body as a rules or instructions file (see the install guide for each).
A skill is knowledge and instructions — it teaches the model how to do something. An MCP server is tools and data — it gives the model new capabilities to call. They're complementary: a skill can tell the agent how to use an MCP server's tools well.