Stejné zdrojové soubory ještě neznamenají stejné zadání. Codex může měsíce pracovat podle pravidel v AGENTS.md, pak nad stejným projektem spustíte Claude Code a ten o nich nemusí vědět vůbec nic. Výsledek může vypadat jako náhlé zhloupnutí AI, ve skutečnosti jste jen nedali instrukce, protože každý nástroj hledá něco jiného.
POZNÁMKA: Další výsledek „skills“ pro psaní tipů. Nakrmené mými postřehy (jedu Codex i Claude Code a střídám je neustále), základní rešerše a probírání v Claude, pak zadání ChatGPT. Dvě revize (na počátku moc řešila symlinky ve Windows, například). V té poslední opět připomenuto, že musí zdrojovat. Výsledek je fajn. A co hlavně je to dost důležité abyste si nenaběhli.
Narazil jsem na to opakovaně. Projekt předtím delší dobu spravoval Codex a v AGENTS.md měl popsaná pravidla, strukturu, omezení i způsob práce. Pak jsem nad stejným projektem pustil Claude Code a ten začal dělat věci, které nedávaly smysl. Problém nebyl v projektu. Claude Code prostě AGENTS.md nečetl.
A tohle je při střídání AI nástrojů docela zásadní past.
TIP: Co vůbec patří do README.md, AGENTS.md, CLAUDE.md a dalších souborů projektu řeší samostatný tip K čemu slouží README.md a jak s tím zacházet. Proč mít AGENTS.md (CLAUDE.md). Tady jde o jiný problém: různé AI nástroje nemusí číst stejné instrukční soubory.
AGENTS.md není automaticky univerzální
AGENTS.md je jednoduchý otevřený formát pro instrukce coding agentům. Funguje trochu jako README určené AI: může obsahovat příkazy pro build a testy, konvence, strukturu projektu, bezpečnostní omezení nebo třeba pravidla pro commity.
Formát původně vznikl u OpenAI a od prosince 2025 je jedním z projektů Agentic AI Foundation pod Linux Foundation. Používá ho řada nástrojů a desítky tisíc open-source projektů.
Jenže Claude Code ho při běžné práci nativně nenačítá. Dobrá zpráva ale je, že v polovině září Anthropic oznámil zásadní změnu. Claude načte AGENTS.md pokud nenajde vlastní CLAUDE.md. Znamená to i změnu pro věci popsané dále v této části tipu.

