Getting started · 6 min read

How to Install Claude Code Skills (5 Ways)

Install Claude Code skills with a one-line command, a zip, a git-committed project folder, a plugin marketplace, or a claude.ai upload. Verify with /skills.

To install a Claude Code skill, put its folder (the one containing SKILL.md) inside ~/.claude/skills/ for all your projects, or inside .claude/skills/ in a repository for that project only. The fastest way on this site is one command: curl -fsSL https://claudeskills.page/install.sh | sh -s -- <skill-name>. Then run /skills in Claude Code to confirm it loaded.

This guide covers all five installation methods, when to use each, and how to check that the skill actually works.

Which installation method should you use?

MethodBest forScopeUpdates
One-line installerTrying a skill quicklyPersonal or projectRe-run the command
Manual zipAuditing before install, offline machinesPersonal or projectRe-download
Git-committed project skillTeams sharing a workflowEveryone who clones the repoNormal pull requests
Plugin marketplaceBundles of skills, agents, hooks, and MCP serversPersonal or projectThrough /plugin
claude.ai uploadUsing a skill in the Claude appsYour claude.ai accountRe-upload

Whatever the method, the end state is the same: a folder named after the skill, with SKILL.md directly inside it.

~/.claude/skills/
└── systematic-debugging/
    ├── SKILL.md
    └── references/

If you end up with ~/.claude/skills/systematic-debugging/systematic-debugging/SKILL.md, or a loose SKILL.md directly under skills/, Claude Code will not find it.

Method 1: Install a skill with one command

Every skill page on this site has a copyable install command. On macOS, Linux, or WSL:

# Personal install: ~/.claude/skills/<skill-name>, available in every project
curl -fsSL https://claudeskills.page/install.sh | sh -s -- systematic-debugging

# Project install: ./.claude/skills/<skill-name>, run from the repo root
curl -fsSL https://claudeskills.page/install.sh | sh -s -- systematic-debugging --project

On Windows PowerShell:

