Summary
Currently, Claude Code only scans the top-level of ~/.claude/skills/ for skill directories containing SKILL.md files. Skills organized in subdirectories (e.g., ~/.claude/skills/spec-system/spec-creator/) are not discovered automatically.
Problem
When organizing related skills into logical groupings (suites), users must manually create symlinks at the top level for each nested skill:
~/.claude/skills/
├── spec-system/ ← Container directory
│ ├── spec-creator/SKILL.md ← Not discovered!
│ ├── spec-executor/SKILL.md ← Not discovered!
│ └── spec-archiver/SKILL.md ← Not discovered!
├── spec-creator → spec-system/spec-creator ← Manual symlink required
├── spec-executor → spec-system/spec-executor ← Manual symlink required
└── spec-archiver → spec-system/spec-archiver ← Manual symlink required
Without symlinks, calling Skill("spec-creator") fails with "Unknown skill".
Proposed Solution
Recursively scan ~/.claude/skills/ (and .claude/skills/) for directories containing SKILL.md files, regardless of nesting depth.
Option A: Full Recursive Scan
Scan all subdirectories up to a reasonable depth (e.g., 3 levels).
Option B: Configurable Depth
Add a setting like skills.scanDepth: 2 to control how deep to scan.
Option C: Explicit Suite Marker
Only recurse into directories containing a marker file (e.g., SKILL_SUITE.md or .skill-suite).
Benefits
- Better organization - Group related skills (spec-system, gsd-toolkit, etc.)
- No manual symlink maintenance - Skills just work when placed in subdirectories
- Cleaner top-level - Reduce clutter in
~/.claude/skills/
- Suite versioning - Version control entire skill suites as units
Current Workaround
Users must:
- Create symlinks manually:
ln -s spec-system/spec-creator spec-creator
- Maintain a validation script to check for missing symlinks
- Remember to create symlinks when adding new nested skills
Environment
- Claude Code version: Latest (Jan 2026)
- Platform: All (Linux, macOS, Windows)
- Skills location:
~/.claude/skills/
Related
This is separate from the "nested skills" issues about skills calling other skills (#17351, #17339) - this is purely about directory structure and discovery.
Summary
Currently, Claude Code only scans the top-level of
~/.claude/skills/for skill directories containingSKILL.mdfiles. Skills organized in subdirectories (e.g.,~/.claude/skills/spec-system/spec-creator/) are not discovered automatically.Problem
When organizing related skills into logical groupings (suites), users must manually create symlinks at the top level for each nested skill:
Without symlinks, calling
Skill("spec-creator")fails with "Unknown skill".Proposed Solution
Recursively scan
~/.claude/skills/(and.claude/skills/) for directories containingSKILL.mdfiles, regardless of nesting depth.Option A: Full Recursive Scan
Scan all subdirectories up to a reasonable depth (e.g., 3 levels).
Option B: Configurable Depth
Add a setting like
skills.scanDepth: 2to control how deep to scan.Option C: Explicit Suite Marker
Only recurse into directories containing a marker file (e.g.,
SKILL_SUITE.mdor.skill-suite).Benefits
~/.claude/skills/Current Workaround
Users must:
ln -s spec-system/spec-creator spec-creatorEnvironment
~/.claude/skills/Related
This is separate from the "nested skills" issues about skills calling other skills (#17351, #17339) - this is purely about directory structure and discovery.