[Feature Request] Lazy-load command descriptions — only pre-load auto-trigger skill descriptions at session start

Resolved 💬 3 comments Opened Mar 13, 2026 by erlebach Closed Mar 16, 2026

Currently, all installed skill and command descriptions are injected into the system prompt at session start, regardless of type. This is wasteful for explicitly-invoked commands (e.g. gsd:*, paul:*) which are never auto-triggered — their descriptions serve no purpose in the pre-loaded index.

Proposed change

Distinguish between:

  • Auto-trigger skills (~/.claude/skills/) — descriptions pre-loaded at session start (current behavior, justified)
  • Explicit commands (~/.claude/commands/) — only a name registry loaded at session start; full description/content loaded on invocation

Impact

Users with large framework installs (e.g. GSD + PAUL = ~60 commands) are paying unnecessary context cost every session. At scale this is a meaningful reduction in available context window.

Current behavior

All ~80+ skill and command descriptions are loaded unconditionally at session start, consuming context tokens even for commands that will never be auto-triggered and are only ever invoked explicitly via /command-name.

View original on GitHub ↗

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