Progressive disclosure is an information architecture principle applied to AI agent instruction files. The root instruction file (CLAUDE.md or AGENTS.md) contains only universally applicable rules. Task-specific, domain-specific, or tool-specific instructions live in subdirectory files, skill documents, or referenced specifications.

Why it matters

Every token in a root instruction file loads on every request. Long root files create three problems:

  1. Budget pressure — instruction-following quality degrades as instruction count rises.
  2. Relevance dilution — instructions irrelevant to the current task compete for attention with relevant ones.
  3. Staleness risk — more content means more surface area for drift between instructions and actual project state.

The layering pattern

LayerFileLoaded whenContains
RootCLAUDE.md (repo root)Every sessionBuild commands, architectural constraints, what not to touch, pointers to key files
Subdirectorysubdir/CLAUDE.mdWhen working in that directoryLocal conventions, tool-specific setup, domain rules
Skillskills/*/SKILL.mdWhen skill is invokedDetailed operational instructions for one task
ReferenceSpecification or guide filesWhen agent reads them on demandFull style guides, formalization protocols, domain specs

In this repository

The emsenn.net repository applies progressive disclosure across two layers:

  • Root CLAUDE.md (emsenn-net) — session startup, project overview, directory structure, linking and style rules, git conventions
  • Submodule CLAUDE.md (content) — proof assistant setup, formalization conventions, philosophical commitments for formal work
  • SKILL.md files — individual operational instructions for proof writing, content validation, academic search, etc.
  • ASR specifications — full formal specifications read on demand