Install and verify

How to install Claude skills in Claude Code

Claude Code loads skills from folders on your computer, so installing one means putting a SKILL.md folder in a directory Claude Code already reads, then checking that it appears. This guide covers the documented locations, the documented install paths, and the verification step. Every command and path here was checked against the linked documentation on 16 August 2026.

Publisher
Skills Board
Published
Updated

Core principle

Installing a skill is a file placed at a chosen scope, followed by a check that Claude Code read it.

Quick answer

Claude Code reads skills from the filesystem. Put the folder at ~/.claude/skills/<skill-name>/SKILL.md to use the skill in every project, or at .claude/skills/<skill-name>/SKILL.md to scope it to one repository and commit it with the code. A plugin, enterprise managed settings, and a claude.ai sync run are the other documented sources. Run /skills to confirm Claude Code sees it.

For what a skill actually is, the frontmatter fields in full, and the surfaces beyond Claude Code that read the same folder, see Claude skills: what they are and how to use them.

The problem behind the query

The searches behind this page ask for a command: add skills to Claude Code, install Claude skills, where are Claude skills stored. Anthropic documents no CLI subcommand that installs a bare skill folder, so people copy folders into a directory Claude Code does not read, or into the right directory at a scope that another copy overrides, and then have no way to tell whether anything loaded. Knowing the documented locations and the one verification step removes both failures.

01 / Decision

Choose the scope before you copy the folder

Where the folder goes decides who gets the skill. Claude Code documents four locations, plus a synced directory it fills from your claude.ai account. When the same skill name exists at more than one level, enterprise overrides personal and personal overrides project, and a skill at any of those levels overrides a skill synced from claude.ai.

ScopeDocumented pathWho gets itChoose it when
Personal~/.claude/skills/<skill-name>/SKILL.mdYou, across all your projects.The skill is part of how you work rather than part of a codebase.
Project.claude/skills/<skill-name>/SKILL.mdAnyone working in that repository, once the folder is committed.The skill belongs to the codebase and should arrive with a clone.
Plugin<plugin>/skills/<skill-name>/SKILL.mdEveryone who installs and enables the plugin.You are distributing several skills, or skills together with agents, hooks, and MCP servers.
EnterpriseManaged settings, as documented for your platform.Every user in the organization.The organization needs the skill present without each person installing it.
claude.ai sync~/.claude/skills/synced/Your own account, after a non-interactive run with CLAUDE_CODE_SYNC_SKILLS set.You already enabled the skill on claude.ai and want it in local sessions too.

02 / Workflow

Install a skill and confirm Claude Code loaded it

The manual path is worth learning first, because the plugin path and the sync path produce the same result: a SKILL.md folder in a directory Claude Code reads. Commands below are quoted from the documentation cited beside each step.

  1. 01

    Read the skill before you install it

    Anthropic's guidance is to use skills only from sources you trust, because a skill gives an agent new instructions and executable code, and a malicious one can direct the agent to call tools in ways its stated purpose does not suggest. Review SKILL.md, every bundled script, and anything the skill fetches from an external URL. Treat the decision the way you would treat installing software.

    Output: A skill you have read in full, from a source you are willing to run.

  2. 02

    Create the skill directory at the scope you chose

    For a personal skill the documentation creates the folder directly, with mkdir -p ~/.claude/skills/summarize-changes. For a project skill, create .claude/skills/<skill-name>/ inside the repository instead. The directory name becomes the command you type, so that example is invoked as /summarize-changes.

    Output: One folder named after the skill, at one scope.

  3. 03

    Put SKILL.md inside the folder

    SKILL.md is the entry point and the only required file. It opens with YAML frontmatter and continues with the Markdown instructions Claude follows. Claude Code treats every frontmatter field as optional and recommends description, because that is the text it matches a request against. The Agent Skills specification is stricter: name and description are required, and name has to match the parent directory name, stay within 64 characters, and use lowercase letters, numbers, and single hyphens. Optional scripts, references, and assets sit beside SKILL.md and load only when the task reaches them.

    Output: A folder whose SKILL.md says what the skill does and when to use it.

  4. 04

    Commit it when the whole team works in that repository

    Project skills load from .claude/skills/ in the directory where you start Claude Code and in every parent directory up to the repository root, so starting in a subdirectory still picks up skills defined at the root. Skills in nested .claude/skills/ directories below your starting directory are not loaded at startup: they load the first time Claude reads or edits a file inside that subdirectory. To load skills from a directory outside that path at startup, pass it with --add-dir.

    Output: A skill that arrives with a clone instead of a paste.

  5. 05

    Or install a plugin that bundles the skills

    Add a marketplace with /plugin marketplace add owner/repo, then install from it with /plugin install plugin-name@marketplace-name. Anthropic's public skills repository is registered with /plugin marketplace add anthropics/skills. Plugin skills live in the plugin's skills/ directory and are namespaced by the plugin, so a skill named review inside my-plugin is invoked as /my-plugin:review. When the install summary says to run /reload-plugins, run it to activate the plugin in the current session.

    Output: Several skills installed and updated through one source.

  6. 06

    Verify that Claude Code sees the skill

    Run /skills to open the menu of what is loaded, and ask what skills are available as a second check inside the session. The Skills row in /context reports the size of the skill listing the model actually receives, and /doctor estimates its context cost. Claude Code watches skill directories, so adding, editing, or removing a skill under ~/.claude/skills/, the project .claude/skills/, or a .claude/skills/ inside an --add-dir directory is picked up within the session, without a restart. Creating a top-level skills directory that did not exist when the session started does need a restart.

    Output: The skill listed by name, before anyone relies on it.

  7. 07

    Invoke it, and decide who is allowed to

    A skill is available as a slash command named after its directory, and Claude can also load it on its own when a request matches the description. Set disable-model-invocation: true when only you should trigger it, which is the sensible default for anything that deploys, commits, or sends a message. Set user-invocable: false for background knowledge that only Claude should reach for.

    Output: A skill that runs when you expect it and stays quiet when you do not.

