Why Progressive Disclosure?
AI agents have limited context windows. Loading all skill documentation at once would:- Consume valuable context space
- Overwhelm the agent with irrelevant information
- Reduce the number of skills that can be available simultaneously
- Slow down processing and increase costs
The Three Levels
Level 1: Metadata (Always Loaded)
What’s included:- Skill
name - Skill
description - Optional
compatibilityrequirements
available_skills list. The agent uses it to decide when to load the full skill.
Level 2: SKILL.md Body (Loaded on Trigger)
What’s included:- Instructions and workflows
- Examples and patterns
- Guidelines and best practices
- References to bundled resources
Level 3: Bundled Resources (Loaded on Demand)
What’s included:- scripts/ - Executable code
- references/ - Detailed documentation
- assets/ - Templates, fonts, images
Loading Flow Example
Let’s walk through how the system works for a user request:Step 1: Skill Discovery
User request: “Help me build an MCP server for the GitHub API” Agent’s context includes:Step 2: Load SKILL.md Body
The agent loads the full SKILL.md file into context:Step 3: Load Bundled Resources as Needed
Agent follows Phase 1.3: “I need to study the framework documentation. The user wants to use TypeScript, so I’ll read the TypeScript guide.” Agent reads:reference/node_mcp_server.md
Only this one reference file is loaded - the Python guide, best practices, and scripts remain unloaded.
Later, during implementation:
“The skill mentions a validation script. I’ll execute it to check the server.”
Agent runs: python scripts/validate_server.py
The script executes without loading into context.
Best Practices for Each Level
Level 1: Metadata Design
Make Descriptions Discoverable
Make Descriptions Discoverable
Include specific keywords and contexts that users might mention:Keywords: git, commit, messages, conventional commits, commit history
Be Pushy About When to Use
Be Pushy About When to Use
Combat under-triggering by explicitly listing use cases:
Keep It Concise But Complete
Keep It Concise But Complete
Target ~50-200 words. Include:
- What the skill does (capabilities)
- When to use it (contexts, triggers)
- What it enables (outcomes)
- Implementation details (save for SKILL.md body)
- Examples (save for SKILL.md body)
- Lengthy explanations
Level 2: SKILL.md Body Design
Target <500 Lines
Target <500 Lines
If approaching 500 lines, consider:
- Moving detailed documentation to reference files
- Consolidating similar instructions
- Using references for framework-specific details
Reference Resources Clearly
Reference Resources Clearly
Be explicit about when to read each resource:
API Reference
For detailed endpoint documentation, see:Level 3: Bundled Resources Design
Organize by Purpose
Organize by Purpose
Use consistent directory structure:
Prefer Scripts Over Instructions
Prefer Scripts Over Instructions
If agents repeatedly write similar code across test cases, bundle it as a script:Instead of instructing:Provide the script:cloud-deploy/
├── SKILL.md # Selection logic
└── references/
├── aws.md # AWS-specific
├── gcp.md # GCP-specific
└── azure.md # Azure-specific
└── azure.md # Azure-specific
Real-World Example
Theskill-creator skill demonstrates effective progressive disclosure:
Level 1: Metadata
Level 2: SKILL.md Body
Level 3: Bundled Resources
Context Efficiency Metrics
Progressive disclosure dramatically reduces context usage:With progressive disclosure, agents can have awareness of dozens of skills while using minimal context. Only when a skill is triggered does it consume significant context.
Implementation Notes
The specification is implementation-agnostic, but here are common patterns:Metadata Storage
- Some implementations parse YAML frontmatter from SKILL.md files
- Others maintain separate metadata indexes
- Both approaches work with the same SKILL.md format
Resource Loading
- References loaded via file read operations
- Scripts executed via subprocess/shell commands
- Assets copied or loaded as needed
Caching
- Metadata typically cached for fast skill discovery
- SKILL.md bodies may be cached after first load
- Bundled resources loaded fresh each time or cached by implementation
Next Steps
SKILL.md Format
Learn how to structure SKILL.md files
Creating Skills
Build skills with effective progressive disclosure
Bundled Resources
Organize scripts, references, and assets