Skip to main content
The Agent Context System works with every major AI coding tool by meeting each agent where it expects its instructions. AGENTS.md is the single source of truth. Each tool reads it through its own config file — a symlink, a directive, or natively — so you write your project context once and every agent picks it up.

Compatibility table

AgentConfig fileHow it reads AGENTS.md
Claude CodeCLAUDE.mdSymlink → AGENTS.md, created by agent-context init
Cursor.cursorrulesDirective: Read AGENTS.md before starting
Windsurf.windsurfrulesDirective: Read AGENTS.md before starting
GitHub Copilot.github/copilot-instructions.mdDirective: Read AGENTS.md before starting
OpenClawNativeReads AGENTS.md directly, no config file needed

Agent details

Claude Code reads its instructions from CLAUDE.md. Because Claude Code does not read AGENTS.md directly, agent-context init creates a CLAUDE.md symlink that points to AGENTS.md. From Claude Code’s perspective, it is reading CLAUDE.md — the content is identical to your AGENTS.md.Session logging: Claude Code shipped auto memory in late 2025. It writes session notes to ~/.claude/projects/<project>/memory/ and loads them automatically at session start. This covers the same job as .agents.local.md for Claude Code users specifically.If you use Claude Code exclusively, auto memory handles session-to-session learning and the scratchpad is optional. The template still adds value through AGENTS.md itself and the promotion pathway — a structured way to take what the agent learns and move stable patterns into your committed context file.If your team uses multiple agents alongside Claude Code, the scratchpad matters because auto memory only works inside Claude Code. .agents.local.md works everywhere.Special considerations:
  • If a CLAUDE.md file already exists as a plain file (not a symlink), init skips the symlink step and warns you. Reconcile the two files manually.
  • The template’s Rule 1 explicitly applies to subagents: “This applies whether you are the main agent or a subagent.”
Cursor reads .cursorrules at session start and applies it as project-level instructions. agent-context init adds a single directive to .cursorrules:
Read AGENTS.md before starting
This tells Cursor to load AGENTS.md as part of its context before it responds.Session logging: Cursor does not have a session-end hook. Session logging depends on Rule 7 in AGENTS.md being read and acted on. The most reliable approach is to explicitly tell Cursor to log the session when you are finished: “Log this session to .agents/logs/YYYY-MM-DD.md.”The agent will propose the log entry and wait for your approval before writing.
Windsurf reads .windsurfrules the same way Cursor reads .cursorrules. agent-context init adds the directive to .windsurfrules.Session logging: Same as Cursor — no automatic session-end hook. Prompt Windsurf to log the session when you finish.
GitHub Copilot reads .github/copilot-instructions.md as its project-level instructions file. agent-context init adds the AGENTS.md directive there.Installation via skill registry:
npx skills add AndreaGriffiths11/agent-context-system
bash .agents/skills/agent-context-system/scripts/init-agent-context.sh
This method installs the system as a Copilot skill and runs the init script automatically.Session logging: Copilot Chat does not have a session-end hook. Prompt it to log the session explicitly. Copilot CLI’s /fleet command has experimental subagent support — see the subagents section below.Special considerations: Copilot Memory learns about you as a developer (preferences, style). Agent-context handles what every agent needs to know about your project. The two systems are complementary.
OpenClaw reads AGENTS.md natively as part of its workspace skill system. No config file or directive is required.Installation:
git clone https://github.com/AndreaGriffiths11/agent-context-system.git skills/agent-context-system
Restart your OpenClaw session. It picks up AGENTS.md automatically.You can also install via ClawHub:
clawhub install agent-context
Session logging: OpenClaw supports the session-end logging workflow through the instruction in Rule 7 of the template.When you might not need agent-context: If OpenClaw is your only coding agent, the system adds less value because OpenClaw reads AGENTS.md natively anyway. Where it becomes useful is when your team uses OpenClaw alongside other agents — AGENTS.md becomes the shared project context that works across every tool, not just OpenClaw.

Subagents

Claude Code subagents

Claude Code can spawn subagents that run tasks in parallel. Each subagent starts with a clean context window — it does not inherit the main conversation’s history. The only shared knowledge across all subagents is your root instruction file. When you go from one agent to five parallel agents, AGENTS.md goes from “helpful project context” to the only thing preventing five agents from independently making conflicting decisions about your codebase. This is why the template’s Rule 1 explicitly tells subagents to read .agents.local.md too:
“Read this file and .agents/local.md (if it exists) before starting any task. This applies whether you are the main agent or a subagent.
Subagents will not read the scratchpad unless they are explicitly instructed to. Without that instruction, each one starts from scratch. Keeping AGENTS.md under 120 lines matters even more in a subagent context. If your context file is 500 lines, you pay that token cost for every subagent spawned.

Copilot CLI /fleet

GitHub Copilot CLI’s /fleet command dispatches parallel agents with dependency-aware task execution. Support with the Agent Context System is experimental. The same principle applies: each fleet agent starts fresh, so AGENTS.md is the shared brain.
The subagent context isolation problem is the strongest reason to maintain a lean, dense AGENTS.md. Verbose context that works fine with a single agent becomes expensive and potentially unreliable when multiplied across a fleet.