What Are Claude Skills? The Complete Guide
Claude Skills explained: what a SKILL.md is, how progressive disclosure keeps skills cheap, where they run, and how to install or write your own.
A Claude Skill is a folder with a SKILL.md — frontmatter that tells Claude when to use it, plus a Markdown body of instructions it follows once loaded. Skills stay dormant until a task matches their description, so they cost almost nothing at rest. The same format runs in Claude Code, on claude.ai, on the Claude API, and — since Skills became an open standard — in 40+ other tools.
Key takeaways
- A skill is a folder containing a SKILL.md: YAML frontmatter (name, description) plus a Markdown body of instructions — no build step, no registration.
- Progressive disclosure is why skills scale: only each skill's name and description load at session start; the body loads on trigger; bundled files load only when the instructions reach for them.
- Skills fire three ways: Claude auto-invokes when your task matches the description, you type /skill-name directly, or Claude calls the Skill tool.
- The format runs everywhere: Claude Code, claude.ai (upload as ZIP), the Claude API (/v1/skills + code execution), the Agent SDK — and 40+ third-party tools via the agentskills.io open standard.
- Skills, slash commands, subagents, and MCP servers solve different problems: skills encode procedures, agents isolate context, MCP connects external systems.
- Treat skills like code you install: read a SKILL.md before adopting it — its instructions and bundled scripts run with your session's permissions.
Claude Skills are the answer to a problem every heavy Claude user hits: you keep re-explaining the same procedure. How your team writes migrations. The exact steps of your release checklist. The way you want commit messages formatted. A skill packages that procedure once — as a folder with a SKILL.md file — and Claude loads it by itself whenever the task calls for it.
The anatomy of a skill
A skill is a directory containing one required file:
.claude/skills/conventional-commits/
└── SKILL.mdAnd SKILL.md is YAML frontmatter plus Markdown instructions:
---
name: conventional-commits
description: Generate clear Conventional Commits messages from staged changes.
Use when committing code and you want a well-structured, consistent message.
---
1. Run `git diff --staged` to see what's actually being committed.
2. Pick the type (feat, fix, refactor, docs, chore) from the dominant change.
3. Write `type(scope): summary` under 72 characters, imperative mood.
4. Add a body only if the "why" isn't obvious from the summary.That's the entire format. No build step, no manifest, no registration call. The frontmatter's description decides when the skill activates; the body is what Claude does once it has. Optional extras — scripts, templates, reference docs — sit in the same folder and are referenced by relative path. The full field list (there are more than most posts document, including context: fork for running a skill in an isolated subagent) is in our SKILL.md reference.
Progressive disclosure: why skills are cheap
The design insight that makes skills work is that they load in three stages:
| Stage | What loads | When | Approximate cost |
|---|---|---|---|
| 1. Metadata | name + description only | Session start, every skill | A few dozen tokens each |
| 2. Instructions | The full SKILL.md body | When the task matches the description | A few hundred tokens |
| 3. Resources | Bundled scripts, templates, docs | Only when the instructions reference them | Zero until used |
Twenty installed skills cost roughly a screenful of text at rest. Compare that with stuffing the same twenty procedures into CLAUDE.md, where every word is paid for in every session, relevant or not. Skills are the overflow valve that keeps project memory small.
How a skill gets invoked
Three paths:
- Automatic — Claude reads every installed skill's name and description at startup. When your request matches one ("commit this" → the commit skill), it loads the body and follows it. This is why the description is the single most important line you'll write: it's the routing signal.
- Explicit — type
/skill-name(with optional arguments) to force it, bypassing description matching entirely. - The Skill tool — Claude can programmatically select and run a skill mid-task, the same way it invokes any other tool.
Skills also take arguments — /release-notes v2.3 — exposed to the body via $ARGUMENTS and positional or named variables. And you can flip the defaults per skill: disable-model-invocation: true makes a skill manual-only (right for deploy runbooks), while user-invocable: false hides it from the / menu and leaves it as background knowledge Claude applies on its own.
Where skills run
This is what changed in the last year: skills stopped being a Claude Code feature and became a portable format.
- Claude Code — the native home: personal skills in
~/.claude/skills/, project skills in.claude/skills/, plus plugin-distributed and enterprise-managed skills. - claude.ai — upload a skill as a ZIP (Settings → Capabilities to enable code execution first). Anthropic's document skills — Word, Excel, PowerPoint, PDF — are pre-built and always active there.
- The Claude API — upload custom skills to the
/v1/skillsendpoint and attach them to a Messages request through the code-execution container. Details and code in Skills on claude.ai and the API. - The Agent SDK — skills load from the same
.claude/skills/directories when you build your own agents. - Everywhere else — in December 2025 Anthropic published Agent Skills as an open standard at agentskills.io. GitHub Copilot, Cursor, VS Code, Gemini CLI, and dozens of other tools now read the same SKILL.md format. A skill you write for Claude Code is no longer locked to it.
One caveat worth knowing: surfaces don't sync. A skill uploaded to claude.ai doesn't appear in Claude Code or the API — each surface gets its own copy.
Skills vs. commands, subagents, and MCP
The extension points overlap less than they look like they do:
| You want to… | Reach for |
|---|---|
| Encode a repeatable procedure Claude applies when relevant | Skill |
Trigger a specific prompt on demand with /name | Skill (user-invoked) — slash commands and skills have converged; a skill is invocable as /name |
| Run a job in an isolated context with its own tools and model | Subagent |
| Connect Claude to an external system (database, API, SaaS) | MCP server |
| Load facts and conventions into every session | CLAUDE.md |
The longer decision-table treatment is in Skills vs. Agents vs. Commands.
Getting skills
Three routes, in increasing order of effort:
- Install ready-made ones. The AgentsCamp skills library has 90+ across git, testing, databases, performance, and security — each page shows the full SKILL.md with an install path, or use
npx agentscamp add skills/<name>from the terminal. Our picks for 2026 are the short list. Anthropic's own examples live in the public anthropics/skills repo on GitHub. - Study the patterns. Annotated examples walks through five SKILL.md shapes — minimal, scoped-tools, bundled-script — with the reasoning per line.
- Write your own. The third time you type the same instructions, that's a skill. Writing Your First Skill is the step-by-step; best practices covers the craft of descriptions that trigger reliably.
WARNING
Install skills the way you'd install packages: from sources you trust, after reading them. A skill's instructions execute with your session's permissions, and bundled scripts are real code. The five-minute read of an unfamiliar SKILL.md is always worth it.
Frequently asked questions
- What are Claude Skills in one sentence?
- Reusable procedures packaged as folders with a SKILL.md file — Claude loads one automatically when your task matches its description, then follows its instructions like a runbook.
- Are Claude Skills free?
- The format is free and open (agentskills.io), Anthropic's official skills repo is public, and the AgentsCamp library is free to copy. Skills themselves are just Markdown — the only cost is the tokens they add when one activates.
- Do Claude Skills only work in Claude Code?
- No. The same SKILL.md format works on claude.ai (uploaded as a ZIP under Settings, with code execution enabled), on the Claude API via the /v1/skills endpoint and the code-execution container, in the Claude Agent SDK, and — since Agent Skills became an open standard in December 2025 — in tools like GitHub Copilot, Cursor, VS Code, and Gemini CLI.
- How are skills different from just putting instructions in CLAUDE.md?
- CLAUDE.md is loaded into every session whether relevant or not, so it should stay small. A skill loads only when its description matches the task — which makes it the right home for long, specialized procedures that would bloat always-on memory.
- Are Claude Skills safe to install?
- Treat them like dependencies. A skill's body is instructions Claude will follow and may include scripts it will run, all under your session's permission settings. Read the SKILL.md and any bundled files before installing from an unfamiliar source, and prefer skills that scope their allowed-tools narrowly.
- How many skills can I install?
- Practically, as many as stay distinguishable. Each installed skill costs a few dozen tokens of metadata at session start; the failure mode isn't context bloat but overlapping descriptions, which make Claude route tasks to the wrong skill.
Related
- Writing Your First SkillA step-by-step guide to packaging a reusable procedure as a Claude Code skill that loads exactly when it's needed.
- The SKILL.md Reference: Every Frontmatter Field ExplainedA complete reference for the SKILL.md format — all frontmatter fields, naming rules, argument substitution, limits, and where skill files live.
- How to Install Claude SkillsEvery way to install Claude skills: manual copy, the agentscamp CLI, GitHub repos, plugins, team distribution, and uploading to claude.ai.
- Claude Skills Examples: Annotated SKILL.md FilesReal SKILL.md examples you can copy — a minimal skill, a scoped-tools skill, a bundled-script skill — with the reasoning behind each line.
- The Best Claude Skills to Install in 2026A skills-only tour of the AgentsCamp library — the Claude Code skills that earn a permanent slot, organized by the job they do.
- Skills vs Agents vs CommandsHow Claude Code's two extension mechanisms — subagents and skills — differ across three invocation patterns, with a decision table for choosing the right one.
- Skills vs MCP Servers: When to Use WhichSkills inject procedure into context; MCP servers expose tools and live data over a protocol. A decision framework, the combine pattern, and examples.
- Claude Skills on claude.ai and the APIHow Agent Skills work beyond Claude Code: uploading to claude.ai, the /v1/skills API with code execution, Managed Agents, and the Agent SDK.
- Skill AuditorAudit an installed set of Claude Code skills for the failure modes that make them misfire — overlapping descriptions that misroute tasks, trigger phrasing that never matches, bloated bodies, missing boundaries, and over-broad tool grants — and return a prioritized fix list with rewritten descriptions. Use when a skill fires on the wrong tasks, never fires at all, or a skills folder has grown past what anyone reviews.
- Are Claude Skills Safe? A Security Review ChecklistSkills are an instruction supply chain: what can go wrong with third-party SKILL.md files, and the review checklist before installing or distributing one.
- Claude Skills vs Custom GPTs: Different Answers to ReuseClaude Skills are portable procedures; Custom GPTs are packaged chatbots inside ChatGPT. How they differ on portability, API access, sharing, and where each wins.
- The Agent Skills Standard: One SKILL.md for Every AI ToolAgent Skills became an open standard in December 2025. Which tools read SKILL.md today — Copilot, Cursor, VS Code, Gemini CLI, Codex — and how to write portable skills.
- Claude Code Skills: Best PracticesThe patterns that make Claude Code skills reliable: trigger-first descriptions, one job per skill, lean bodies, bundled scripts, and scoped tools.
- Claude's Document Skills: Excel, PowerPoint, Word, and PDFHow Anthropic's pre-built document skills let Claude produce real .xlsx, .pptx, .docx, and PDF files — on claude.ai, the API, and in Claude Code.
- Claude Skills Use Cases: 20 Ideas Worth BuildingTwenty concrete Claude skills use cases — for engineers, writers, analysts, and ops — with the pattern behind each and links to installable versions.
- Packaging and Sharing Claude Code SkillsTake a skill from your personal ~/.claude folder to a versioned plugin your whole team installs from a marketplace — portably and with governance.
- Testing and Debugging Claude Code SkillsVerify a Claude Code skill triggers on the right prompts, check its output, and fix the five common failures — from vague triggers to broken paths.
- Claude Skills Not Working? Fixes for Every Failure ModeSkill missing from the / menu, never auto-triggering, firing too often, or breaking mid-run — the symptom-by-symptom fix list for Claude skills.
- Agent SkillsAgent Skills are reusable procedures packaged as folders with a SKILL.md file — loaded by an AI agent on demand when a task matches, now an open standard.