Documentation Index
Fetch the complete documentation index at: https://agentic.proxify.io/llms.txt
Use this file to discover all available pages before exploring further.
You’ll learn: how Claude processes instructions from multiple layers, why each layer exists, and how to route knowledge to the right one.
The Core Problem
When you tell Claude something in conversation, it works — for that session. But knowledge that lives only in conversation dies when the session ends. The question isn’t how to persist knowledge. CLAUDE.md handles that. The real question is: where should each piece of knowledge live so it reaches the agent at the right moment, without wasting context on things that aren’t relevant? This is the distribution problem. Every tool in the agentic engineering stack — CLAUDE.md, skills, agents, hooks — exists to solve a specific piece of it.The Instruction Hierarchy
When Claude processes a request, it sees instructions from multiple sources. Each source has different priority, reach, and cost.| Priority | Layer | Reach | Cost |
|---|---|---|---|
| 1 (highest) | System prompt | Every turn, cannot be overridden | Fixed, always loaded |
| 2 | Tool descriptions | Every turn tools are available | Fixed per tool |
| 3 | CLAUDE.md | Every conversation in the project | Fixed, loaded at launch |
| 3 | Skills | On trigger (when task matches description) | Pay-per-use |
| 4 (lowest) | User messages | Single turn | Ephemeral |
What Belongs Where
Each layer has a job. Putting knowledge in the wrong layer either wastes context budget or fails to reach the agent when needed.- CLAUDE.md
- Skills
- Agents
- Hooks
Project-specific context that every session needs.
- Tech stack, build commands, architecture
- Conventions Claude can’t infer from existing code
- Critical warnings and gotchas
- Pointers to deeper knowledge (skills, reference docs)
The Routing Decision
When you learn something that should persist, pick the right vehicle:| Signal | Route to | Why |
|---|---|---|
| Every session needs to know | CLAUDE.md (one line + pointer) | Always in context |
| Only relevant to one domain | Skill or agent definition | Loaded only when relevant |
| Deep framework with examples | Skill with references/ subdirectory | Body loads on trigger, references load on demand |
| Deterministic enforcement | Hook | Code execution, not LLM compliance |
The Duplication Trap
If a principle lives in a skill, CLAUDE.md should point to it — not restate it. The failure mode: you write the same rule in CLAUDE.md and in a skill. Six months later, you update the skill but forget CLAUDE.md. Now the agent sees two conflicting instructions and has to guess which one is current. Each instruction lives in exactly one layer. Pointers connect the layers; copies break them. And each layer has a different trust profile — see The Supply Chain for who controls what.Why Skills Exist
Engineers were stuffing deep domain knowledge into CLAUDE.md. Their CLAUDE.md files grew to 400+ lines. Claude’s instruction-following degraded. They’d add more emphasis (“ALWAYS do X”, “NEVER do Y”) but the problem wasn’t emphasis — it was attention budget. Skills solve this by loading knowledge only when the task triggers it. A 200-line testing framework loads when you’re writing tests. It doesn’t exist when you’re refactoring CSS.Why Skill Design Matters
Engineers started writing skills — but agents never triggered them. The skill existed, the knowledge was good, but:- The description didn’t match how people ask for help
- The knowledge was in the wrong layer
- Instructions were rigid rules instead of thinking prompts the agent could adapt