Courses/Introduction to Agent Skills/Scope and Precedence: Where Skills Live
Scope, Sharing and DistributionLesson 11 of 16

Scope and Precedence: Where Skills Live

Four Places a Skill Can Live

Where you store a skill determines who can use it. There are four scopes, and when skills share the same name across levels, a clear precedence order decides which one wins. Getting this right is what lets organizations enforce standards while individuals still customize.

ScopePathApplies to
Enterprise (managed)managed settings directoryAll users in your organization
Personal~/.claude/skills/<name>/SKILL.mdAll your projects
Project.claude/skills/<name>/SKILL.mdThis project only (commit to git)
Plugin<plugin>/skills/<name>/SKILL.mdWhere the plugin is enabled

Four scopes from broadest (enterprise) to most contained (plugin). Personal follows you; project travels with the repo.

The Precedence Ladder

When two skills share a name, the higher-priority scope wins: Enterprise overrides Personal, and Personal overrides Project. Plugin skills use a plugin-name:skill-name namespace, so they can't conflict with the other levels at all.

highest priority (wins on name conflict)1. Enterprise (managed settings)2. Personal (~/.claude/skills)3. Project (.claude/skills)Plugin (namespaced — no conflicts)

Precedence: Enterprise > Personal > Project. Plugin skills are namespaced (plugin:skill), so they never collide.

ℹ️

Skill beats command on a name clash

Custom commands are now skills, so if you still have a .claude/commands/ file and a skill share the same name, the SKILL takes precedence. To avoid confusion altogether, give skills distinct, descriptive names like frontend-review rather than just review.

Personal vs Project: The Everyday Choice

Most of the time you're choosing between personal and project scope. Personal skills (~/.claude/skills) follow YOU across every project — your commit style, your documentation format. Project skills (.claude/skills, committed to git) travel with the REPO, so anyone who clones it gets them automatically — ideal for team standards and codebase-specific workflows.

PersonalProject
Path~/.claude/skills/​.claude/skills/ (in the repo)
Available inAll your projectsThis project only
Shared with teamNoYes — via git
Best forYour personal workflowTeam standards, codebase-specific skills

Personal = yours everywhere; Project = the team's, shipped with the repo.

Discovery Niceties

Claude Code is generous about finding project skills. It loads .claude/skills/ from your starting directory and every parent up to the repo root — so launching Claude in a subdirectory still picks up root-level skills. In monorepos, it also discovers skills from nested .claude/skills/ directories on demand when you work with files in those packages.

  • Project skills load from .claude/skills/ in the current dir and all parents up to the repo root.
  • Monorepos: nested package-level .claude/skills/ are discovered on demand when you touch those files.
  • --add-dir is an exception: its .claude/skills/ IS loaded (unlike most config, which add-dir doesn't load).
  • Enterprise scope is the lever for mandatory, org-wide standards — it can't be overridden by personal or project skills.

Next

You know where skills live and which one wins. Next: how to actively SHARE skills — via git for your team, plugins for the community, and managed settings for the whole org.

Key Takeaways

  • Skills live in four scopes: Enterprise (managed), Personal (~/.claude/skills), Project (.claude/skills), and Plugin.
  • Precedence on a name conflict: Enterprise > Personal > Project; plugin skills are namespaced (plugin:skill) so they never collide.
  • A skill takes precedence over a same-named .claude/commands/ file; use distinct names (frontend-review, not review) to avoid clashes.
  • Personal skills follow you across all projects; project skills are committed to git and shared with anyone who clones the repo.
  • Choose project scope for team standards and codebase-specific skills; personal for your own cross-project workflow.
  • Discovery: project skills load from the current dir up to the repo root (and nested package dirs on demand); --add-dir's .claude/skills/ is loaded as an exception; enterprise enforces mandatory org-wide standards.

Check Your Understanding

Test what you learned in this lesson.

Q1.When two skills share the same name, which scope wins?

Q2.What's the difference between a personal and a project skill?

Q3.If a .claude/commands/ file and a skill share the same name, which is used?

Q4.How does Claude Code discover project skills relative to your working directory?

Practice This Lesson