
What AGENTS.md is, why teams end up maintaining five near-identical agent files, and how to convert between AGENTS.md, CLAUDE.md, Cursor rules, Copilot and Windsurf without hand-copying.
If you use more than one AI coding agent on the same project, you've probably noticed the file sprawl: an AGENTS.md, a CLAUDE.md, a .cursor/rules/ directory, a .github/copilot-instructions.md, maybe a .windsurf/rules/. They all say roughly the same thing — how to build the project, what conventions to follow — and they all drift apart the moment you change one and forget the others.
This post explains what AGENTS.md is, why it exists, and how to keep the whole set in sync without hand-copying between formats.
AGENTS.md is a plain-Markdown file at your repository root that tells an AI coding agent what it needs to know about your project. There are no required fields and no special schema — just Markdown headings you'd recognise from any README:
# Project overview
A Next.js + TypeScript application.
## Setup / install
npm install
## Build, test, and lint
Build: npm run build
Test: npm test
Lint: npm run lint
## Code style and conventions
- TypeScript strict mode — avoid `any` without good reason.
- Prefer server components; add "use client" only where needed.
What makes it more than a convention is adoption. In December 2025, AGENTS.md was donated to the Linux Foundation's Agentic AI Foundation as an open standard, and it's now read natively by Claude Code, Codex, Cursor, Copilot, Gemini CLI, Windsurf, Zed, Aider and roughly thirty other agents. For most tools, a single good AGENTS.md is all you need.
If everything read AGENTS.md, this would be a non-problem. Two things keep the sprawl alive:
CLAUDE.md; Cursor has its .cursor/rules/ directory; older setups still carry a .cursorrules or .windsurfrules.So teams copy the same content into each file, and then the copies rot. A build command changes in AGENTS.md and nobody updates CLAUDE.md. A new convention lands in the Cursor rules and never makes it to Copilot. The files that were meant to keep your agents consistent quietly make them inconsistent.
The most common mistake is pasting your whole AGENTS.md into CLAUDE.md. Don't. Claude Code supports importing another file with an @-reference on the first line, so the recommended CLAUDE.md is a one-line bridge plus only what's genuinely Claude-specific:
@AGENTS.md
## Claude-specific overrides
- Prefer running the test suite with the focused `-t` flag during iteration.
Now the shared instructions live in exactly one place. CLAUDE.md inherits them through the @AGENTS.md import and adds nothing it doesn't need to.
This is the conversion people search for most — "cursor rules to agents.md" — and it's the one with a real subtlety. A Cursor rule is an .mdc file with YAML frontmatter:
---
description: Testing conventions
globs: **/*.test.ts, **/*.spec.ts
alwaysApply: false
---
Use Vitest. Co-locate tests with the code they cover.
Converting the body to AGENTS.md is trivial — it's already Markdown. The catch is the globs line. That rule only applies to test files, but AGENTS.md is flat: it applies to the whole project and has no way to express "only for **/*.test.ts".
A good conversion therefore keeps the information visible. Instead of throwing the glob away, it appends the scoped rule under a labelled section and notes where it came from:
## Scoped rules (originally Cursor-only)
### testing-conventions — Testing conventions
> Originally scoped to: **/*.test.ts, **/*.spec.ts
Use Vitest. Co-locate tests with the code they cover.
You keep the content, you can see exactly what was scoped, and you decide what to do about it — rather than a converter quietly pretending the scope survived.
If you're still carrying a single-file .cursorrules or .windsurfrules, those formats are deprecated. Cursor moved to a .cursor/rules/ directory of .mdc files; Windsurf moved to .windsurf/rules/. The right migration is one-way: read the old single file to recover its content, then emit the current directory-based format. There's no reason to generate a new .cursorrules in 2026.
All of the above is mechanical, which means you shouldn't be doing it by hand. Skojio's AGENTS.md Generator & Converter treats AGENTS.md as the single source of truth and derives the rest from it:
AGENTS.md so you're editing, not staring at a blank file..mdc rules (with real frontmatter and multi-block scoping), Copilot and Windsurf equivalents as you type..cursorrules and .windsurfrules — and convert to the others..zip laid out at the correct paths for a drop-in.It runs entirely in your browser — nothing you paste or upload is sent anywhere, which matters when the file you're editing describes your private repository. If you work with JSON alongside your agent config, the same in-browser, privacy-first approach powers Skojio's JSON Formatter & Validator and JSON to TypeScript Converter.
<KeyTakeaways> - AGENTS.md is an open standard (Linux Foundation, Dec 2025) read natively by ~30 AI coding agents — for most tools, one good AGENTS.md is enough. - The sprawl persists because a few agents keep their own file (CLAUDE.md, Cursor rules) and Cursor adds per-file glob scoping the flat formats can't express. - Write CLAUDE.md as a one-line `@AGENTS.md` bridge plus overrides — never a duplicate that drifts. - Converting scoped Cursor rules to a flat format loses the scoping; a good converter records the original glob verbatim instead of dropping it silently. - `.cursorrules` and `.windsurfrules` are deprecated — read them to migrate, but emit the current `.cursor/rules/` and `.windsurf/rules/` directory formats. </KeyTakeaways>
cursorCursor Automations in 2026: wire event-triggered coding agents to Slack, CI, and...
aiThe specs exist. The AI just can't see them. I've always been the type who builds hobby...
amazonbedrockConnect Claude Code, Cursor and Codex to Amazon Bedrock's new console (2026) Summary. On 5...
aiThere is a weird uncanny valley with LLM-generated UI right now. The code functions perfectly, but if...
aiI went down a rabbit hole this morning reading the late-2025 Juejin AI roundups side by side, and the...
mcpInstall guide and config at curatedmcp.com Zendesk MCP: Let Claude Handle Your Support...
Workflows from the Neura Market marketplace related to this Cursor resource