Skip to content

CLAUDE.md vs AGENTS.md vs SKILL.md: How to Combine All Three

How CLAUDE.md vs AGENTS.md vs SKILL.md split by loading model — decide where every instruction goes, protect your context budget, and cut agent runtime.

Tuan Tran Van
10 min read
Contents (8 sections)
  1. Three files, three context-loading models
  2. What CLAUDE.md owns (for members)
  3. What AGENTS.md owns (for members)
  4. How SKILL.md's description gate works (for members)
  5. The decision table: where does a new instruction go? (for members)
  6. Why you must protect the always-on context budget (for members)
  7. Which file, when? (for members)
  8. References (for members)

CLAUDE.md vs AGENTS.md vs SKILL.md is not a fight over which standard wins — it is a question of how each file is loaded into the agent's context, and that loading model is what decides where a given instruction belongs.

It is a decision you make once. CLAUDE.md and AGENTS.md provide "always-on" injected context — concatenated into the system prompt at the start of every session — while SKILL.md uses a gated "progressive disclosure" model that only opens when its description matches the task in front of you.

Use AGENTS.md as the universal standard every tool reads, CLAUDE.md as the Claude-Code-specific layer, and SKILL.md as the packaged unit for complex, conditional workflows (procedural memory). Put an instruction in the wrong file and you do not just pay in tokens — you dilute the model's attention and invite reasoning noise between sessions.

Three config files CLAUDE.md, AGENTS.md and SKILL.md with their three context-loading models: always-on injection versus a gated model.

Three files, three context-loading models

The current split was forged during the "context reshuffle" of late 2025. In August 2025, the AGENTS.md specification launched as a tool-agnostic "README for agents" — one place to define build commands, testing rules, and architecture that Cursor, Copilot, and independent agents could all read. Two months later, in October 2025, Anthropic introduced Agent Skills, shifting from a flat instruction file to modular directories with their own metadata, scripts, and reference documents. By December 2025 both formats had become open standards: the skills standard was published at agentskills.io, and AGENTS.md moved under the Linux Foundation to anchor the Agentic AI Foundation.

That history created a technical split: injected context (always-on) versus gated context (just-in-time). Injected files like CLAUDE.md and AGENTS.md are automatically concatenated into the system prompt at the start of every session. They are foundational, but they carry a fixed operational overhead on every turn. Gated context stays dormant until a user's intent matches a skill's metadata, at which point the full instructions are loaded. More than 60,000 repositories now manage tiered standards this way.

Without these files, an agent is a fresh hire every time you press Enter. They provide a machine-readable map that stops the agent from hallucinating library usage or running the wrong test runner. But dumping everything into a single always-on file triggers "context saturation," where the agent spends attention complying with a wall of instructions instead of resolving the actual bug.

One gap still stands: as of today, Claude Code does not read AGENTS.md natively, despite more than 4,300 engineers requesting it. Anthropic's own documentation ships the workaround — a symlink that keeps a single source of truth without duplicating content:

bash
ln -s AGENTS.md CLAUDE.md

Share this article