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.
Problem
When a skill uses a
skills/subdirectory to organize sub-skills (each with its ownSKILL.md), Claude Code does not recursively discover these nested skills. Only the parentSKILL.mdis detected.Structure
Expected Behavior
Claude Code should recursively discover sub-skills inside
skills/*/SKILL.mdand register them as invocable commands (e.g.,/dev-km:mem,/dev-km:td, or just/mem,/td).Actual Behavior
Only the parent
dev-kmskill is listed. The 27 sub-skills withuser-invocable: trueare not discovered or available as commands.Current Workaround
A manual
install-symlinks.shscript creates individual symlinks for each sub-skill: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.