Skip to content

Free · Public · No per-visitor AI

A coding agent is a model plus a harness

The model is the smaller variable. What you own — CLAUDE.md, AGENTS.md, skills, hooks, MCP, permissions — is where weekly releases silently break you. Claude Code has the richest unique harness; Codex, Copilot, Cursor, Factory, and Grok Build share AGENTS.md. Gemini CLI still defaults to GEMINI.md. This page briefs stated contract changes and gives you files to paste. Nothing auto-applies.

Config that moved

Stated contract changes across the judged radar — config you own, not a vendor leaderboard. Mentions without a change are omitted. How a harness is layered

permission rules2 changes · latest Sep 3, 2026 · Claude Code v2.1.260

Claude Code · OpenCode

hooks1 change · latest Sep 3, 2026 · Claude Code v2.1.260

Claude Code

MCP server config1 change · latest Aug 27, 2026 · Goose v1.48.0

Goose

agent context files1 change · latest Sep 3, 2026 · Claude Code v2.1.260

Claude Code

context and compaction settings1 change · latest Sep 3, 2026 · Claude Code v2.1.260

Claude Code

background and headless runs1 change · latest Sep 9, 2026 · Google Antigravity 1.1.28

Google Antigravity

skills and plugins1 change · latest Sep 3, 2026 · OpenAI Codex CLI rust-v0.153.0

OpenAI Codex CLI

sandbox settings1 change · latest Sep 3, 2026 · Claude Code v2.1.260

Claude Code

What goes where

Mixing these up — enforcement in a context file, procedures bloating every session — is why agents feel inconsistent. Standing facts in context, procedures in skills, enforcement in hooks, isolation in subagents.

Standing facts

AGENTS.md · CLAUDE.md · GEMINI.md

What the agent needs before it starts. Claude Code reads CLAUDE.md; most others read AGENTS.md.

Tool dialect

Thin pointer, not a second constitution

Import or point at the shared file, then add only what that tool uniquely understands.

Procedures

Skills (SKILL.md) — richest on Claude Code

How to do a kind of task. Loaded on demand so the constitution stays short.

Enforcement

Hooks — Claude Code settings.json

A command the model cannot skip: block a tool, fail a secret, run tests.

Isolation

Subagents · Copilot .github/agents

A separate context and role. Exploration and editing do not share a window.

Wiring

MCP, permissions, settings

What the agent may call, and with which credentials. Not prose in AGENTS.md.

Who reads what

Not a comparison. A lookup. Native AGENTS.md support is listed only where vendors agree; Windsurf and Cline keep their own files rather than a guessed standard.

Own context file

These tools load a file that is not AGENTS.md by default. Claude Code needs the @AGENTS.md import. Gemini CLI needs context.fileName to load AGENTS.md. Windsurf and Cline keep their own files.

ToolContext fileAGENTS.mdUnique config
Amazon Q Developer.amazonq/Own context file.amazonq/
Claude CodeCLAUDE.mdImports AGENTS.md from CLAUDE.md.claude/settings.json · .claude/skills/ · .claude/hooks/ · .claude/agents/ · .claude/commands/
Cline.clinerulesOwn context file.cline/
Continue.continue/Own context file.continue/
Gemini CLI / AntigravityGEMINI.mdAGENTS.md support varies.gemini/ · .antigravity/
Kiro.kiro/Own context file.kiro/
OpenHands.openhands/Own context file.openhands/
Tabnine.tabnine/Own context file.tabnine/
Windsurf.windsurf/rules/ · .windsurfrulesAGENTS.md support varies.windsurf/

Reads AGENTS.md

One shared constitution. Keep tool-specific globs and MCP in that tool's settings, not a second copy of the rules.

