PiSkill Learn

Where Are Claude Code Skills Stored?

Reviewed Aug 30, 2026 · 6 min read · 775 words

Direct answer

Personal Claude Code Skills are stored in ~/.claude/skills/<skill-name>/SKILL.md. Project Skills live in .claude/skills/<skill-name>/SKILL.md inside the repository. Plugins store them under the plugin's skills directory, while managed, nested-project, and synced skills have separate documented locations and discovery rules.

Claude Code Skill locations at a glance

ScopeSkill pathAvailability
Personal~/.claude/skills/<name>/SKILL.mdYour local Claude Code projects
Project<repo>/.claude/skills/<name>/SKILL.mdThat repository
Nested project<repo>/<package>/.claude/skills/<name>/SKILL.mdWork associated with that nested directory
Plugin<plugin>/skills/<name>/SKILL.mdSessions where the plugin is enabled
EnterpriseManaged settings locationUsers covered by organization policy

The tilde in the personal path means the current user's home directory. On Windows PowerShell, that begins at $HOME\.claude\skills; on macOS and Linux it is normally $HOME/.claude/skills.

Personal scope

Store a skill under personal scope when it represents your own reusable workflow and is safe to apply across projects. Each skill needs its own directory. For example:

~/.claude/skills/
└── explain-migration/
    ├── SKILL.md
    └── references/
        └── checklist.md

Personal scope is convenient, but it should not hold commands that silently assume a particular repository, cloud account, test runner, or deployment target. Put those instructions in the relevant project instead.

Project scope

Project skills live below .claude/skills/ in the repository. They can be committed so teammates receive the same workflow and changes can be reviewed like code. This scope fits a repository's release process, coding conventions, architecture checks, or service-specific incident procedure.

Claude Code discovers project skills from the directory where it starts and from parent directories up to the repository root. Current documentation also describes nested skill directories: when Claude begins working with files in a nested package, skills from that package can become available with a directory-qualified identity. This is useful in monorepos where the frontend and infrastructure packages need different procedures.

Plugin, enterprise, and synced scopes

A plugin can ship skills under its own skills/ directory. Plugin-provided skills use a plugin namespace, so they can coexist with a personal or project skill sharing the final name. Disable or remove the plugin through its manager instead of manually editing an installed cache.

Enterprise administrators can distribute managed skills from the platform's managed-settings location. The exact filesystem path depends on the operating system and management configuration, so use Anthropic's managed settings documentation rather than assuming one universal path.

Skills enabled through a Claude account can also be synced for supported sessions and workflows. Current Claude Code documentation reserves the synced directory name and describes local synced storage under ~/.claude/skills/synced/. Do not create a personal skill with that reserved name.

Which Skill wins when names collide?

According to current Anthropic documentation, enterprise skills override personal skills, and personal skills override project skills when the same unqualified name exists at multiple levels. A local skill can also override a bundled skill with the same name. Plugin skills remain namespaced, while nested skills can receive directory-qualified names.

Treat precedence as a conflict-resolution rule, not a design strategy. Unique, descriptive names make it clearer which procedure is running. If behavior seems surprising, inspect every scope for another folder with the same name and check the command shown in Claude Code's skill listing.

Why is my Skill not detected?

Work through the path before rewriting the content:

  1. Confirm the file is named exactly SKILL.md and sits inside a named skill directory.
  2. Confirm you installed it at the intended personal or project path.
  3. Validate the YAML frontmatter and make sure the opening --- is the first line.
  4. For a portable Agent Skill, ensure the name matches its directory and follows the naming rules.
  5. Start Claude Code inside the intended repository and inspect the skills menu.
  6. Check for a same-name skill at another scope.
  7. If the top-level skills directory was created after the session began, restart Claude Code so it can establish file watching.
  8. Verify that policy, safe-mode, or settings restrictions are not disabling project customization.

For folders loaded through an additional directory, note that file access settings and configuration discovery are not always equivalent. Anthropic documents specific behavior for --add-dir, setting sources, and safe mode; consult the current source before relying on those options in automation.

Scope is separate from portability

The Agent Skills specification defines a portable package format, but each host decides where it discovers packages and which extensions it supports. A valid Agent Skill can therefore be structurally portable while installation paths and invocation behavior differ between Claude Code and another agent.

If you are choosing a location now, continue with the installation guide. If you need the underlying concept, read what Claude Code Skills are or browse source-linked examples in PiSkill's Skills Directory.