Teammates who run a different agent need their own install path for the same folder, which is the subject of manage skills across Claude Code, Codex, and Cursor.

Make the recommendation findable

What a team still has to hand over

None of the locations above records the part teammates keep asking about: which skill to use for this task, and why this one. A personal folder is invisible to everyone else, a repository only reaches the people working in it, and a plugin distributes files rather than a recommendation. Skills Board is a shared library for that layer. It is free and MIT licensed, and it gives a teammate four ways to act on a saved entry.

Open the original source
Every saved skill records the repository and path it came from, so a teammate can read SKILL.md before creating any directory.
Copy an install command
For the teammates whose setup the command fits, without claiming it fits everyone.
Download a ZIP
The latest skill files available from the source at download time, for anyone who would rather place the folder themselves.
Connect an agent over MCP
An authenticated endpoint lets a compatible agent search the same library and retrieve install commands. Sign-in happens in the browser, with no API key to copy.
  • A saved skill is a team recommendation, not a security review, an approval, or a compatibility certification.
  • Skills Board follows the latest version available from the saved source. It does not pin or preserve historical versions.
  • It does not create directories, place files, or run skills inside your agent. The steps above stay yours to run.

03 / Record

The install note worth keeping

Write this once per skill, beside the recommendation. It answers the questions the next person would otherwise ask in chat, and it records when the path was last checked, because product behavior changes.

Skill and source
The skill name plus the repository and path the folder came from.
Scope
Personal, project, plugin, or managed, and the reason that scope was chosen.
Install path
The exact directory the folder goes in, written out rather than described.
Verification
The command that proves it loaded, and the output the reader should see.
Reviewed at
Who checked the path, on what date, against which documentation page.
Re-review trigger
The source changed, the skill failed a run, or the documented locations changed.

Copyable starting point

Skill: <skill-name>
Source: <repository URL and path to the skill folder>
Scope: personal (~/.claude/skills/<skill-name>/) or project (.claude/skills/<skill-name>/)

Install
  1. Read SKILL.md and every bundled script at the source.
  2. mkdir -p ~/.claude/skills/<skill-name>
  3. Copy SKILL.md and any scripts, references, and assets into that folder.

Verify
  1. Run /skills and confirm <skill-name> is listed.
  2. Invoke /<skill-name> and confirm the expected output.

Reviewed by: <name>, <date>
Re-review when: the source changes, a run fails, or the documented skill locations change.

04 / Pitfalls

Where installs go wrong

Waiting for an install command

Anthropic documents no CLI subcommand that installs a bare skill folder. The documented paths are a directory you create, a plugin you install, managed settings, and the claude.ai sync run. A catalog can ship its own installer, and that installer is documented by the catalog rather than by Anthropic.

Installing the same name at two scopes

When a skill name exists at more than one level, enterprise overrides personal and personal overrides project. A forgotten copy in ~/.claude/skills/ quietly wins over the one your team committed to the repository.

Expecting a nested project skill at startup

Skills in .claude/skills/ directories below your starting directory load only after Claude reads or edits a file inside that subdirectory. Until then they do not appear in autocomplete and cannot be invoked by name.

Naming a folder synced

The folder name synced is reserved in the enterprise, personal, and project skill locations, in any capitalization, because Claude Code writes skills downloaded from claude.ai there. A skill you author at that name is skipped.

