TL;DR: A repo is agent-ready when an AI coding agent can build, test, and ship work in it without you copy-pasting context between chats. The 8 checks below cover the AGENTS.md file, executable commands, boundary rules, MCP tool clarity, and the safe-action gates that keep an agent from breaking things it should not touch. Human-written context files lift agent task success by about 4 percentage points on AGENTbench; LLM-generated files reduce that lift instead of adding to it.
The agents are now reading your repo. Claude Code, Codex, Cursor, GitHub Copilot, and a growing list of MCP-aware tools all open a codebase and try to figure out what to do.
Most of them fail the same way: stale docs, ambiguous setup commands, undefined boundaries, missing test runners, and no signal at all about what they should never touch.
If you have spent a weekend rage-debugging an agent that hallucinated a dependency or rewrote a config file you wanted left alone, the repo is the bug. Not the model.
The AGENTS.md format was donated to the Agentic AI Foundation in December 2025 and the major coding agents now read it on first open. The way I see it, this is the single highest-leverage change a maintainer can make in 2026 to get usable work out of an agent on day one.
The checks below are what separate a repo that compounds with agent help from one that produces a stream of confident-sounding PRs you have to babysit.

What Makes a Repo Agent-Ready in 2026
A repo is agent-ready when an AI coding agent can complete a non-trivial task end-to-end with no human prompt engineering between steps.
That means the agent finds the build commands, runs them, edits inside its allowed scope, runs the tests, and surfaces evidence for what it did, all from instruction files committed to the repo.
The shift from “developer experience” to “agent experience” is happening in plain sight. The README is for humans skimming for a quickstart. AGENTS.md is for an agent that needs deterministic commands, exact test execution, linter requirements, directory boundaries, prohibited patterns, and explicit assumptions before it touches a single file.
A 2025 study on AGENTbench tasks found that human-curated AGENTS.md files lift agent task success by about 4 percentage points over no context file.
The same study found that LLM-generated AGENTS.md files reduce task success by 0.5 to 2 percentage points because they pad the context with information the agent could already infer, costing reasoning steps without adding signal.
Inference costs go up 20 to 23 percent either way. From my testing, that ratio holds in practice: the agents are sensitive to the quality of the file, not just its presence.
The GitHub’s analysis of AGENTS.md files is the cleanest external read on what works. The 8 checks below distill those patterns plus the field signal from agent-readiness scanners hitting real repos in May 2026.
The 8-Check Agent-Readiness Playbook
The 8 checks cover instruction files, runnable commands, scope boundaries, MCP tool clarity, evidence-backed verification, file-scoped feedback loops, CI/SARIF surfaces, and per-package agent files for large repos.
Run them in order. Each check has a yes/no signal and a fix that takes under an hour.

