
AGENTS.md vs CLAUDE.md vs skills: hva hører hjemme hvor
AGENTS.md er en enkel markdown-fil i roten av repoet ditt som forteller kodeagenter hvordan de skal jobbe i prosjektet: hvordan man bygger det, hvordan man kjører testene, hvilke konvensjoner som gjelder, og hva de ikke skal røre. Ingen skjema, ingen påkrevde seksjoner, ingen register. Hele standarden får plass i én setning: legg en fil som heter AGENTS.md i repoet ditt, så vil agenter som støtter konvensjonen lese den før de rører koden din.
Folk kaller den "README-en for agenter", og sammenligningen holder vann. En README forklarer prosjektet ditt til mennesker som nettopp har kommet til. AGENTS.md forklarer det til programvare som nettopp har kommet til. Forskjellen er at agenten faktisk følger instruksjonene, så vage instruksjoner koster ekte penger i bortkastede tokens og feilaktige endringer.
Vi tester agent-verktøy for å leve hos SkillProof, og vi har sett denne filen gå fra å være et sideprosjekt hos OpenAI til å bli det nærmeste agentbasert koding kommer en felles standard. Dette innlegget handler om hvordan den henger sammen med CLAUDE.md og de andre verktøydialektene, og hvor skills passer inn - for de løser et annet problem enn de fleste tror.
Hva AGENTS.md er, og hvem som faktisk leser den
Konvensjonen kom fra OpenAIs Codex-team midt i 2025 og ble raskt medundertegnet av Googles Jules, Cursor, Factory, Amp og andre. Poenget var enkelt: hver eneste agentleverandør hadde funnet opp sin egen instruksjonsfil, og repo-røtter fyltes opp med nesten identisk markdown adressert til forskjellige roboter. AGENTS.md foreslo ett filnavn som alle leser.
Adopsjonen siden den gang har vært reell, men ujevn. Her er det ærlige bildet slik vi ser det midt i 2026:
| Verktøy | Leser AGENTS.md | Egen dialekt |
|---|---|---|
| OpenAI Codex | Ja, nativt | Ingen, AGENTS.md er formatet |
| GitHub Copilot (coding agent, VS Code) | Ja | .github/copilot-instructions.md |
| Cursor | Ja | .cursor/rules/*.mdc |
| Google Jules | Ja, nativt | Ingen |
| Gemini CLI | Ja, via config | GEMINI.md |
| Claude Code | Ikke nativt | CLAUDE.md |
| Zed | Ja | Ingen |
| Amp | Ja | Ingen |
| Aider | Nei | CONVENTIONS.md |
| Windsurf | Nei | .windsurf/rules/ |
To ting stikker seg ut i den tabellen. For det første: kolonnen med "ja"-svar er lang og blir stadig lengre; når en ny agent lanseres i 2026, er AGENTS.md-støtte som regel med i lanseringsnotatene. For det andre: dialektene har ikke forsvunnet. Copilot leser fortsatt sin egen instruksjonsfil, Cursor har fortsatt regler med globs og triggermoduser som AGENTS.md ikke kan uttrykke, og Claude Code - verktøyet vi bruker mest tid på - vil fortsatt ha en CLAUDE.md.
Så den praktiske situasjonen er denne: AGENTS.md er lingua franca, dialektene er der verktøyspesifikk kraft ligger, og ethvert team som kjører mer enn én agent trenger en policy for å holde dem synkronisert. Den policyen er mesteparten av denne artikkelen.
Hva som skal stå i filen er mindre omstridt enn filnavnet var. AGENTS.md-filene som fungerer, dekker oppsett- og byggekommandoer, hvordan man kjører tester, kodestil-notater linteren ikke fanger opp, og arkitektoniske grenser ("betalingslogikk hører hjemme i packages/billing, ikke plasser den andre steder"). Filene som ikke fungerer, leser som visjonserklæringer. En agent trenger ikke vite at du verdsetter ren kode. Den trenger kommandoen som sjekker om koden er ren.
AGENTS.md vs CLAUDE.md
Disse to filene gjør nesten den samme jobben for forskjellige lesere. Begge er instruksjonsfiler på prosjektnivå. Begge lastes inn i kontekst ved starten av en økt. Begge bør være korte, fordi hver linje koster tokens ved hver forespørsel. Hvis du allerede har skrevet en god CLAUDE.md, vet du allerede hvordan du skriver en god AGENTS.md, og rådene våre i beste praksis for CLAUDE.md overføres nesten linje for linje.
Forskjellene er verdt å kjenne til før du forener dem:
Målgruppe. CLAUDE.md leses av nøyaktig ett verktøy. Det betyr at den trygt kan referere til Claude-spesifikk maskineri: skills, hooks, subagenter, MCP-servere, tillatelsesinnstillinger. En AGENTS.md som sier "bruk systematic-debugging-skillen før du foreslår en fiks" er støy for Codex og Copilot, som ikke aner hva en skill er.
Hierarki og imports. Claude Code fletter CLAUDE.md-filer fra flere nivåer (brukerglobalt, prosjektrot, undermapper) og støtter @sti/til/fil-imports inni dem. AGENTS.md støtter også nøsting, der den nærmeste filen har forrang, men import-syntaksen er Claudes egen.
Håndheving. Ingen av filene håndheves. Begge er forslag til en språkmodell. Alt som må skje hver gang, hører hjemme i en hook eller CI, ikke i noen av filene. Dette skuffer folk likt på tvers av alle verktøy.
Hvis teamet ditt bruker Claude Code sammen med noe annet, trenger du begge filene, og feilmodusen er åpenbar: to filer som sier nesten det samme, som driver fra hverandre til en agent følger den utdaterte. To mønstre forhindrer dette, og vi har testet begge.
Symlinken. Gjør AGENTS.md til den ekte filen og la CLAUDE.md peke på den:
# AGENTS.md er sannheten
ln -s AGENTS.md CLAUDE.md
git add AGENTS.md CLAUDE.md
Claude Code følger symlinken og leser innholdet som om det var sin egen fil. Dette er alternativet med null vedlikehold, og det er det riktige valget når du ikke har noe Claude-spesifikt å si. Begrensningen er eksakt identitet: begge lesere får hvert eneste ord, inkludert de som bare er relevante for den andre.
Den tynne wrapperen. Behold AGENTS.md som den delte kilden, og gjør CLAUDE.md til en liten fil som importerer den og legger til Claude-spesifikke linjer:
# CLAUDE.md
@AGENTS.md
## Claude-spesifikt
- Bruk git-workflow-skillen for commits og PR-er.
- Aldri rediger filer under infra/ uten å spørre.
Dette er det vi kjører i våre egne repoer. De delte faktaene lever ett sted, Claude-tilleggene lever der bare Claude ser dem, og en diff til AGENTS.md oppdaterer alle verktøy samtidig. Samme mønster fungerer motsatt vei for andre dialekter: hold .github/copilot-instructions.md og Cursor-regelfiler nede på noen få linjer som viser til AGENTS.md for alt begge verktøy trenger. Vi sammenlignet disse dialektene i detalj i Claude skills vs Cursor rules og Claude skills vs Copilot instructions.
En advarsel fra testingen vår: uansett hvilket mønster du velger, velg ett. Repoer som har både en full CLAUDE.md og en full AGENTS.md med uavhengig redigert innhold, er drift-scenarioet med ekstra trinn.
GRATIS STARTPAKKE
Setter du opp et repo som Claude, Codex og Cursor alle kan jobbe i? Vår gratis startpakke inneholder testede skills som passer med en ren AGENTS.md, installert og verifisert på en ny maskin.
Få den gratis startpakkenAGENTS.md vs skills: helt forskjellige lag
Dette er sammenligningen folk faktisk søker etter, og den er bygget på en kategorifeil. AGENTS.md og skills konkurrerer ikke om det samme formatet. De sitter på forskjellige lag i stacken og svarer på forskjellige spørsmål.
AGENTS.md svarer på: hva bør enhver agent vite om dette prosjektet? Det er fakta om et sted. Den følger med repoet, gjelder for hvilken agent som enn dukker opp, og sier ingenting om hvordan agenten gjør jobben sin utover lokale regler.
En skill svarer på: hvordan bør denne agenten utføre denne typen oppgave? Det er en atferd, pakket i en mappe med en SKILL.md, lastet inn ved behov når oppgaven matcher beskrivelsen. Den følger deg, ikke repoet. Installer en debugging-skill én gang, og den fungerer i hvert eneste prosjekt du åpner, uansett om det prosjektet noensinne har hørt om deg. Vi dekket mekanikken i Hva er Claude skills?, men lastemodellen er hovedforskjellen: AGENTS.md-innhold ligger i kontekst gjennom hele økten, mens en skill koster rundt hundre tokens med metadata helt til øyeblikket en oppgave utløser den.
Her er hele stacken slik vi tegner den på whiteboards:
| Lag | Ligger i | Skopet til | Lastes | Spørsmål det svarer på |
|---|---|---|---|---|
| AGENTS.md | Reporot | Prosjektet, hvilken som helst agent | Hver økt | Hva er dette stedet? |
| Verktøydialekt (CLAUDE.md, regler) | Repo eller brukerkonfig | Prosjektet, ett verktøy | Hver økt | Hva bør dette verktøyet gjøre her? |
| Skills | ~/.claude/skills/ eller .claude/skills/ |
Én agent, hvilket som helst prosjekt | Ved behov | Hvordan gjøres denne typen oppgave? |
| MCP-servere | Verktøykonfig | Én maskin eller ett team | Verktøydefinisjoner alltid i kontekst | Hva kan agenten nå? |
Les den fra topp til bunn som stadig bredere kapasitet og stadig smalere portabilitet. Standardfilen er universell og enkel. Dialekten er verktøybundet og litt smartere. Skills er atferdsrike, men foreløpig agentbundet. MCP er levende infrastruktur med legitimasjon og prosesser.
Et konkret eksempel gjør grensen tydelig. "Kjør pnpm test --filter=changed før du committer" er en AGENTS.md-linje: det er et faktum om repoet ditt, sant for enhver agent. "Når du feilsøker, reproduser feilen før du foreslår en fiks, og hevd aldri at en fiks fungerer uten å kjøre den feilende testen på nytt" er en skill, og det er faktisk en vi har testet og listet: systematic-debugging. Den har ingenting med noe bestemt repo å gjøre. Å legge den i AGENTS.md betyr å kopiere den inn i hvert prosjekt og betale token-kostnaden hver økt, også i økter der ingen feilsøker noe som helst.
Tommelfingerregelen vi gir team: hvis du ville kopiert en linje inn i et nytt repo uendret, er det ikke prosjektkontekst, det er atferd, og det hører hjemme i en skill. Hvis en linje bare gir mening i akkurat dette repoet, er det kontekst, og det hører hjemme i AGENTS.md.
Strategien for team som kjører flere AI-verktøy
De fleste team vi snakker med i 2026 er ikke ett-agent-butikker. En typisk miks er Claude Code for tyngre arbeid, Copilot i editoren, og Cursor på et par gjenstridige maskiner. Her er oppsettet som overlever kontakt med det:
1. Skriv AGENTS.md som sannheten. Én fil, i reporoten, eid som kode. Legg hvert faktum enhver agent trenger i den: kommandoer, konvensjoner, grenser, advarsler. Gjennomgå endringer til den i PR-er, fordi en feil instruks her villeder hver agent teamet ditt kjører.
2. Hold dialektene tynne. CLAUDE.md importerer AGENTS.md og legger bare til Claude-spesifikke linjer. Copilot-instruksjoner og Cursor-regler får samme behandling: en pekepinn pluss det som genuint ikke kan uttrykkes i den delte filen. Testen vår for "tynn nok" er rett fram: hvis en dialektfil er lengre enn en skjerm, hører sannsynligvis noe i den hjemme i AGENTS.md eller i en skill.
3. Legg gjenbrukbar atferd i skills. Feilsøkingsdisiplin, commit- og PR-vaner, teststandarder, dokumentformatering. Disse hører ikke hjemme i noen per-repo-fil fordi de ikke er per-repo. Installer dem én gang per agent, og de følger deg overalt. Våre testede favoritter for kodearbeid er samlet i de beste kodeskillsene, og git-workflow er den vi ville installert først på ethvert team som bryr seg om commit-hygiene.
4. Håndhev med hooks og CI, ikke prosa. Alt som må skje 100 % av gangene, kan ikke leve i en markdown-fil lest av et sannsynlighetsbasert system. Formatering ved lagring er en hook. Tester før merge er CI. Markdown-lagene er for skjønn, ikke håndheving.
Denne oppsettet har en egenskap verdt å nevne: hvert lag endrer seg i sitt eget tempo. AGENTS.md endres når prosjektet endres, skills endres når teamets håndverk endres, og ingen agent leser noe adressert til en annen agent.
Vil én standard vinne?
Vår vurdering, med standardobservatør-hatten på: filkonvensjonen vil konvergere, og atferdslaget vil ikke.
Fillaget konvergerer fordi insentivene alle peker samme vei. En kontekstfil har lite overflate, leverandører får kompatibilitet for kostnaden av én filnavnsjekk, og repo-eiere er synlig lei av instruksjonsfil-kaos. Vi forventer nativ AGENTS.md-støtte i Claude Code etter hvert, fordi presset er offentlig og kostnaden ved å støtte det er et fil-oppslag. Når det skjer, blir symlink-mønsteret over en no-op du kan slette.
Atferdslaget er en annen historie. Skill-lignende mekanismer dukker opp overalt: Claudes skills, Cursors regelmoduser, Copilots prompt-filer, diverse "playbook"-funksjoner på tvers av mindre agenter. De rimer, men hver kodifiserer sin leverandørs egne ideer om triggering og skoping. En skills trigger-beskrivelse og progressive lasting kartlegges mot en Cursor-regel-glob omtrent like godt som en symfoni kartlegges mot en ringetone. Atferdsformater er der leverandører skiller seg fra hverandre, så de har all grunn til å fortsette å divergere.
Og her er delen leverandører ikke skriver i lanseringsinnlegg: portabilitet i format er ikke portabilitet i kvalitet. En utestet atferdsfil feiler på samme måte på hvert verktøy som laster den. Den utløses når den ikke burde, eller den utløses aldri i det hele tatt. Rundt halvparten av community-skillsene vi henter fra GitHub, feiler vår første testrunde, og feilårsakene er formatuavhengige: vage triggerbeskrivelser, og instruksjoner forfatteren aldri verifiserte mot et ekte verktøy. Vi skrev om mønsteret i hvorfor halvparten av Claude skills ikke fungerer, og alt der gjelder uansett hva det andre agent-verktøyet ditt kaller sin versjon av skills. En konvergert standard ville gitt oss ett filnavn og den samme gamle feilraten.
Så: standardiser faktaene dine, fordi økosystemet standardiserer sammen med deg. Vær deretter kresen på atferden din, for ingen standardiserer kvalitet.
SKILLPROOF-PAKKE
Optimizer Pack samler våre testede skills for å holde agent-konteksten mager: token-budsjettering, kontekstkomprimering, prompt-cache-tuning og hygiene for instruksjonsfiler, verifisert på rene installasjoner før vi selger dem.
Få Optimizer Pack - $10FAQ
Leser Claude Code AGENTS.md?
Ikke nativt per midten av 2026. Claude Code ser etter CLAUDE.md. De vanlige løsningene er en symlink (ln -s AGENTS.md CLAUDE.md) eller en tynn CLAUDE.md som importerer den delte filen med @AGENTS.md. Begge fungerer; import-versjonen gir deg også et sted for Claude-only-instruksjoner.
Bør AGENTS.md erstatte min CLAUDE.md?
Erstatt innholdet, behold filen. Flytt alt verktøyuavhengig inn i AGENTS.md, og krymp deretter CLAUDE.md til en import pluss Claude-spesifikke linjer om skills, hooks og tillatelser. Å slette CLAUDE.md helt gir bare mening med symlink-tilnærmingen, der de to bokstavelig talt er de samme bytene.
Kan jeg legge skill-lignende instruksjoner i AGENTS.md i stedet for å installere skills?
Det kan du, og for et enkelt lite repo går det fint. Kostnadene viser seg i skala: instruksjonene lastes inn i hver økt uansett om de er relevante, og de følger ikke med deg til andre prosjekter. Andre agenter som leser filen, får også atferdsveiledning skrevet for Claude. Atferd du ville gjenbrukt på tvers av repoer, hører hjemme i en skill.
Hvor lang bør en AGENTS.md være?
Kort nok til at hver linje rettferdiggjør kontekstkostnaden sin. De fleste gode vi har gjennomgått, er 30 til 80 linjer. Hvis din er flere hundre, bærer den sannsynligvis atferdsinnhold som hører hjemme i skills, eller referansemateriale som burde vært et lenket dokument agenten leser ved behov.
Fungerer AGENTS.md-filer i undermapper?
Ja, konvensjonen støtter nøsting: filen nærmest koden som redigeres, vinner for det området. Monorepoer bruker dette til å gi pakker sine egne bygge- og testkommandoer. Behold rotfilen for repo-brede fakta og skyv pakkespesifikke ting nedover. Claude Code bruker samme nærmeste-fil-logikk for CLAUDE.md, så wrapper-mønsteret nøster seg pent også.
★ 9.6/10 × 3
Den gratis startpakken
De 3 skillsene med våre høyeste testscorer pluss installasjonssjekklisten — oppsettet vi selv ville lagt på en fersk maskin. Gratis, på e-post.