If you searched "how to install Claude Code skills," you've probably seen a dozen answers that hand-wave the mechanics. Here's the whole thing, concretely, on Claude Opus 4.8 โ what a skill is, where it goes, why it fires (or doesn't), and what to install first.
What a skill actually is
A Claude Code skill is a folder containing a SKILL.md file. That's it. The file has two parts: YAML frontmatter at the top, and Markdown instructions below it. The frontmatter is what Claude reads to decide whether to use the skill; the body is what it reads once it decides to.
A minimal skill looks exactly like this:
---
name: changelog-writer
description: Generate a Keep-a-Changelog entry from a git tag range.
Use when the user asks for a changelog, release notes, or "what
changed since the last release."
---
# Changelog Writer
When invoked, read the commit range between the two most recent
git tags. Group the changes by user-facing impact (Added, Changed,
Fixed, Removed), not by file. Write tight, present-tense bullets.
Skip merge commits and version-bump commits.
The name is the identifier. The description is the most important line in the whole file โ it's the trigger logic, written in plain English. The body is the actual playbook Claude follows. No code, no config, no build step. A skill is structured instructions Claude loads on demand.
Where skills live
There are two locations, and the difference matters:
- Personal skills:
~/.claude/skills/<skill-name>/SKILL.mdโ available in every project on your machine. - Project skills:
.claude/skills/<skill-name>/SKILL.mdinside a repo โ available only in that project, and shareable with your team via git.
Each skill gets its own directory named after the skill, with the SKILL.md inside it. The folder can also hold supporting files (templates, reference docs, scripts) that the SKILL.md points to โ but the SKILL.md is the entry point and the only required file.
How triggering works
This is the part people get wrong. Claude does not load every skill's full body into context all the time โ that would blow your context budget (and your bill; see our Opus 4.8 pricing guide for why). Instead:
- At session start, Claude reads only the name + description of each installed skill. Cheap.
- When your request matches a skill's description, Claude loads that skill's full body into context and follows it.
- Skills it doesn't need stay collapsed to a one-line description.
The practical consequence: your description is your trigger. A vague description ("helps with code") fires unpredictably. A sharp one โ naming the exact phrases and situations that should invoke it โ fires when you want and stays quiet when you don't. Spend your effort there.
Install one in 60 seconds
Let's install a real, working skill right now โ the free context-budgeter from ClaudeFarm. It calculates the cost of a Claude Opus 4.8 workflow, and it's a complete crop we give away so you can judge the quality of everything else on the farm.
# 1. Make the skill directory
mkdir -p ~/.claude/skills/context-budgeter
# 2. Download the SKILL.md into it
curl -o ~/.claude/skills/context-budgeter/SKILL.md \
https://claudefarm.com/free/context-budgeter/SKILL.md
# 3. That's it โ it's live. Verify:
ls ~/.claude/skills/context-budgeter/
Open a Claude Code session and ask: "How much would it cost to query a 200k-token codebase 50 times in an hour?" โ the description matches, Claude loads the skill, and you get a worked cost breakdown back. You just installed and triggered your first skill.
Write & test your own
Now build one from scratch. Four steps:
- Create the folder:
mkdir -p ~/.claude/skills/my-skill - Write the SKILL.md: frontmatter with a sharp
description, then a body that reads like instructions to a competent contractor โ what to do, in what order, what to skip. - Restart your session (or start a new one) so Claude re-scans the skills directory and picks up the new description.
- Test the trigger: phrase a request the way a real user would โ using the words in your description โ and confirm the skill fires. If it doesn't, your description is too vague or too narrow. Tune it and retest.
Testing the trigger is the step everyone skips and then complains their skill "never runs." The body can be perfect; if the description doesn't match how you actually ask, the skill stays collapsed forever.
Common mistakes
- Wrong path. The file must be
~/.claude/skills/<name>/SKILL.mdโ a folder per skill. Dropping a baremy-skill.mdinto~/.claude/skills/won't register. - Weak description. "Helps with files" triggers randomly. Name the concrete situations and phrases. The description does 90% of the work.
- No restart. Skills are scanned at session start. Add one mid-session and it won't appear until you start fresh.
- Bloated body. A 2,000-word SKILL.md loads 2,000 words into context every time it fires. Keep it tight โ instructions, not essays.
- Installing 40 of them. Skills compete for invocation and eat context. A senior setup runs 8โ12, audited. See our best skills guide for the ones worth the slot.
5 skills worth installing first
If you're starting from zero, these five earn their place fast:
- context-budgeter โ the free ClaudeFarm crop. Tells you what a workflow will cost before you run it. Get it here.
- code-reviewer โ reviews the current diff for correctness bugs at a chosen effort level. The highest-frequency win if you ship PRs.
- git-commit-writer โ drafts a commit message that matches your repo's existing style. Pays off daily.
- pr-description-writer โ turns a branch diff into a summary + test plan. Kills the universally hated step.
- test-generator โ writes tests against a function's contract, not its implementation, so they survive refactors.
We rank the full field โ with honest "skip this ifโฆ" notes โ in The Best Claude Code Skills (2026).
That's the whole loop: a skill is a SKILL.md in ~/.claude/skills/, it triggers off its description, you install it with a copy command, and you test by phrasing a request the way the description expects. Start with the free context-budgeter as your working reference, then expand. And if you want to know what your skill-heavy setup will cost to run, read the Claude Opus 4.8 pricing guide next โ or compute it free in the Hive Terminal.