Skip to content

Keep the top-level file lean and push branch-specific detail into references/ — the agent loads only the reference for the branch it actually takes.

Pattern

Progressive Disclosure

The shape

One lean orchestrator. A folder of details loaded on demand.

skills/planning-products/

Progressive

├──SKILL.md

~1,200 words · always loaded

│ what, why, critical rules, branch decisions

└── references/

loaded only when hit

├──agent-system-template.md

Step 2 only

├──task-templates.md

Step 4 — every task

├──orchestration-rules.md

Step 5 only

└──spawn-template.md

Step 6 only

ReferenceFull templates and edge cases for one branch. Invisible until that branch fires.

If you inline everything into SKILL.md, every agent pays the cost of every branch — including the branches it never takes.

The context budget

Orientation is a tax. Progressive Disclosure minimizes it.

Monolithic SKILL.md~35% orientation

35% orient

65% execute

single fat file~35%

work left~65%

Every branch pays for every branch. The schema task carries 5,500 words of service-task detail it never reads.

Progressive Disclosure~17% orientation

top

ref

83% execute

one reference~9%

work left~83%

Cost is proportional to the branch taken. Top-level + one reference — the siblings stay on disk, invisible.

Across thousands of invocations the 18-point delta compounds — into usable execution headroom, or into polluted context and truncated work.

When to split a reference

Not every detail earns its own file.

✓ Split it out

  • Only one workflow branch needs the detail
  • Reading it when irrelevant would waste the budget
  • The section could be improved independently of the rest
  • Content is detailed — templates, edge cases, long examples

✗ Keep it inline

  • The detail is needed on every execution
  • It's short enough that navigation overhead beats the saving
  • It belongs to the critical rules every agent must see
  • Splitting would force a round-trip for three lines of content

The test: would an agent that doesn't take this branch be worse off for reading it? If yes, it's a reference.

Applied to CLAUDE.md

Project root points out to where the rest lives.

CLAUDE.md is loaded by every agent. It stays lean — and points to what's loaded on demand.

Always loaded

CLAUDE.md

▸project overview

▸critical rules

▸slash command index

▸quick-start

agent works

in ADW layer→

agent needs

tool docs→

agent runs

a command→

adws/README.md

ADW architecture · hooks

ai_docs/…

domain tool reference

.claude/commands/…

the specific command body

CLAUDE.md is an index, not a manual. The agent reads it, learns where to find more, and loads only what its branch demands.

The discipline

Context usage stays proportional to the work — not to the file that describes it.

A monolithic SKILL.md makes every agent pay for every branch. Progressive Disclosure pushes detail behind a branch decision — agents load what they need, not what someone else might need. Top-level is the map; references are the terrain.