Leaving malformed frontmatter in place

If the YAML is malformed, Claude Code loads the skill body with empty metadata. The slash command still works, but Claude has no description to match against, so the skill never triggers on its own. Run with --debug to see the parse error.

Assuming a personal skill follows you everywhere

Cowork sessions and cloud sessions do not read ~/.claude/skills/ on your machine. They load the skills enabled for your claude.ai account, and cloud sessions additionally load project skills committed to the cloned repository.

05 / Checklist

Ready to share with the team?

  • The skill came from a source you were willing to read in full.
  • The folder sits at one scope, and you can say why that scope.
  • SKILL.md stays inside the specification fields if the folder also has to load outside Claude Code.
  • Running /skills in a fresh session lists the skill by name.
  • Invoking the skill produced the output you expected, not a near miss.
  • The next teammate can find the source, the scope, and the verification step without asking you.

06 / Questions

Frequently asked questions

Where are Claude skills stored?
Claude Code documents four locations: ~/.claude/skills/<skill-name>/SKILL.md for personal skills, .claude/skills/<skill-name>/SKILL.md for a project, a skills directory inside a plugin, and enterprise managed settings. Skills you enable on claude.ai are downloaded into ~/.claude/skills/synced/ during a run with CLAUDE_CODE_SYNC_SKILLS set. A symlink at any of those paths is followed too.
How do I add a skill to Claude Code without a plugin?
Create the directory, then write the file. The documentation creates a personal skill with mkdir -p ~/.claude/skills/summarize-changes and saves SKILL.md inside that folder. For a project skill, use .claude/skills/<skill-name>/ and commit it with the code. The directory name becomes the slash command you type.
Do I have to restart Claude Code after adding a skill?
Usually not. Claude Code watches skill directories, so a skill added, edited, or removed under ~/.claude/skills/, the project .claude/skills/, or a .claude/skills/ inside an --add-dir directory is picked up within the session. Restart when you create a top-level skills directory that did not exist at startup.
Why does my skill not show up?
Check the scope, then the frontmatter. A skill with the same name at a higher level wins, a nested project skill loads only after Claude touches a file in its directory, and malformed YAML loads the body with empty metadata so nothing matches your request. Run with --debug to see parse errors.
Can I install a skill for a whole team in one step?
Not through the skill format itself. Anthropic documents three distribution scopes: commit the folder to the repository's .claude/skills/, ship a skills directory inside a plugin, or deploy through managed settings. Each one is set up separately, and each teammate still ends up with skill files on disk.
Are Claude Code skills the same as claude.ai skills?
Same file format, separate installs. Anthropic documents that custom skills do not sync across surfaces: a claude.ai upload is not available through the API, an API skill is not on claude.ai, and Claude Code skills are filesystem based. Claude Code can download the ones you enabled on claude.ai into a synced folder.

Primary sources

Editorial method: Skills Board synthesizes the first-party and standards sources cited below into a practical workflow. Product behavior can change, so verify the linked sources before rollout.

  • Claude Code: skills documentation

    The four skill locations and their exact paths, the name conflict precedence, project and nested discovery, --add-dir, the reserved synced folder, live change detection, the /skills, /context, /doctor, and --debug checks, and the invocation control fields. Checked 16 August 2026.

  • Anthropic: Agent Skills overview

    Progressive disclosure and its token costs, the sharing scope of each surface, the statement that custom skills do not sync across surfaces, and the security guidance on installing skills from sources you do not trust. Checked 16 August 2026.

  • Agent Skills specification

    The required name and description fields, the name constraints including the match with the parent directory name, the optional scripts, references, and assets directories, and the length guidance for SKILL.md. Checked 16 August 2026.

  • Claude Code: plugins

    The skills/ directory inside a plugin, the plugin-name:skill-name namespace, and the /reload-plugins step reported by the install summary. Checked 16 August 2026.

  • Claude Code: discover and install plugins

    The /plugin marketplace add command and its accepted sources, and the /plugin install plugin-name@marketplace-name syntax. Checked 16 August 2026.

  • anthropics/skills on GitHub

    Anthropic's public Agent Skills repository, the marketplace command it publishes, and the licensing note separating the Apache 2.0 skills from the source-available document skills. Checked 16 August 2026.

More resources

Keep exploring

View all resources

Give the next teammate one trusted place to start.

Save the reviewed skill, document the path that works, and keep the recommendation visible to the whole team.

Skills Board updates

Follow the build

An occasional email when Skills Board ships a new feature or publishes a new guide.

Only Skills Board updates. Unsubscribe anytime.