// FREE TOOL · AGENTS.MD + CLAUDE.MD
AGENTS.md generator
Describe your project once and get both instruction files: AGENTS.md for Codex, OpenClaw and Pi, CLAUDE.md for Claude Code — with a table, read out of each agent’s own shipped code, of which file it opens and where it looks. Free, in your browser, nothing uploaded.
Becomes the H1 of both files. Use the repository name.
Only what an agent cannot read off your manifest file in one glance.
Leave a box empty and its line is left out. Standard commands are worth writing down anyway — the agent stops guessing.
One rule per line. Write the ones a reviewer would flag, not the ones a linter already enforces.
The MCP section is written per agent, and the table below answers for exactly these.
Prefilled with Clize’s own server. Swap in yours — the per-agent syntax stays the same.
Claude Code inlines an @path line, so AGENTS.md stays the only copy you edit. The other agents never open CLAUDE.md anyway.
| Agent | Reads | Where it looks |
|---|
Paths verified on 2026-09-04 against the installed agents, by reading the loader in each shipped build.
How to generate AGENTS.md and CLAUDE.md
Three steps, all on this page. Nothing is uploaded, and there is no account — the generator is a small script running in the tab.
- Describe the project. Name, type, stack, and the commands an agent has to get right: install, build, test, lint. Then the rules your code reviews keep repeating, one per line. Both files update as you type.
- Pick the agents you actually run. Claude Code, Codex, OpenClaw, Pi. The MCP section is written once per agent in the file that agent reads, and the table underneath tells you where that agent will look for it.
- Copy both files to your repository root. AGENTS.md and CLAUDE.md each have their own copy button. Commit them together, because nothing keeps them in sync for you unless you take the one-line import option.
Which agent reads which file
AGENTS.md and CLAUDE.md are two names for one idea — a Markdown file of project instructions that a coding agent loads before it does anything — and no agent reads both of them by default. That is why this page hands you two files rather than one. The table was checked on 4 September 2026 against four agents installed side by side, by reading the context loader inside each shipped build rather than trusting a docs page.
| Agent | Reads | Its own file | In a project | Skills directory |
|---|---|---|---|---|
| Claude Code | CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md, .claude/CLAUDE.md and CLAUDE.local.md, per directory | ~/.claude/skills |
| Codex | AGENTS.md | ~/.codex/AGENTS.md | AGENTS.md, walking up from the working directory | ~/.agents/skills |
| OpenClaw | AGENTS.md | ~/.openclaw/workspace/AGENTS.md | none — it works inside its own workspace, not your checkout | ~/.agents/skills |
| Pi | AGENTS.md or CLAUDE.md | ~/.pi/agent/AGENTS.md | first hit per directory: AGENTS.override.md, AGENTS.md, CLAUDE.md | ~/.agents/skills |
Four things follow from that table, and none of them show up in a plain template.
- Claude Code does not read AGENTS.md. Its context loader looks for
CLAUDE.md,.claude/CLAUDE.mdandCLAUDE.local.mdand nothing else; the name AGENTS.md appears nowhere in it. Where the name does turn up in the shipped build, it is being copied: a Codex import that writes~/.codex/AGENTS.mdinto~/.claude/CLAUDE.mdand a projectAGENTS.mdintoCLAUDE.md, and a setup routine that reads an existing AGENTS.md as source material while it drafts your CLAUDE.md. A copy taken once is not a file being read every session. - Codex will not read CLAUDE.md unless its user says so. Its config exposes
project_doc_fallback_filenames, and the default is an empty list. Someone can addCLAUDE.mdto it in their own~/.codex/config.toml— but that is a setting on their machine, not something your repository can ship to a contributor. - Pi is the only one that takes either. Per directory it tries
AGENTS.override.md, thenAGENTS.md, thenCLAUDE.md, and stops at the first file it finds. So a repo with both gives Pi the AGENTS.md — the CLAUDE.md never loads there. - OpenClaw does not look in your repository at all. Its instruction file is a workspace bootstrap file, next to
SOUL.mdandIDENTITY.mdin~/.openclaw/workspace/. Dropping AGENTS.md into a checkout does nothing for it; you paste the content into the workspace file instead.
The skills column is the part that is shared. Claude Code keeps skills under its own directory, while Codex, OpenClaw and Pi all read the open ~/.agents/skills path — which is why clize install writes two blocks, one per directory, and why installing Clize once covers all four agents even though their instruction files do not.
Two files, one source of truth
Maintaining the same paragraph twice is how the two files start disagreeing, usually about a build command that changed in one of them. There are three honest ways out, and the generator supports the first two.
Keep both files in full. This is the default output above, and it is the only option that works identically for every agent, on every machine, with no local configuration. The cost is real: you have to change both in the same commit. Both generated files end with a section that says so, so the next person editing one is told the other exists.
Make CLAUDE.md a one-line import. Claude Code understands @path/to/file lines in CLAUDE.md and inlines the file they name, so a CLAUDE.md whose body is @AGENTS.md gives Claude Code the same instructions with only one file to edit. Tick the import box in the panel and the CLAUDE.md pane collapses to that. The catch is that the @ line is Claude Code syntax, so the substance has to live in AGENTS.md — which is exactly where the other three agents want it anyway.
Or fix it on the reading side. A Codex user can add CLAUDE.md to project_doc_fallback_filenames; a Pi user gets the fallback for free. Neither travels with the repository, so treat it as something you do for your own checkout, not as a policy you can rely on for contributors. If you are weighing the two hosts more broadly, the differences between Claude Code and Codex go well past a filename.
What belongs in the file, and what does not
The instruction file is prepended to the agent's context on every session, so every line you add is a line it pays for on every task. That makes the editing rule simple: write down what the agent gets wrong, delete what it can look up.
Worth writing down: commands that are not guessable from the manifest (a non-standard test runner, a required flag, a codegen step that has to run first); rules your reviews keep repeating (no default exports, never touch generated directories, migrations are never run locally); repo etiquette (branch naming, commit style, what a PR needs before review); and environment facts that fail silently, such as a service the tests need running.
Not worth writing down: a file-by-file map of your source tree, which the agent can read faster than you can maintain; generic advice like write clean code and handle errors; standard commands the manifest already declares; and long reference material, which belongs in a linked document or a skill instead of in the context of every turn.
The line between an instruction file and a skill is worth holding: the instruction file is always loaded and describes this repository, while a skill is loaded on demand and describes a capability the agent can use anywhere. Long procedures drift into the second category quickly. Clize ships its own capabilities that way rather than as prose — see the command reference for what that looks like in practice.
The MCP section: one server, four different commands
If your project expects an MCP server, saying so in the instruction file saves a contributor a round trip — but the registration command is not the same across agents, and that is the sort of detail a generic template quietly gets wrong. Verified on 4 September 2026:
claude mcp add clize -- clize-mcp
codex mcp add clize -- clize-mcp
openclaw mcp add clize --command clize-mcp
Claude Code and Codex take the stdio command after a -- separator. OpenClaw does not use a separator at all: the command goes behind --command, and pasting the Codex form there fails. Pi is the one agent with no verified single-line form, so the generator writes a line telling the reader to register it through Pi's own MCP configuration rather than inventing a command that might not exist.
For Clize itself none of this is manual. clize install writes the skills into both directories, and clize install --mcp also registers the server with every agent it finds, using each one's own syntax. MCP is opt-in: without the flag the skill is installed and registration is skipped. Host-by-host walkthroughs live at MCP setup for Claude Code and the Codex CLI equivalent, and OpenClaw has its own page because it is the host most often left out of these lists.
// FAQ
Do I need both AGENTS.md and CLAUDE.md?
If you use more than one agent, yes. Claude Code reads CLAUDE.md and does not read AGENTS.md; Codex and OpenClaw read AGENTS.md and do not read CLAUDE.md; Pi reads whichever it finds first. A repository that ships only one of the two is invisible to half the agents that open it. The alternative is to keep the substance in AGENTS.md and make CLAUDE.md a one-line import of it, which this generator will write for you.
Does Claude Code read AGENTS.md?
No. Its context loader looks for CLAUDE.md, .claude/CLAUDE.md and CLAUDE.local.md in the project and ~/.claude/CLAUDE.md for you personally, and the name AGENTS.md does not appear in it at all. Where the shipped build does handle AGENTS.md, it copies it into CLAUDE.md — a one-time Codex migration, or setup reading it while drafting your CLAUDE.md — rather than loading it as context. Verified against the installed build on 4 September 2026.
Where do I put AGENTS.md?
In the repository root for Codex and Pi, which walk up from the working directory and pick up files along the way. For instructions that apply to everything you do, the per-user file is ~/.codex/AGENTS.md for Codex and ~/.pi/agent/AGENTS.md for Pi. OpenClaw is the exception: its file is a workspace bootstrap file at ~/.openclaw/workspace/AGENTS.md, so a copy in your checkout never reaches it.
What should go in an AGENTS.md file?
The things an agent gets wrong and cannot look up: build, test and lint commands that are not guessable from the manifest, rules your code reviews keep repeating, repo etiquette, and environment facts that fail silently. Leave out a map of the source tree, generic coding advice, and long reference material — the file is loaded on every turn, so length has a running cost.
Can CLAUDE.md just import AGENTS.md?
Yes. Claude Code supports @path lines inside CLAUDE.md and inlines the file they name, so a CLAUDE.md containing @AGENTS.md gives it the same instructions from a single source. Tick the import option in the generator to get that version. The @ line is Claude Code syntax, so keep the actual content in AGENTS.md, which is what the other agents read.
Is anything I type here uploaded?
No. The generator is a small script that runs entirely in your browser; nothing you type leaves the page, there is no account and no signup, and the page works offline once it has loaded. Nothing is fetched from your site or your repository either — you paste the facts in, and both files are assembled locally.
The file tells the agent what to do. Clize lets it do it.
An instruction file is context. Clize is the hands: domains, real send-and-receive email, static deploys, Stripe payments and media generation, from inside Claude Code, Codex, OpenClaw or Pi — with no provider API keys of your own. Install once and it wires into every agent it finds.
$ npm i -g @clize/clize && clize install $ clize install --mcp # register the MCP server too[ Get started with Clize → ]