IssueRaiser

Skills consume full token count at startup instead of progressive disclosure (frontmatter only)

## Problem According to the [skills documentation](https://code.claude.com/docs/en/skills), skills should use **progressive disclosure**: > "Claude reads these files only when needed, using progressive disclosure to manage context efficiently." The expected behavior: 1. **Metadata (name + description)** - Always in context (~100 words) 2. **SKILL.md body** - When skill triggers (<5k words) 3. **Bundled resources** - As needed by Claude ## Observed behavior Running `/context` shows skills consuming their **full token count** at startup, not just the frontmatter: ``` Skills and slash commands · /skills Plugin └ Skill Development: 5.5k tokens └ Command Development: 4.6k tokens └ Hook Development: 3.9k tokens └ plugin-dev:create-plugin: 3.7k tokens └ Plugin Structure: 3.2k tokens └ MCP Integration: 3.0k tokens ... ``` These are from the **official `claude-plugins-official/plugin-dev`** plugin. ## The irony The "Skill Development" skill (5.5k tokens) explicitly states: > "Keep SKILL.md lean: Target 1,500-2,000 words" Yet it contains ~5000+ words in its body, and appears to be fully loaded at startup. ## Questions 1. Is `/context` showing the **total potential size** or what's **actually loaded**? 2. If progressive disclosure works correctly, why do skills show full token counts? 3. If the full body IS loaded at startup, is this intended behavior or a bug? ## Impact With multiple plugins installed, skills alone consume 50k+ tokens before any conversation starts, seve

Posted by atournayre on Dec 20, 2025, 3:13 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments

github (Other)

Skills consume full token count at startup instead of progressive disclosure (frontmatter only)

atournayreDec 20, 2025, 3:13 PM

## Problem According to the [skills documentation](https://code.claude.com/docs/en/skills), skills should use **progressive disclosure**: > "Claude reads these files only when needed, using progressive disclosure to manage context efficiently." The expected behavior: 1. **Metadata (name + description)** - Always in context (~100 words) 2. **SKILL.md body** - When skill triggers (<5k words) 3. **Bundled resources** - As needed by Claude ## Observed behavior Running `/context` shows skills consuming their **full token count** at startup, not just the frontmatter: ``` Skills and slash commands · /skills Plugin └ Skill Development: 5.5k tokens └ Command Development: 4.6k tokens └ Hook Development: 3.9k tokens └ plugin-dev:create-plugin: 3.7k tokens └ Plugin Structure: 3.2k tokens └ MCP Integration: 3.0k tokens ... ``` These are from the **official `claude-plugins-official/plugin-dev`** plugin. ## The irony The "Skill Development" skill (5.5k tokens) explicitly states: > "Keep SKILL.md lean: Target 1,500-2,000 words" Yet it contains ~5000+ words in its body, and appears to be fully loaded at startup. ## Questions 1. Is `/context` showing the **total potential size** or what's **actually loaded**? 2. If progressive disclosure works correctly, why do skills show full token counts? 3. If the full body IS loaded at startup, is this intended behavior or a bug? ## Impact With multiple plugins installed, skills alone consume 50k+ tokens before any conversation starts, seve

Comments (0)

No comments yet. Start the discussion.

Comment on this issue