Skills: nested skills in skills/*/SKILL.md not discovered

Resolved 💬 2 comments Opened Feb 24, 2026 by goffity Closed Feb 26, 2026

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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