Standing Orders for Your Coding Agent: AGENTS.md Done Right
I run two coding agents side by side and kept re-typing the same corrections. So I read the standards, mined 2,500+ of my own prompts, and rebuilt my setup around one rule: put every instruction where it actually loads. Here is what the evidence says — and what I changed.
Standing Orders for Your Coding Agent: AGENTS.md Done Right
On a starship, a standing order is different from a log entry, which is different from a safety interlock. A standing order is always in effect — the crew acts on it every shift without being told. A log entry is reference material you pull up when a situation calls for it. And a safety interlock is not advice at all: the computer simply will not let you vent the wrong compartment, no matter what anyone types.
Modern coding agents have exactly these three registers, and most people pour everything into the first one. That is the single biggest reason agents ignore instructions. I learned this the slow way — by re-typing the same corrections across roughly 220 sessions of Claude Code and OpenCode on my own hardware — and then the fast way, by reading what the standards actually say.
The File Is Context, Not Configuration
Here is the fact that reframes everything. An agent's instructions file — CLAUDE.md for Claude Code, AGENTS.md for almost everyone else — is not configuration the way a .env file is. It is injected into the model's context as a message, and in Claude Code's case it arrives wrapped in a note that literally says it "may or may not be relevant" (see the official Claude Code memory docs). Adherence is therefore probabilistic. The file shapes behaviour; it does not guarantee it.
That one insight tells you where every rule belongs.
Five Places a Rule Can Live
Anthropic's own guidance and the OpenCode docs converge on the same decision table. There are five mechanisms, and putting a rule in the wrong one is the root cause of most non-adherence:
AGENTS.md / CLAUDE.md) — loaded in full on every request. For always-true facts: stack, directory layout, build and test commands, hard conventions.SKILL.md whose name and description are always visible, but whose body loads only when triggered. For multi-step workflows and reference material you need *sometimes*.The governing heuristic from Anthropic is clean: guidance relevant on more than 30% of turns belongs in the instructions file; a section that has quietly grown into a procedure belongs in a skill; and anything that must never fail is a hook, not a sentence. "Never commit the .env file" in AGENTS.md is a polite request. The same rule as a pre-commit hook is a guarantee.
Rules That Actually Hold Up
The research is unusually consistent on what makes an instructions file work. The through-line is ruthlessness.
src/api/handlers/" beats "keep files organized".IMPORTANT and YOU MUST measurably improve adherence — but only if rare. Mark everything critical and you have marked nothing.The Numbers Are Real
This is not a matter of taste. In Vercel's Q1-2026 evaluations, a compressed 8 KB documentation index scored 100% on their framework API tests versus 53% with no docs at all. Augment Code's evals showed that a single *bad* AGENTS.md can drop task completeness by around 30%. And for skills, rewriting a vague description into a concrete one — stating what it does, when to use it, and the words a user would actually say — lifted triggering accuracy from roughly 30% to 95% in community measurements. A skill's description is the only thing the model sees when it decides whether to fire; it is the trigger, not documentation.
The Interoperability Trap
Here is the one that quietly bites people who, like me, run more than one agent. AGENTS.md is now an open standard, read natively by OpenCode, Codex, Cursor, Copilot, Zed and around twenty other tools. But as of mid-2026, Claude Code does not read AGENTS.md — it reads CLAUDE.md, and only that. A repository that ships only an AGENTS.md loads *zero* project instructions into Claude Code, with no error and no warning. Just quietly worse output.
The fix is one line. Make AGENTS.md the real file and symlink CLAUDE.md to it (ln -s AGENTS.md CLAUDE.md), or point a stub CLAUDE.md at it with an @AGENTS.md import. One file to maintain, both agents obey, and you are aligned with where the ecosystem is heading.
What I Actually Changed
I did not stop at theory. I mined every prompt I had ever sent both agents and let the corrections I kept repeating tell me what to fix.
Every line in that file traces to a mistake I corrected more than once. That is the real test. If you cannot point to the failure a rule prevents, it is not earning its place in the context window — and the context window is the one budget you cannot buy more of.
Conclusion
The best instructions file is not the most complete one. It is the shortest one that still puts every rule where it loads: always-true facts in AGENTS.md, procedures in skills, and the things that must never fail in hooks. Configure it once, with discipline, and you stop correcting the same mistake for the hundredth time. Standing orders, log entries, and safety interlocks — tell them apart, and the crew runs itself.
If you would like help auditing your own agent setup, that is exactly the kind of work I do at AI & SAP Consulting Paul Oesterwitz.

Paul Oesterwitz
AI & SAP Consultant · PhD Researcher