ToolContext fileAGENTS.mdUnique config
AiderAGENTS.md · CONVENTIONS.mdReads AGENTS.md.aider.conf.yml
AmpAGENTS.mdReads AGENTS.md
AugmentAGENTS.mdReads AGENTS.md
CodexAGENTS.mdReads AGENTS.md.codex/config.toml · AGENTS.override.md
CursorAGENTS.md · .cursor/rules/*.mdcReads AGENTS.md.cursor/rules/*.mdc · .cursor/mcp.json
DevinAGENTS.mdReads AGENTS.md
Factory DroidAGENTS.mdReads AGENTS.md.factory/
GitHub CopilotAGENTS.md · .github/copilot-instructions.mdReads AGENTS.md.github/copilot-instructions.md · .github/agents/
GooseAGENTS.mdReads AGENTS.md.goose/
Grok BuildAGENTS.mdReads AGENTS.md.grok/
OpenCodeAGENTS.mdReads AGENTS.md.opencode/
Roo CodeAGENTS.mdReads AGENTS.md.roo/
ZedAGENTS.mdReads AGENTS.md

What a local scan reports

Releases tell you a contract moved. A scan of your files tells you the shape of the harness those contracts land in. Counts and presence only — never a verdict that anything is broken, never a failed build.

  • Line counts for AGENTS.md, CLAUDE.md, GEMINI.md, and the other context files. Over 400 lines is noted because standing context that long often stops being followed.
  • Whether CLAUDE.md contains @AGENTS.md. Claude Code does not read AGENTS.md natively.
  • Whether .claude/settings.local.json sits beside the project settings file — local overrides project.
  • How many skill roots and MCP config files exist. Hosts share the SKILL.md / MCP shapes, not the discovery paths.

Your agent can collect those facts and call summarize_harness_hygiene on the MCP server. The server cannot see your disk.

Paste-ready starter

Three files, not one per vendor. AGENTS.md for the tools that read it. CLAUDE.md for Claude Code (skills, hooks, agents). GEMINI.md for Gemini CLI / Antigravity. Cursor already reads AGENTS.md — do not add a parallel rulebook. Edit the placeholders.

AGENTS.md

Shared constitution — Codex, Cursor, Copilot, Factory, Grok Build, Roo, Goose, and others

Agent instructions

This file is the shared constitution for coding agents that read AGENTS.md (Codex, Cursor, Copilot, Factory Droid, Grok Build, Gemini CLI, Roo Code, Goose, OpenCode, Amp, Zed, Aider).

Claude Code does not read this file natively. Pair it with CLAUDE.md that starts with @AGENTS.md. Gemini CLI / Antigravity default to GEMINI.md and only load this file if settings set context.fileName.

Windsurf (.windsurf/rules) and Cline (.clinerules) have their own context files — do not assume they load this one.

What this project is

One short paragraph. Not a README. What an agent needs before it starts a task.

Commands the agent cannot guess

  • Install:
  • Test:
  • Lint:

Boundaries

  • Small, reviewable diffs. Do not invent APIs, flags, or files that are not here.
  • Nothing auto-applies. Propose, then wait for a human.
  • Prefer an executable check over another paragraph of rules.

Where other harness pieces live

QuestionPut it in
Standing facts every agent needsthis file
How to do a kind of taska skill (SKILL.md folder), loaded on demand
A rule the model must not skipa hook (Claude Code: .claude/settings.json)
A separate role with its own contexta subagent (Claude Code: .claude/agents/; Copilot: .github/agents/)
Tool-specific wiring (MCP, permissions)that tool's settings, not this file

Do not copy this file into CLAUDE.md, GEMINI.md, .cursor/rules, or Copilot instructions. Those stay thin: import or point here, then add only what that tool uniquely understands.

CLAUDE.md

What Claude Code actually reads — imports AGENTS.md, then skills, hooks, agents

Claude Code

@AGENTS.md

Claude Code reads this file, not AGENTS.md. Shared project facts stay in AGENTS.md. This file is the Claude-only harness.

Claude-only surfaces

  • Skills: .claude/skills/<name>/SKILL.md — procedures, loaded on demand
  • Hooks: .claude/settings.json and .claude/hooks/ — enforcement the model cannot skip
  • Permissions: .claude/settings.json
  • Subagents: .claude/agents/
  • Slash commands: .claude/commands/
  • MCP servers: .mcp.json or mcpServers in settings

Do not paste AGENTS.md into this file. The @AGENTS.md line is the bridge. Add only Claude-specific wiring below.

GEMINI.md

Thin Gemini CLI / Antigravity dialect — points at AGENTS.md

Gemini CLI / Antigravity

Default context file for Gemini CLI / Antigravity. Do not duplicate AGENTS.md here.

To also load AGENTS.md, set context.fileName in Gemini settings. Tool-only notes (MCP, memory, flags) go below this line, if any.

Record the versions you run on My stack and My week becomes a catch-up list. Agents can ask the same question over MCP with get_harness_activity.