Multi-root skill discovery and duplicated skill directories
Parent: Mac local LLMs: Agent clients, context and compaction · Published reference · snapshot 2026-10-05
↓ Facts as markdownall context files
Claude Code same-name precedence: enterprise over personal over project; any of these replaces a bundled command (not its aliases); a skill beats a .claude/commands file; a project-root skill and a nested skill both load; a plugin skill and any other both load because plugins are namespaced plugi...
These notes link each claim to its source. A source may be a research report hosted on this site rather than the primary document. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Facts
- Claude Code same-name precedence: enterprise over personal over project; any of these replaces a bundled command (not its aliases); a skill beats a .claude/commands file; a project-root skill and a nested skill both load; a plugin skill and any other both load because plugins are namespaced plugin-name:skill-name. [source]
- Nested skills with a clashing name appear as a directory-qualified entry such as /apps/web:deploy, and the listing tells Claude to invoke the one whose directory holds the files in use. [source]
- Claude Code loads .claude/skills from the start directory and every parent up to the repository root; --add-dir or /add-dir loads that directory's .claude/skills, commands and agents. [source]
- Claude Code watches skill directories and picks up changes in the session, except in bare mode. [source]
- Before v2.1.246, /cd did not add the new directory's project skills; from v2.1.246 it does. [source]
- Issue 43003 (2026-04-03, closed not planned): personal skills copied to ~/.claude/skills did not suppress the anthropic-skills: copies, so both appeared in the list. This matches the plugin-namespaced both-load rule, so duplicate listing cost across a plugin copy and a local copy is by design. [source]
- Because plugin skills and qualified nested skills never dedupe, a sync tool that copies a library into a plugin and a personal root pays the listing twice in Claude Code, unlike OpenCode where unique names are required. [inferred] [source]
- Whether OpenCode drops or errors on a duplicate name across roots; the measured 441 distinct names suggests it dedupes but the rule is undocumented. [source]
- Claude Code resolves same-name skills as enterprise over personal over project, and a plugin skill and a non-plugin skill both load [source]
- A project-root skill and a nested skill of the same name both load, and the nested one is listed as a directory-qualified name [source]
- Claude Code loads .claude/skills from the start directory up to the repository root and from --add-dir directories [source]
- Issue 43003 reported local personal skills not suppressing anthropic-skills: duplicates in the list; closed as not planned [source]
- A skill name or directory clash across roots is the cause of duplicate listing cost in Claude Code; keeping one small root for local sessions avoids it [source]
Children
- No children recorded.