Here is the quick-reference table before the deep dives:
| # | Check | Pass signal | Most common failure |
|---|---|---|---|
| 1 | AGENTS.md at root | File exists, under 150 lines | Auto-generated, padded |
| 2 | Executable commands with flags | Test commands near the top | Commands referenced in prose, not as code |
| 3 | Scope boundaries | “Never modify” list present | Implicit boundaries, agent guesses |
| 4 | Coding convention example | One real code snippet | Multi-paragraph style description |
| 5 | MCP tool descriptions | Schema plus intent per tool | Bare tool names, no input rules |
| 6 | File-scoped commands | Per-file type check, lint | Project-wide only, slow loops |
| 7 | Evidence requirement | “Show your work” gate before merge | No verification, trust the agent |
| 8 | Per-package AGENTS.md | One per major subproject | Monolithic root file at 400+ lines |
Check 1 AGENTS.md at the Root Under 150 Lines
An agent-ready repo has a hand-written AGENTS.md at the root, under 150 lines, that names the stack with exact versions.
Anything over 150 lines triggers a “lost in the middle” effect where the agent ignores instructions placed at line 200 or beyond during longer sessions. Anything LLM-generated tends to duplicate the README and pad token usage without lifting performance.
What I would put in mine, in this order:
- Stack with versions (“React 18 with TypeScript, Vite, and Tailwind CSS, deployed to Vercel”)
- Build, test, and lint commands as fenced code blocks
- Directory boundaries (what to touch, what to ask about, what to never change)
- One real code snippet showing the house style
- Git workflow (branch naming, commit format, PR requirements)
- Anything unusual the agent would not infer (state machine quirks, custom CLI, internal naming conventions)
Skip the architecture overview. Multiple analyses show structural summaries become stale within weeks and rarely produce a measurable task-success lift. Better to point the agent at a deterministic command that prints the current structure on demand.
Check 2 Commands Are Runnable Not Described
Every command in AGENTS.md must be runnable as written, with full flags, no placeholders, and no hedged “you might want to add a watch flag”.
The agent should be able to copy the command into the shell and get the result. Hedged or partial commands force the agent to guess flags, and the guess is wrong roughly a third of the time.
# Good
pnpm install
pnpm build
pnpm test
pnpm lint
pnpm typecheck
# Bad
# Install dependencies, then build the project.
# Run the tests (consider adding flags for CI).A specific anti-pattern from the GitHub corpus: commands hidden under “Development” headings deep in the file. Agents reference the top of the file most often. Put commands above line 50, never below.
Check 3 Scope Boundaries Are Explicit
An agent without explicit boundary rules will edit anything it thinks helps, including config files, secrets, and vendored dependencies.
Three categories of boundary need names: “always do”, “ask first”, and “never do”.
Real examples a strong AGENTS.md spells out:
- Always do: “Run the linter on changed files before opening a PR.”
- Ask first: “Before adding a new dependency, propose it in the PR description and wait for human approval.”
- Never do: “Do not edit vendor directories, node_modules, .env, or any file under infra secrets.”
The negative list is the one most maintainers skip. Add it. Even an agent that respects 95 percent of implicit conventions will burn the other 5 percent on a config file you wanted untouched.
The AI agent infrastructure patterns covers what irreversible-action gates look like in practice.
Check 4 One Real Code Snippet Not Three Paragraphs of Style
A coding convention paragraph forces the agent to translate prose into pattern. A real code snippet shows the pattern directly and the agent matches it on the first try.
Vague: “Use functional components and prefer hooks over class lifecycle methods. Keep components small and pure.”
Specific:
// House style: named export, prop type inline, hook usage explicit
export const ProfileCard = ({ user, onEdit }: { user: User; onEdit: () => void }) => {
const [hovered, setHovered] = useState(false);
return (
<Card onMouseEnter={() => setHovered(true)}>
<Avatar src={user.avatarUrl} />
<Button variant={hovered ? 'primary' : 'ghost'} onClick={onEdit}>Edit</Button>
</Card>
);
};One concrete snippet replaces five paragraphs of “we prefer”. The agent does pattern matching, not philosophy.
Check 5 MCP Tools Have Descriptions and Schemas
If your repo exposes MCP tools to agents, each tool needs a description, an input schema, and a one-line intent statement.
Bare tool names produce ambiguous calls. The agent guesses what the tool does from the name alone and fills in inputs from training data, not from your schema.
A useful pattern: write the description as if you are writing the body of a search ad for that tool. The reader is the agent, the click is the call, and the conversion is a correct invocation.
The WebMCP analysis covered why tool-description writing is becoming a real skill, and the same logic applies to internal repo tools.
Pair the schema with examples of when to call the tool and when not to. “Use querydatabase only for read paths. For writes, prefer submitchange_request.”
Check 6 File-Scoped Feedback Loops Beat Whole-Project Rebuilds
File-scoped commands cut agent feedback loops from minutes to seconds and lower token cost on every iteration.
A 12-minute test-suite run between every edit is how token bills explode and how agents start cutting corners by skipping verification.
Concretely, expose:
# Per-file type check
pnpm tsc src/components/ProfileCard.tsx
# Per-file lint
pnpm prettier src/components/ProfileCard.tsx
pnpm eslint src/components/ProfileCard.tsx
# Per-package test
pnpm test packages/uiDocument these next to the project-wide commands. The agent will pick the cheaper one when it can. The cost-cutting router pattern covers the broader math on this, but file-scoped commands are the cheapest single intervention.
Check 7 Evidence Gates Before Merge
An agent should produce evidence for what it changed, not assert that it changed something. “I refactored the auth flow” is the agent equivalent of a confident-sounding hallucination. Require it to show:
- The exact files touched and the diff
- The test commands run and their output
- Any new dependencies and why they were added
- The boundaries it considered and chose not to cross
Add a CI step that fails the PR if the evidence block is missing. From what I have seen, this single change cuts “confidently wrong” PRs by more than half, because the agent that has to produce evidence checks its own work before submitting.
The GitHub PR auto-fix agent build walks through one version of this evidence gate. The version you ship can be simpler. A required JSON block in the PR description is enough.
Check 8 Per-Package AGENTS.md in Large Repos
Once a monolithic AGENTS.md hits 200 lines or the repo has more than five top-level packages, split the file.
Agents read the nearest AGENTS.md in the directory tree, and the closest one wins. A 60-line file inside packages api beats the same content buried at line 300 of a root file.
The split pattern that works:
- Keep the root AGENTS.md to stack, global commands, top-level boundaries, and a directory map
- Each major subproject gets its own AGENTS.md with package-specific commands, conventions, and “never touch” rules
- The agent walks up the directory tree to find context, so subpackage instructions naturally override root ones
Repos that adopted this split early in 2026 report fewer cross-package edits when the agent is asked to make a change in one package.
Why Agent-Readiness Is About to Stop Being Optional
Agent-readiness is shifting from a power-user setup to a default expectation for any repo that wants real contributions from coding agents.
The number of repos shipping with an AGENTS.md grew from a few hundred in mid-2025 to over 2,500 well-curated examples by Q2 2026, and that count was growing weekly when GitHub published its corpus analysis.

