Skip to content

3. The runtime model

agent entry file AGENTS.md / CLAUDE.md / GEMINI.md
→ bootstrap the only protocol file that is always loaded
→ startup reads project preferences and title; optional global preferences, always
→ route registry .familiar/routes.md, one route selected
→ one skill body .claude/skills/<name>/SKILL.md (or .agents/skills/…)
→ required context declared by that skill, nothing else
→ conditional loaded only when its named condition is present

Each arrow limits what context loads. It is a rule, not a suggestion. This chain is what makes the agent load context step by step instead of all at once. The bootstrap has a fixed size. The registry is a table, not a body of instructions. Each skill declares its context in a contract that the release checks test.

Cost. The protocol that is always loaded is bootstrap.md at 500 words / 3,529 characters. That is its ceiling. Startup also reads the bounded preference and title context (§4.1). The route registry adds 967 words when the agent reads it, and its ceiling is 1,000 words. Everything else loads on demand. The entry files, the registry and one skill come to a few thousand tokens. The agent’s own instructions and tools are usually several times that. Some agents show every skill description to the model at the start. On those agents, add the description lines of the skills that the agent shows (§10.3).