Dokumentace Claude Code to dnes říká zcela přímo: Claude Code čte CLAUDE.md, nikoliv AGENTS.md.
To znamená, že projekt může mít dokonale připravený AGENTS.md, Codex se podle něj může správně řídit, ale po spuštění Claude Code jsou tyto instrukce bez dalšího kroku neviditelné.
Výsledkem může být třeba to, že Claude:
- použije jiný build nebo testovací postup
- sáhne do souborů, kterých se podle pravidel projektu dotýkat nemá
- nedodrží strukturu nebo názvosloví
- začne předělávat něco, co je v projektu záměrně řešené jinak
- nezná omezení deploymentu
- neví o postupech, které z kódu samotného vůbec nemůže odvodit
Agent samozřejmě může projekt prozkoumat a část věcí zjistit. Jenže instrukční soubor často obsahuje právě informace, které ze zdrojového kódu poznat nejdou.
Nejjednodušší řešení: CLAUDE.md, který načte AGENTS.md
Pokud už projekt používá AGENTS.md, není důvod stejný obsah kopírovat ještě do CLAUDE.md.
Claude Code podle oficiální dokumentace umí z CLAUDE.md importovat další soubory pomocí syntaxe @cesta. Stačí tedy vytvořit v kořeni projektu CLAUDE.md například s jediným řádkem:
@AGENTS.md
Claude při startu načte CLAUDE.md a přes něj i obsah AGENTS.md.
Pro projekt používaný Codexem i Claude Code tak dává smysl:
AGENTS.md <- hlavní společné instrukce
CLAUDE.md <- pouze @AGENTS.md
AGENTS.md zůstává jediným zdrojem pravdy a není potřeba hlídat dvě kopie stejných pravidel.
Do CLAUDE.md navíc můžete pod import přidat pravidla, která mají platit pouze pro Claude Code:
@AGENTS.md
## Claude Code
- Pro větší změny nejdřív použij Plan Mode.
Právě tento postup Anthropic přímo doporučuje pro projekty, které už AGENTS.md používají.
Druhá možnost: symbolický odkaz
Pokud žádné speciální instrukce pouze pro Claude nepotřebujete, Anthropic uvádí jako další možnost symbolický odkaz:
ln -s AGENTS.md CLAUDE.md
Obsah je pak fyzicky pořád jen jeden.
Varianta s importem @AGENTS.md je ale praktičtější, protože do CLAUDE.md můžete později snadno doplnit něco specifického pouze pro Claude.
Pozor na velké projekty a více AGENTS.md
AGENTS.md nemusí existovat jen jednou v kořeni projektu. Například Codex vytváří při startu instrukční řetězec a hledá AGENTS.md nebo AGENTS.override.md od kořene projektu směrem k aktuálnímu pracovnímu adresáři. Instrukce blíž místu, kde pracuje, tak mohou doplňovat nebo přebíjet obecnější pravidla.
Může tedy existovat třeba:
AGENTS.md
frontend/AGENTS.md
backend/AGENTS.md
Stejný princip podporuje také Cursor, včetně AGENTS.md v podadresářích.
A tady už jeden kořenový:
@AGENTS.md
v CLAUDE.md neumí tuto hierarchii sám napodobit. Jde o import konkrétního souboru, nikoliv pokyn Claude Code, aby začal vyhledávat všechny další AGENTS.md.
Claude má vlastní hierarchii CLAUDE.md a CLAUDE.local.md. Podle dokumentace Anthropicu načítá soubory v nadřazených adresářích při startu a instrukce v podadresářích objevuje podle toho, s jakou částí projektu pracuje. Pro větší projekty nabízí také .claude/rules/.
Pokud tedy máte složitější projekt s několika úrovněmi AGENTS.md, nestačí automaticky předpokládat, že jednoduchý import kořenového souboru zajistí úplně stejné chování v Codexu i Claude Code.
A co /init?
Tady je další snadný zdroj zmatku. Některé coding AI mají příkaz /init, který projekt projde a vytvoří základní instrukce. Jenže každý nástroj vytváří instrukce pro sebe.
| Nástroj | Výchozí instrukční soubor | /init |
|---|---|---|
| Codex | AGENTS.md | vytvoří základ AGENTS.md |
| Claude Code | CLAUDE.md | analyzuje projekt a vytvoří nebo navrhne úpravy CLAUDE.md |
| Gemini CLI | GEMINI.md | analyzuje adresář a vytvoří GEMINI.md |
OpenAI uvádí, že /init v Codexu vytvoří základní strukturu AGENTS.md.
Claude Code pomocí /init analyzuje projekt a vytvoří počáteční CLAUDE.md. Pokud už CLAUDE.md existuje, navrhne jeho vylepšení místo prostého přepsání.
A Gemini CLI pomocí /init analyzuje aktuální adresář a vytvoří GEMINI.md.
Takže /init není univerzální inicializace projektu pro všechny AI. Je to inicializace instrukcí pro konkrétní nástroj.
A není moc dobrý nápad jen postupně spustit /init v několika nástrojích a potom udržovat tři skoro stejné soubory. Dříve nebo později se jejich obsah rozejde.
Anthropic už migraci z jiných AI řeší
Anthropic mezitím začal problém interoperability řešit a aktuální dokumentace Claude Code už popisuje několik způsobů, jak instrukce z jiných coding nástrojů převzít.
Běžný /init umí při vytváření CLAUDE.md přečíst pravidla Cursoru z .cursor/rules/ nebo .cursorrules a instrukce Copilotu z .github/copilot-instructions.md.
Pokud zapnete experimentální nový režim:
CLAUDE_CODE_NEW_INIT=1
rozšířený /init podle dokumentace Anthropicu načte také AGENTS.md, pravidla Devin, Windsurfu a Cline a použije je při návrhu konfigurace Claude Code.
Existuje také /import, který umí převzít konfiguraci z podporovaného coding agenta. Anthropic uvádí, že může přenést instrukční soubory typu AGENTS.md, MCP servery, příkazy, subagenty a skills. Funkce vyžaduje Claude Code 2.1.213 nebo novější.
Jenže pozor na zásadní rozdíl: /import přidá jednorázovou kopii instrukcí do odpovídajícího CLAUDE.md. Není to propojení souborů. Když později změníte původní AGENTS.md, importovaný obsah se sám nezmění.
Pro jednorázovou migraci z jednoho nástroje na druhý je /import užitečný. Pro dlouhodobé střídání Codexu a Claude Code nad stejným projektem je pořád čistší:
CLAUDE.md -> @AGENTS.md
Gemini CLI má mimochodem podobný trik
Gemini CLI používá jako výchozí instrukční soubor GEMINI.md, ale jeho dokumentace umožňuje změnit seznam názvů kontextových souborů.
V settings.json lze například nastavit:
{
"context": {
"fileName": ["AGENTS.md", "CONTEXT.md", "GEMINI.md"]
}
}
Gemini pak může načítat i AGENTS.md.
Je to další ukázka toho, že samotná existence instrukčního souboru nestačí. Rozhodující je, které názvy konkrétní nástroj skutečně hledá a jak je skládá dohromady.
Cursor a Copilot už AGENTS.md také znají
Cursor podporuje AGENTS.md jako jednodušší alternativu ke svému systému .cursor/rules a umí také hierarchické AGENTS.md v podadresářích.
U GitHub Copilotu záleží na konkrétním prostředí. Aktuální tabulka podpory GitHubu ukazuje, že Copilot CLI a Copilot cloud agent umějí pracovat s AGENTS.md, CLAUDE.md i GEMINI.md, zatímco například běžný Copilot Chat v některých IDE používá hlavně .github/copilot-instructions.md a path-specific instrukce.
Takže ani věta „Copilot podporuje AGENTS.md“ ještě neznamená, že se tento soubor použije úplně všude, kde se s Copilotem setkáte.
Jak ověřit, že Claude instrukce opravdu načetl
Po vytvoření nebo změně CLAUDE.md je rozumné spustit novou session Claude Code a zadat:
/context
Anthropic doporučuje zkontrolovat v části Memory files, které instrukční soubory Claude skutečně načetl.

To je jednoduchá kontrola, která může ušetřit dost času. Existence souboru v projektu ještě neznamená, že právě používaný agent ví, že se jím má řídit.
U Codexu je princip podobný. Dokumentace OpenAI přímo doporučuje nechat Codex shrnout aktuálně načtené instrukce a tím zkontrolovat, co při startu skutečně našel.
Když střídáte AI, zkontrolujte instrukce jako první
Celý problém se dá shrnout jednoduše: novému coding agentovi nestačí ukázat stejný adresář s projektem.
Při prvním spuštění jiného nástroje si zkontrolujte:
- jaké instrukční soubory automaticky hledá
- které z nich skutečně načetl
- zda instrukce nejsou jen v souboru určeném předchozímu nástroji
- zda nevzniklo několik kopií stejných pravidel, které se později rozejdou
Pokud střídáte hlavně Codex a Claude Code, současné nejjednodušší řešení je AGENTS.md jako společný zdroj instrukcí a malý CLAUDE.md s @AGENTS.md.
Je to jeden řádek navíc. Bez něj ale můžete nad dobře popsaným projektem spustit AI, která o všech těch pravidlech vůbec neví.
