claude-code - 💡(How to fix) Fix Skills in subdirectory .claude/skills/ not discovered in monorepo

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

In a monorepo with multiple independent projects, each project has its own .claude/skills/. The alternatives all have significant downsides:

  • Symlinks at git root: every project sees every other project's skills
  • Submodules: adds daily workflow friction (recursive clones, pointer bumps)
  • Separate git repos: loses unified history across projects
  • Editing a file first: not a viable UX for skill discovery on session start

The documented nested discovery would solve this cleanly, but it doesn't seem to work when launching from a subdirectory.

Code Example

tribe-docs/                  # <-- git root
  .claude/
    launch.json
  tribe-designer/
    .claude/
      skills/
        impeccable/SKILL.md  # user-invocable: true
        ux-designer/SKILL.md
        ux-ds-translator/SKILL.md
      settings.local.json
      launch.json
  tribe-be/
    .claude/
      ...
  tribe-exec/
  tribe-pm/
RAW_BUFFERClick to expand / collapse

Bug: Skills in subdirectory .claude/skills/ not discovered in monorepo

Environment

  • Claude Code: 2.1.39 (desktop app)
  • macOS (Darwin 25.4.0)

Monorepo layout

tribe-docs/                  # <-- git root
  .claude/
    launch.json
  tribe-designer/
    .claude/
      skills/
        impeccable/SKILL.md  # user-invocable: true
        ux-designer/SKILL.md
        ux-ds-translator/SKILL.md
      settings.local.json
      launch.json
  tribe-be/
    .claude/
      ...
  tribe-exec/
  tribe-pm/

Steps to reproduce

  1. cd tribe-docs/tribe-designer
  2. claude (starts a new session)
  3. Type / to see available skills

Expected

Skills from tribe-designer/.claude/skills/ appear in the / menu, per the docs:

When you work with files in subdirectories, Claude Code automatically discovers skills from nested .claude/skills/ directories. This supports monorepo setups where packages have their own skills.

Actual

No project skills appear. Only global/personal and Anthropic-provided skills are listed.

Why this matters

In a monorepo with multiple independent projects, each project has its own .claude/skills/. The alternatives all have significant downsides:

  • Symlinks at git root: every project sees every other project's skills
  • Submodules: adds daily workflow friction (recursive clones, pointer bumps)
  • Separate git repos: loses unified history across projects
  • Editing a file first: not a viable UX for skill discovery on session start

The documented nested discovery would solve this cleanly, but it doesn't seem to work when launching from a subdirectory.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Skills in subdirectory .claude/skills/ not discovered in monorepo