Claude Code Skills, Explained (and How to Install Your First One)
What Claude Code skills are, how they work, and how to install your first one today.
← Part of: The Best Claude Code Tools and Skills (2026)Claude Code skills are markdown files that teach Claude a repeatable job once, so it stops re-deriving that job from scratch every session.
That is the whole concept, and it is worth sitting with before you install anything. If you have been shipping with Claude Code daily, you already know the tax of a stateless agent: you re-explain your deploy process, your commit conventions, your testing setup, your "always check X before touching Y" rule, over and over, in slightly different words each time. A skill is where that explanation goes to live permanently instead of being retyped.
What a skill actually is
Under the hood, a skill is a folder with a SKILL.md file at its center. That file has two parts:
- Frontmatter: a name and a short description of when the skill applies.
- Body: the actual instructions, written the way you would brief a very capable but context-free new hire. Steps, gotchas, exact commands, edge cases.
Claude Code does not load every skill's full instructions into context all the time. It reads the lightweight frontmatter across your installed skills, and when a task matches one, it pulls in the full body just for that job. That is what makes skills cheap to accumulate: you can have a dozen installed and Claude only pays the context cost for the one it actually needs.
Compare that to a one-off prompt. A prompt is scoped to a single message: you write it, Claude acts on it, and the knowledge evaporates when the session ends. A skill is scoped to your project or your machine: once installed, it is available every session, for you and for anyone else who works in that repo with Claude Code. That is the real difference. A prompt is advice for right now. A skill is a standing capability.
This also means a skill is not a magic new power Claude did not have before. It is procedural memory: the specific way your team deploys, the specific flags your CLI expects, the specific review checklist your codebase needs. Claude already knows how to write code; a skill tells it how to write code the way you want it written, without you saying so out loud each time.
If you want the full landscape of tools worth installing alongside skills (not just skills themselves), the pillar guide covers that: /blog/best-claude-code-tools/.
Where to get skills
You do not have to write your first skill from scratch. There are already a few places to pull from, and they solve different problems.
anthropics/skills
Anthropic maintains a public repository of official skills at github.com/anthropics/skills. It includes the skills that power Claude's own document handling (Word, PDF, PowerPoint, Excel), plus example and creative skills that show what the format is capable of.
You install from it as a Claude Code plugin marketplace, not a manual file copy. Inside Claude Code:
/plugin marketplace add anthropics/skills
Then install a specific bundle, either through the interactive plugin browser or directly:
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills
This is the source to check first if you want something Anthropic built and maintains directly, especially the document-handling skills, since those are the same ones running in Claude's own product surfaces.
skills.sh
skills.sh is a community and Vercel-run directory of skills with an agent-aware CLI on top. The pitch is simple: point it at a skill repo, and it figures out which coding agent you are running (Claude Code, Cursor, Codex, and dozens of others) and drops the skill in the right place for that agent.
The CLI is npx skills, and it is genuinely agent-agnostic, which matters if your team is not 100% standardized on Claude Code yet. It is also the fastest way to browse what the community has built rather than only what Anthropic ships.
K-Dense claude-skills-mcp
Once you have more than a handful of skills installed, a different problem shows up: how does Claude know which one to reach for? claude-skills-mcp is an MCP server built to answer that. Instead of Claude scanning every installed skill's frontmatter, this server does a semantic search over a larger pool of skills (Anthropic's official set plus a much bigger community collection) and progressively loads only the skill that actually matches the task, metadata first, then full content, then any supporting files.
Think of it as a search index sitting in front of your skills library instead of a flat folder listing. It matters more as your skill count grows past what you'd want to keep in a single glance.
browse.sh
Browser automation is one specific job that comes up constantly for solo builders: log into a site, scrape a listing, fill out a form, check a competitor's page. browse.sh, from Browserbase, is an open catalog of curated browser skills, site-specific playbooks that already encode the selectors, gotchas, and workarounds for services like Zillow, DoorDash, and dozens of others, so Claude does not have to rediscover a site's DOM quirks from zero every run. It installs through its own CLI (npm i -g browse).
If browser automation specifically is your bottleneck, the deeper guide on that is here: /blog/browser-automation-claude-code/.
How to install your first skill today
Here is the shortest real path, using Anthropic's own repository, inside Claude Code:
- Open Claude Code in a project where you'd actually use a document or example skill.
- Register the marketplace: run
/plugin marketplace add anthropics/skills. - Browse or install directly. Either run
/pluginand select "Browse and install plugins," then pickanthropic-agent-skills, or install a bundle straight away with/plugin install document-skills@anthropic-agent-skills. - Use it without ceremony. You do not flip a switch to "activate" a skill. Just ask for the task naturally, for example "use the PDF skill to pull the form fields out of this file," and Claude reaches for it because the task matches what the skill's frontmatter describes.
- Confirm it is there by asking Claude to list its available skills, or by checking
/pluginfor what is installed.
If you'd rather browse a broader, cross-agent set instead of Anthropic's official list, npx skills add vercel-labs/agent-skills -a claude-code pulls from the skills.sh directory and installs straight into Claude Code, or drop -a claude-code and let it detect your agent automatically. Either path gets you to the same place: a skill sitting in your project, available on your very next message, no re-explaining required.
The best first skill to install is not a flashy one. It is whatever task you already retype instructions for weekly, your commit message format, your test-before-claiming-done rule, your deploy checklist. Turn that into (or install) a skill first, and you will feel the difference on your very next session, not some hypothetical future one.
Skills vs subagents
Skills and subagents solve different shaped problems, and it is worth knowing which one you actually need before reaching for either.
A skill is knowledge: it teaches the main Claude Code session how to do something it does not currently know how to do well, then hands control right back. It does not spin up a separate context, and it does not run in parallel. It is a briefing document, not a worker.
A subagent is delegation: a separate Claude instance with its own context window, launched to go do a bounded piece of work (research a codebase question, run a batch of edits, execute a test suite) and report back a result, so your main conversation's context stays clean. Subagents are for offloading work you don't want cluttering your primary thread. Skills are for teaching your primary thread (or any subagent) a specific way of doing something.
In practice they compose: a subagent you delegate to can itself use an installed skill, getting both the clean-context benefit of delegation and the procedural correctness of the skill. If you're deciding between the two for a given task, ask whether the problem is "Claude doesn't know how we do this" (skill) or "I don't want this eating my main context window" (subagent). The full breakdown, with concrete examples of when each wins, is in the subagents guide: /blog/claude-code-subagents-guide/.
The takeaway
A skill is not a plugin you install and forget. It is a small, ongoing investment: every time you catch yourself re-explaining the same process to Claude, that is a signal you should have written it down once, as a skill, instead. Start with one real, boring, recurring task. Install it, watch Claude reach for it unprompted next time, and go from there.
Every story, number, and link in your inbox.
The written brief from each episode, free, every morning.