Skills: nested skills in skills/*/SKILL.md not discovered
Problem
When a skill uses a skills/ subdirectory to organize sub-skills (each with its own SKILL.md), Claude Code does not recursively discover these nested skills. Only the parent SKILL.md is detected.
Structure
~/.claude/skills/dev-km/
├── SKILL.md # user-invocable: false (parent)
└── skills/
├── mem/SKILL.md # user-invocable: true
├── td/SKILL.md # user-invocable: true
├── distill/SKILL.md # user-invocable: true
├── commit/SKILL.md # user-invocable: true
└── ... (27 sub-skills)
Expected Behavior
Claude Code should recursively discover sub-skills inside skills/*/SKILL.md and register them as invocable commands (e.g., /dev-km:mem, /dev-km:td, or just /mem, /td).
Actual Behavior
Only the parent dev-km skill is listed. The 27 sub-skills with user-invocable: true are not discovered or available as commands.
Current Workaround
A manual install-symlinks.sh script creates individual symlinks for each sub-skill:
ln -s ~/.agents/skills/dev-km/skills/mem ~/.claude/skills/mem
ln -s ~/.agents/skills/dev-km/skills/td ~/.claude/skills/td
# ... for all 27 skills
This is fragile and requires re-running after every skill update.
Suggestion
Support recursive skill discovery, or provide a way for a parent skill to declare its sub-skills directory so Claude Code can automatically register them.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