Skip to content

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

@simfor99

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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions