How to Install Claude Code Skills
Install Claude Code, then add skills three different ways depending on what you're installing and who needs it. There's no single install command, so this page's job is telling you which path applies.
Published
AgentSkills.site editorial
1. Install Claude Code first
macOS, Linux, or WSL:
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
Windows CMD:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Homebrew (two casks — claude-code tracks stable, claude-code@latest tracks every release):
brew install --cask claude-code
WinGet:
winget install Anthropic.ClaudeCode
apt, dnf, and apk are also supported on Debian, Fedora, RHEL, and Alpine. Confirm the install:
claude --version
Then start a session — you'll be prompted to log in on first use:
claude
Native installs auto-update in the background. Homebrew and WinGet installs don't — run brew upgrade claude-code or winget upgrade Anthropic.ClaudeCode yourself periodically.
2. The three ways to add a skill
Unlike some agent ecosystems, there's no single "install a skill" command. Which path applies depends on what you're adding:
| Method | Use when | Shareable? |
|---|---|---|
| Write the file by hand | You're writing your own skill, or copying one from a repo you've already read | Commit it to the repo |
npx skills |
Pulling a skill from GitHub without cloning it yourself | Per-machine, not versioned with your project |
| Plugin marketplace | The skill ships as part of a plugin (bundled with agents, hooks, or MCP servers) | Yes — this is the only path with any review process behind it |
3. Write a skill by hand
A skill is just a file. For a personal skill available in every project:
mkdir -p ~/.claude/skills/my-skill
For a project skill, scoped to one repo:
mkdir -p .claude/skills/my-skill
Save SKILL.md inside it with at minimum name and description in the frontmatter (see the SKILL.md format for the full field reference). Claude Code picks up the new file within the current session — no restart needed unless the top-level skills directory itself is brand new.
4. Install with npx skills
npx skills is a third-party, MIT-licensed, cross-agent skill installer maintained by Vercel — not an Anthropic tool, but built specifically to pull SKILL.md files from GitHub into whichever agent you're using, Claude Code included.
List what a repo offers before installing anything:
npx skills add <owner>/<repo> --list
Install a specific skill into Claude Code:
npx skills add https://github.com/anthropics/skills --skill docx --agent claude-code
Add --yes for non-interactive installs. The tool defaults to symlinking rather than copying, so updating the source updates every project that references it.
5. Install a skill bundled in a plugin
Plugins can bundle skills alongside agents, hooks, and MCP servers, distributed through a marketplace — a catalog of plugins someone else published. Anthropic runs two:
-
claude-plugins-official— curated by Anthropic, added automatically the first time you start Claude Code interactively. If it wasn't added automatically:/plugin marketplace add anthropics/claude-plugins-official -
claude-plugins-community— third-party plugins that passed automated validation and safety screening, pinned to a commit SHA. Not added automatically:/plugin marketplace add anthropics/claude-plugins-community
Install from either:
/plugin install <plugin-name>@claude-plugins-official
/plugin install <plugin-name>@claude-community
Anyone can also host their own marketplace and you add it directly — a GitHub repo (owner/repo), any git URL, a local path, or a remote marketplace.json:
/plugin marketplace add owner/repo
/plugin marketplace add https://gitlab.com/company/plugins.git
If the install summary says Run /reload-plugins to activate., run that command — new plugin skills don't apply automatically until you do. Plugin skills are namespaced by plugin name, so a commit-commands plugin's commit skill is /commit-commands:commit, never a bare /commit.
Managing plugins and marketplaces
/plugin # open the interactive plugin manager
/plugin list # list installed plugins
/plugin disable <name>@<marketplace>
/plugin enable <name>@<marketplace>
/plugin uninstall <name>@<marketplace>
/plugin marketplace list
/plugin marketplace update <marketplace-name>
/plugin marketplace remove <marketplace-name>
/reload-plugins
For scripting or CI, use the non-interactive shell commands instead, which target user scope by default:
claude plugin install <name>@<marketplace> --scope project
claude plugin uninstall <name>@<marketplace> --scope project
claude plugin validate ./your-plugin
Is a skill checked for anything before it runs?
Not automatically, and not for every path above. This is the single biggest difference from ecosystems that scan every install:
- Hand-written or
npx skills-installed skills pass through nothing before their instructions become active — a skill is just a file Claude reads. Anyallowed-toolsgrant in its frontmatter takes effect the moment you invoke it. - Plugins from the community marketplace go through Anthropic's automated validation and safety screening before publication, and are pinned to a specific commit — the closest thing to a trust gate in this system, and it only covers that one path.
- The official marketplace is curated by Anthropic directly, at Anthropic's discretion.
Anthropic's own guidance is blunt about the rest: "Anthropic doesn't control what MCP servers, files, or other software are included in plugins and can't verify that they work as intended." Read a skill's SKILL.md and any bundled scripts before installing anything outside the two official marketplaces — see evaluating a skill on GitHub for what to check.
Troubleshooting
| Symptom | Fix |
|---|---|
/plugin command not recognized |
Update: brew upgrade claude-code, npm install -g @anthropic-ai/claude-code@latest, or re-run the native installer, then restart your terminal |
| Plugin skills don't appear after install | rm -rf ~/.claude/plugins/cache, restart Claude Code, reinstall |
| Skill doesn't trigger automatically | Check the description includes words you'd naturally use; try /skill-name directly if it's user-invocable; run with --debug to catch a malformed-YAML parse error |
| Skill triggers too often | Make the description more specific, or add disable-model-invocation: true for manual-only use |
Marketplace "..." not found |
Add it first with /plugin marketplace add <owner>/<repo>, then retry the install |
Sources
Elsewhere in the Claude Code guide
- 01Claude Code Skills: The Practical GuideWhat Claude Code skills are, where they live, and the frontmatter fields that only work in Claude Code.
- 02The Best Claude Code SkillsThe Claude Code skills worth installing, verified against the actual repos, not another roundup.
- 04Claude Code Skills on GitHubWhere to find Claude Code skills on GitHub, and how to vet one before you run it.