Skip to content

How to install skills in Claude Code

  • Claude Code
  • Agent Skills
  • Skillpack CLI
On this page

A Claude Code skill is a folder with a SKILL.md file in it (see What is SKILL.md?). Installing one just means putting that folder where Claude Code looks. There are two places it can go, and two ways to get it there.

Where Claude Code looks for skills

ScopeFolderWho gets it
User~/.claude/skills/<skill-name>/You, in every project
Project.claude/skills/<skill-name>/Everyone who clones the repo

Source: Claude Code docs, Agent Skills.

Option 1: install a skill by hand

  1. Get the skill folder (clone it, or download and unzip it).
  2. Copy it into ~/.claude/skills/ for yourself, or into .claude/skills/ at the root of the repo for the team.
  3. Check that SKILL.md sits directly inside the skill folder, not one level deeper.
  4. Claude Code picks up the new skill in the current session, no restart needed. If the skills folder didn't exist when the session started, run /reload-skills once. Claude reads each skill's name and description and loads the full skill only when a task matches.

That's fine for one skill. It gets messy with ten skills, a few machines and teammates on different versions. And there's no record of which version you copied.

Option 2: install with the Skillpack CLI

Skillpack is an open-source Skills Hub. Its CLI is a single native binary. It's not an npm package. The macOS and Linux installers are on GitHub releases.

To install a skill for the current project, Claude Code only:

sh
skillpack install <slug> --scope project --tools claude-code

This writes the skill into .claude/skills/ and records it in .companion/skills.lock.json with its version and a sha256 checksum. Want it in ~/.claude/skills/ instead? Use --scope user.

A few useful flags:

  • --version 1.2.3 installs a specific version. --pin keeps it there.
  • --dry-run shows what would change without writing anything.
  • --tools claude-code,codex,opencode installs the same skill for Claude Code, Codex and OpenCode in one go.

Keep the team in sync

Commit .companion/skills.lock.json. Then a teammate (or CI) runs:

sh
skillpack sync --frozen

It checks installed skills against the lockfile and restores missing copies. If someone edited a skill locally, it fails instead of overwriting the change. Sharing skills across several repos? See How to share Claude Code skills with your team. To move to newer versions:

sh
skillpack update --all --dry-run
skillpack update --all

Troubleshooting

  • Claude doesn't use the skill: Claude matches on the description in the frontmatter. Make it say when to use the skill.
  • Skill not found: check the path is .claude/skills/<name>/SKILL.md. If you created the skills folder after the session started, run /reload-skills.
  • Something's off with the setup: run skillpack doctor. It checks setup and connectivity.

Get started

Browse skills and sign up on Skillpack to install, version and share them with your team.