Three signals tell me this is a one-way door, not a fad.
First, the format itself was donated to a neutral foundation. The Agentic AI Foundation now holds the AGENTS.md spec alongside Anthropic’s Model Context Protocol. When a spec leaves a single vendor’s repo and lands in a neutral home, it is on the path to becoming a default rather than a preference.
Second, the cost math favors curated context. Inference costs rise 20 to 23 percent with any context file, but human-curated files lift task success by 4 percentage points while LLM-generated ones lose 0.5 to 2 points. That gap is large enough that teams running agents at scale will move toward hand-written AGENTS.md as a matter of unit economics, not philosophy.
Third, the comments under every “I built an agent-readiness scanner” Reddit post in May 2026 read the same way: maintainers describing agents that rage-quit on stale docs, rewrote a vendor file they were told not to touch, ran the wrong test command and reported success. The friction is universal enough that the fix is going to be widely adopted.
| Era | Repo norm | Cost of getting it wrong |
|---|---|---|
| 2022 | README for humans | Confused new contributors |
| 2024 | README plus CONTRIBUTING.md | Slower onboarding, fewer PRs |
| 2026 | README plus AGENTS.md plus MCP schemas | Coding agents bounce, no contributions |
| 2027 (predicted) | Agent-readiness audited at PR time | PRs from agents fail review automatically |
Before: an agent opens your repo, scans the README, guesses at the build commands, hallucinates two dependencies, and opens a PR that touches a config file you wanted left alone.
After: the agent reads AGENTS.md, runs the documented commands as written, stays inside the named scope, produces a JSON evidence block in the PR description, and you accept it without re-reading the diff line by line.
The shift from before to after is what makes an agent useful in production rather than a costly demo. For teams orchestrating multiple agents across services, the long-running agent memory architecture covers what happens after the repo is ready and the agents start coordinating.
The multi-agent distributed pattern guide covers the orchestration layer when you wire agent-ready repos to a controller like Make.com for cross-service workflows.
Frequently Asked Questions
Do I need an AGENTS.md if my team already uses CLAUDE.md or llms.txt?
AGENTS.md is the cross-tool standard. CLAUDE.md is Claude-specific and llms.txt was the precursor format. A repo working with multiple coding agents should ship AGENTS.md as the primary file and keep CLAUDE.md as a Claude-targeted addendum if needed.
How long should an AGENTS.md be in practice?
Under 150 lines for most repos. Past that, agents start ignoring later content during longer sessions. Hit 200 lines and you should be splitting into per-package files inside the directory tree.
Will LLM-generated AGENTS.md files work?
Not as well as hand-written ones. The 2025 AGENTbench data shows LLM-generated context files reduce task success by 0.5 to 2 percentage points compared to no file at all, while costing the same in inference. Auto-generators duplicate what the agent could infer from the codebase itself.
Which coding agents read AGENTS.md today?
Claude Code, Codex, Cursor, GitHub Copilot, Aider, Zed, RooCode, Windsurf, and Builder.io all read AGENTS.md by default as of May 2026. The list grew through Q1 2026 and the file format is now the de facto cross-tool standard.
What goes in the “never touch” list?
Vendored dependencies, secrets directories, environment files, generated code, infrastructure-as-code state files, any file that takes more than a few minutes to recover if the agent breaks it. Be explicit. Implicit boundaries leak.
How often should AGENTS.md be updated?
Every time the build command changes, every time you add a major dependency, every time you change directory boundaries. Stale AGENTS.md files do more damage than missing ones because the agent trusts them.
Can I share one AGENTS.md across multiple repos?
For a monorepo with a shared root, yes. For separate repos, no. Each repo’s stack, scope, and boundaries are different enough that copy-paste produces an outdated file inside a week.
Closing Note for Solo Builders Wiring Agents to Services
If you are wiring an agent to external services (Notion, GitHub Issues, Linear, Slack, a database) the agent-readiness work continues at the integration boundary. The agent needs the same kind of deterministic command surface there that AGENTS.md gives it inside the repo. Tools like Dynamiq for custom agent builds handle that translation layer cleanly when you do not want to glue webhooks by hand.
The 8 checks above cost a few hours total. The agent that opens your repo next week will either compound your work or burn cycles on it. The difference is mostly the file you have not written yet.
