How to install Claude Code skills

Close-up of wooden letterpress type blocks, individual pieces arranged into a working whole
Image: Close-up pieces wooden type · CC0

Installing an Agent Skill is mostly a matter of putting a folder in the right place. The friction is usually in the parts around that: choosing which method fits, checking what you are about to trust, and working out why a skill is not firing.

This guide covers all three.

Before you install: a two-minute review

A skill is a set of instructions handed to an agent that writes code on your behalf, and some skills bundle scripts they tell the agent to run. That deserves the same scrutiny you would give any dependency.

Open the repository and check:

  1. Read SKILL.md end to end. It is usually under 200 lines. You are looking for anything that touches credentials, deletes files, or contacts external services.
  2. List the other files. If the skill ships scripts, skim them.
  3. Check the licence. About a third of the public skills we index declare none, which leaves you no clear footing to adapt or redistribute them.
  4. Check the last commit. A skill written against an API that changed a year ago will confidently supply wrong information.

Every listing in our catalog surfaces the licence, star count, and last update date, and links to the source — the point is to make this check quick, not to replace it.

Method 1: install a plugin from a marketplace

Most larger skill collections ship as plugins. This is the least manual route and the easiest to reverse.

Add the marketplace, then install from it:

# In Claude Code
/plugin marketplace add owner/repository
/plugin install plugin-name

Every skill page in our catalog shows the exact command for that project, because the repository and plugin names differ per publisher.

Plugins can bundle more than skills — commands, agents, hooks, even MCP servers — so you may be installing more than you expect. The plugin’s README should say what is inside.

To remove it, uninstall the plugin rather than deleting individual folders, so nothing is left behind:

/plugin uninstall plugin-name

Method 2: install a single skill manually

When you want one skill rather than a whole collection, copy the folder yourself.

Personal skills go in your home directory and apply to every project:

mkdir -p ~/.claude/skills
git clone https://github.com/owner/repository /tmp/skill-src
cp -r /tmp/skill-src/skills/the-skill-you-want ~/.claude/skills/
rm -rf /tmp/skill-src

The result should look like this:

~/.claude/skills/
└── the-skill-you-want/
    ├── SKILL.md          ← required
    └── reference.md      ← optional supporting files

The only hard requirement is that SKILL.md sits directly inside a folder under skills/. Nesting it one level deeper is the most common reason a manual install appears to do nothing.

Method 3: install a skill for one project

Project-scoped skills are the ones worth caring about if you work on a team. They live in the repository and travel with it:

mkdir -p .claude/skills
cp -r /path/to/the-skill .claude/skills/
git add .claude/skills && git commit -m "chore: add testing conventions skill"

Now every engineer who clones the repository gets the same conventions automatically, including the one who joins next month. This is the single most useful thing you can do with skills as a team: move conventions out of one senior developer’s head and into something the agent applies on its own.

Use project scope for anything team-specific — architecture rules, deployment steps, review standards. Use personal scope for your own habits.

Verifying it worked

Two checks, in order.

Is it discoverable? Ask the agent what skills it has available. If yours is not listed, the problem is the file layout — check that SKILL.md is directly inside a folder in skills/, and that the frontmatter has both name and description.

Does it fire? Give the agent a task that clearly matches the skill’s purpose and watch whether the behaviour changes.

If the skill is listed but never activates, the description is the culprit almost every time. At rest the agent only holds each skill’s name and description; it matches your request against those to decide what to load. A description that does not name the triggering situations gives it nothing to match on:

# Never fires — nothing to match against
description: Helps with testing.

# Fires reliably — names the situations explicitly
description: >
  Testing conventions for this repository, including file layout, mocking
  policy, and the coverage gate. Use when writing new tests, fixing failing
  tests, or reviewing test coverage.

Rewrite the description as a list of situations where the skill should apply. That fixes the large majority of “installed but nothing happens” reports.

Troubleshooting

Skill does not appear at all. SKILL.md is nested too deep, or the frontmatter is malformed. YAML is whitespace-sensitive; a stray tab will invalidate the block silently.

Skill appears but never activates. Description problem — see above.

Two skills conflict. Narrow both descriptions so their trigger conditions do not overlap, or remove the one you use less. Broad skills that try to cover a whole language or framework are the usual offenders.

Skill fires when it should not. The description is too broad. Add the boundary explicitly: “Use for Python projects only”, “Do not use for one-off scripts.”

Where to find skills worth installing

The catalog indexes public, open-source skills from GitHub with licence, popularity, and freshness on every listing. If you would rather start from a shortlist:

Start with one or two that address something you are actually repeating. A library you assembled speculatively is one you will not maintain.

Frequently asked questions

Where do Claude Code skills get installed?
Personal skills live in ~/.claude/skills/ and are available in every project. Project skills live in .claude/skills/ inside the repository and are available only there, which makes them committable and shareable with your team.
Do I need to restart Claude Code after installing a skill?
Usually not — skills are discovered from the filesystem. If a newly added skill is not being picked up, starting a new session is the quickest way to force rediscovery.
How do I know whether a skill actually loaded?
Ask the agent directly what skills it has available, or give it a task that clearly matches the skill description and watch whether the behaviour changes. A skill that never fires almost always has a description problem, not an installation problem.
Is it safe to install a skill from GitHub?
Treat it like any dependency. A skill is instructions you are handing to something that writes and runs code on your behalf, and some bundle scripts. Read SKILL.md and any bundled files before installing, prefer repositories with a declared licence and recent activity, and be more careful with skills that touch credentials, deployment, or your filesystem.
How do I remove a skill?
Delete its folder from ~/.claude/skills/ or .claude/skills/. If it came from a plugin, uninstall the plugin instead so the whole bundle is removed cleanly.
claude-codeinstallationhow-to

DevOps skills to try

All devops skills →

Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.

82k addyosmani MIT

Build reusable Terraform modules for AWS, Azure, GCP, and OCI infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

39k wshobson MIT

SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

15k microsoft MIT

Browser automation CLI built for AI agents. Break through anti-bot walls, hand off to humans across platforms when stuck. Parallel multi-task execution, independent multi-session operation, isolated multi-account browsing.

5.0k browser-act MIT

Install our local first extensions for your favorite AI IDE or Terminal Agent. Process your histories into reusable skills with Lore. Sync your conversations to the cloud. File issues and requests.

1.3k specstoryai Apache-2.0