& ([scriptblock]::Create((irm https://claudeskills.page/install.ps1))) systematic-debugging

The sh -s -- part passes everything after -- to the script as arguments, which is how the skill name and the --project flag reach the installer. You can pass several skill names in one command:

curl -fsSL https://claudeskills.page/install.sh | sh -s -- code-review commit-craft tdd-loop

Piping a script from the internet into a shell is convenient, but you should know what it does. Before the first run, read it:

curl -fsSL https://claudeskills.page/install.sh | less

And read the skill itself. Each skill page here shows the complete SKILL.md and every supporting file, so you can review the content before anything touches your disk. The skill safety guide explains what to look for.

Method 2: Install a skill manually from a zip

The manual route gives you a local copy to inspect before it goes live. Download, look, then extract:

# Download
curl -fsSLO https://claudeskills.page/downloads/code-review.zip

# Inspect the contents before installing
unzip -l code-review.zip

# Personal install
unzip -o code-review.zip -d ~/.claude/skills/

# Or project install, from the repo root
mkdir -p .claude/skills && unzip -o code-review.zip -d .claude/skills/

The zip contains a top-level code-review/ folder, so extracting into the skills/ directory produces the correct layout. -o overwrites an older version without prompting, which is what you want when updating.

The same steps work for any skill folder you get elsewhere, such as from Anthropic’s open-source skills repository or a colleague’s repo. Copy the skill folder, not the repository root:

git clone --depth 1 https://github.com/anthropics/skills /tmp/anthropic-skills
# Copy the folder that directly contains SKILL.md
cp -R /tmp/anthropic-skills/<path-to>/<skill-folder> ~/.claude/skills/

Method 3: Install skills at the project level for a team

Project skills live in .claude/skills/ at the repository root and are committed to git. Anyone who clones the repo and opens Claude Code there gets them, with no install step.

cd your-repo
curl -fsSL https://claudeskills.page/install.sh | sh -s -- schema-migrations --project
git add .claude/skills/schema-migrations
git commit -m "Add schema-migrations skill for zero-downtime DDL"

This is the right choice for workflows tied to a codebase: your migration procedure, your release checklist, your API conventions. Changes go through code review like anything else. Two caveats:

  • A teammate’s personal skill with the same name overrides the project one on their machine. Pick distinctive names.
  • In a monorepo, you can also place skills in a subdirectory’s own .claude/skills/. Claude Code loads those when you work inside that subdirectory.

The team sharing guide covers review and versioning in more depth.

Method 4: Install skills from a plugin marketplace

Plugins package skills together with subagents, hooks, and MCP server configuration. A marketplace is a catalog of plugins, usually a git repository with a marketplace.json file. Inside Claude Code:

/plugin marketplace add owner/repo
/plugin install plugin-name@marketplace-name

marketplace add also accepts a full git URL, a local path, or the URL of a hosted marketplace.json. To install for a whole project from the command line instead:

claude plugin install plugin-name@marketplace-name --scope project

Plugin skills are namespaced. A review skill inside a plugin called acme-tools is invoked as /acme-tools:review, so it never collides with your own review skill.

Third-party marketplaces do not auto-update by default. That is a sensible security default; it also means you need to update deliberately through /plugin when the author ships a fix. To publish your own, see plugin-marketplace-publisher.

Method 5: Upload a skill to claude.ai

Skills also work in the Claude apps on Pro, Max, Team, and Enterprise plans, with code execution enabled.

  1. Download the skill zip from its page on this site.
  2. In claude.ai, open Settings, then Capabilities, and find the Skills section.
  3. Upload the zip.
  4. Check that the skill appears in your skills list and is enabled.

Uploaded skills are per user and do not sync to Claude Code or the API. claude.ai is also stricter than Claude Code: the name cannot contain “anthropic” or “claude,” and the upload accepts only the open-standard frontmatter keys (name, description, license, compatibility, metadata, allowed-tools). A skill that uses Claude Code-only fields like disable-model-invocation or context may be rejected. The claude.ai and API guide explains how to make a skill portable.

How do I check that a skill is installed correctly?

In Claude Code, run:

/skills

This opens the skills menu listing every skill Claude Code found, so you can confirm yours is there. Then test both invocation paths:

  1. Manual: type / and the skill name, for example /systematic-debugging the login test fails intermittently. If it loads, the files are in the right place.
  2. Automatic: start a fresh request that matches the skill’s description without naming it, such as “this test passes locally but fails in CI, help me figure out why.” If Claude picks up the skill, triggering works.

To see how much context your installed skills cost, run /context.

If the skill does not appear, check in this order:

# Is SKILL.md where Claude Code expects it?
ls ~/.claude/skills/*/SKILL.md

# Does the folder name match the name field?
head -5 ~/.claude/skills/systematic-debugging/SKILL.md

Common causes are a nested folder from unzipping into the wrong directory, a name that does not match the folder, or a YAML syntax error in the frontmatter. If the skill appears but never triggers on its own, the cause is usually the description or a disable-model-invocation: true setting. The skill not triggering guide walks through each case.

How do I update or remove a skill?

To update, re-run the same install command or re-extract the newer zip with unzip -o. Edits under ~/.claude/skills and .claude/skills take effect without restarting. If you created a skills directory for the first time during a running session, run /reload-skills.

To remove a personal or project skill, delete its folder. For plugin skills, manage them through /plugin.

Next steps

Frequently asked questions

Do I need to restart Claude Code after installing a skill?

Usually not. Claude Code watches ~/.claude/skills and your project's .claude/skills, so new or edited skills there are picked up live. The exception is when a skills directory did not exist at all when the session started; run /reload-skills in that case.

How do I uninstall a Claude Code skill?

Delete its folder, for example rm -rf ~/.claude/skills/code-review for a personal skill or .claude/skills/code-review inside a project. For a plugin skill, uninstall or disable the plugin from the /plugin menu instead of deleting files.

Can I install the same skill both personally and in a project?

You can, but only one version is used. When names collide, a personal skill takes precedence over a project skill, so teammates may see different behavior than you. Keep one copy, or rename your personal variant.

Does installing a skill on claude.ai make it available in Claude Code?

No. Skills do not sync between surfaces. A zip uploaded to claude.ai is available only there, for your account. Install the same skill separately into ~/.claude/skills for Claude Code.

esc