Skip to content

[FEATURE] Recursive skill discovery - scan subdirectories in ~/.claude/skills/ #18192

Description

@simfor99

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

  1. Better organization - Group related skills (spec-system, gsd-toolkit, etc.)
  2. No manual symlink maintenance - Skills just work when placed in subdirectories
  3. Cleaner top-level - Reduce clutter in ~/.claude/skills/
  4. Suite versioning - Version control entire skill suites as units

Current Workaround

Users must:

  1. Create symlinks manually: ln -s spec-system/spec-creator spec-creator
  2. Maintain a validation script to check for missing symlinks
  3. 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions