Skip to content

[Proposal] Skill Trees (dynamic/hierarchical skill loading) #133

@MaxKless

Description

@MaxKless

Problem

Skills currently load as a flat list. Each skill's name + description is injected into the system prompt, and when the agent invokes one, its full content expands inline.
This works fine for a handful of focused skills, but breaks down when a knowledge domain is large and broad. You're forced into one of two bad options:

Few broad skills — descriptions become so generic that the agent can't meaningfully decide when to load them, and when it does, it gets an overwhelming dump.
Many narrow skills — the sheer number of skill name/description entries eats context budget before any skill content is even loaded, and clutters the agent's decision space.

There's no middle ground today because the skill list is flat — there's no way to progressively narrow down which slice of a large domain is actually needed.

Proposed solution

Allow skills to declare sub-skills (children). The loading would work in stages:

  • Discovery: Only the top-level skill entry (name + description) appears in the agent's context, same as today.
  • First invocation: Instead of expanding full content, the top-level skill expands into its children's name/description entries, replacing itself in the skill list.
  • Second invocation: The agent picks the relevant child skill, which now loads its actual content (or further sub-skills, if deeper nesting is warranted).

This is progressive disclosure applied to skill loading — the agent drills down a tree rather than scanning a flat list, keeping context usage proportional to what's actually relevant.

Inspired by this issue: anthropics/claude-code#13032

Metadata

Metadata

Assignees

No one assigned

    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