Install agent skills in Claude Code
Add a skill to Claude Code with one npx line or a premium ZIP, check it with /skills and run it with /skill-name. Covers personal and project folders.

Claude Code reads skills from two folders you control: .claude/skills in a project and ~/.claude/skills in your home folder. Each skill is its own folder with a SKILL.md file inside.
Short answer: run the skill's npx line in your project (or unzip a premium skill into .claude/skills), type /skills to see it, then type /skill-name or just ask for the job.
What you need
Step 1: Choose a project or personal skill
1 minWhere the folder goes decides which sessions can use it.
- Project:
.claude/skills/<skill-name>/SKILL.mdin your repo. Sessions in this repo load it, and your team gets it when you commit it. - Personal:
~/.claude/skills/<skill-name>/SKILL.md. Every project on this computer loads it. - Claude Code also loads
.claude/skills/in parent folders up to the repo root, so a skill at the root works when you start inpackages/app/too.
Same name in both? The personal skill runs. Skills your organization deploys beat both. Personal skills don't load in Cowork or cloud sessions.
- Project:
Step 2: Install a free skill with one line
1 minThe skills CLI copies the skill from its maker's GitHub repo into
.claude/skills/.- Open a terminal in your project folder.
- Paste the line from the skill's Recaply page. It ends in
-a claude-code. - To install it for all your projects instead, add
-g. It then goes to~/.claude/skills/.
The install linenpx skills add <owner>/<repo> --skill <skill-name> -a claude-code
You should see a new
.claude/skills/<skill-name>/folder withSKILL.mdinside.The CLI asks which agents to install to?
The line is missing its
-avalue. Pick your agent in the list, or run the line again with it. Add-yto skip the questions.The CLI keeps its main copy in
.agents/skills/and links.claude/skills/<skill-name>to it, so keep both folders. Add--copyif you want a plain copy instead of a link.Step 3: Or install a premium skill from its ZIP
2 minA premium skill's ZIP holds one folder named after the skill, ready to drop in.
- On the skill's Recaply page, sign in, buy it (or use the plan), then click Download ZIP.
- Move the ZIP into your project folder and open a terminal there.
- Run the line below. For all your projects, unzip to
~/.claude/skills/instead.
Your lineunzip <slug>.zip -d .claude/skills/You should see
.claude/skills/<slug>/SKILL.md, with the skill's other files beside it.On Windows, there's no
unzip?Right-click the ZIP, choose Extract All, and move the extracted folder into the
.claude/skillsfolder in your project.The path must be
.claude/skills/<slug>/SKILL.md. If you see<slug>/<slug>/, move the inner folder up one level.Step 4: Check that Claude Code sees it
1 minClaude Code watches its skills folders, so a new skill shows up in a running session without a restart.
- In Claude Code, type
/skills. Type part of the name to filter the list. - Or ask Claude:
What skills are available? - If
.claude/skills/didn't exist when the session started, run/reload-skillsso Claude Code finds the new folder.
You should see the skill's name and description in the list.
It's in the folder but not in the list?
Run
claude plugin validate .claude/skills(or~/.claude/skills) to find aSKILL.mdwhose top block doesn't parse. It needs Claude Code v2.1.233 or later.In the
/skillslist, press Space or Enter on a skill to change whether Claude and the/menu can use it, and Esc to save.- In Claude Code, type
Step 5: Run the skill
1 minClaude loads a skill when your request fits its description, or right away when you call it.
- Type
/and the skill's name, then what you want. The text after the name goes to the skill. - Or ask for the job in plain words that match the skill's description.
Your prompt/<skill-name> <what you want it to do>You should see Claude follow the skill's steps for your task.
Claude doesn't use the skill on its own?
Use words from its description, or call it with
/skill-name. If the top block ofSKILL.mdis broken,/skill-namestill works but Claude can't match the description; startclaude --debugto see the error.- Type
Step 6: Not working? Check these
2 minMost problems come from where the folder sits, its name, or the block at the top of SKILL.md.
- The path is
.claude/skills/<skill-name>/SKILL.md: one folder deep, and the file namedSKILL.md. - Two skills share a name? The one in
~/.claude/skills/runs, not the project's. - Started Claude Code somewhere else? Project skills load from where you start it and the folders above it, up to the repo root. Skills in a subfolder load once Claude reads or edits a file there.
- Lots of skills? Claude Code may drop some descriptions to fit its budget. Run
/doctorto see the cost and/skill-doctorto find skills to turn off. - Personal skills gone? Look in
~/.claude/skills/.trash/and move the folder back.
Signed in with a claude.ai account? Skills you turn on at claude.ai sync to
~/.claude/skills/synced/and show under claude.ai sync in/skills.- The path is
You get
A skill in Claude Code that shows in /skills and runs with /skill-name
Try next
Did this guide work for you?
Thanks. It helps us fix the steps.


