Skip to content

Course · Copilot · Rules (custom instructions)

The bridge - AGENTS.md and CLAUDE.md

The best news, if you are arriving from another agent: if you have worked with Claude Code, Codex, or Gemini, you may already have a convention file for your repo: an AGENTS.md, a CLAUDE.md, a GEMINI.md. You spent real effort getting it right: the conventions, the don’ts, the architecture notes an agent needs to not embarrass you in review. The natural assumption arriving at Copilot is that you start over with the .github/copilot-instructions.md file from the previous lesson and re-encode all of it in a tool-specific file.

You often do not have to. Supported Copilot surfaces can read those files natively, but support and discovery differ by surface and version: the same AGENTS.md, CLAUDE.md, or GEMINI.md may transfer without rewriting where the current support matrix lists it, and not elsewhere. GitHub’s customization support matrix is the page to check, as of September 2026. Verify before making it the only source of a required rule.

Reading these formats is gated by a setting per format where the IDE supports them (setting names per VS Code’s custom instructions documentation, as of September 2026):

  • AGENTS.md - enabled by chat.useAgentsMdFile. Copilot reads the AGENTS.md at your repo root and treats it as instructions, the same way it treats the repo-wide instructions file.
  • CLAUDE.md - enabled by chat.useClaudeMdFile. Copilot looks in documented locations: the repository root, .claude/CLAUDE.md in the workspace, and ~/.claude/CLAUDE.md for your personal instructions.
  • GEMINI.md - the current VS Code instructions documentation does not cover it, and GitHub’s support matrix lists GEMINI.md for the cloud agent rather than the IDEs; check the matrix before relying on it in an editor.

So the file you wrote for another agent may not need to move or change. Enable the relevant setting where required, then confirm what was actually discovered - the chat’s Chat Instructions menu lists the instruction files in effect - before assuming the conventions apply to every request.

If you are not arriving with an existing file, you are picking a format rather than rescuing work:

  • If your team wants a tool-agnostic convention file - one AGENTS.md every agent on the team reads - that is the most portable choice, and the cross-tool AGENTS.md standard exists precisely for it.
  • If you have already invested in CLAUDE.md from another tool, keep it; Copilot can read it.
  • If you only ever use Copilot in this repo, .github/copilot-instructions.md is the most broadly supported repository-wide choice per the support matrix.

These are not mutually exclusive in spirit, but resist scattering the same conventions across three files. Pick the one your team will actually maintain and keep it the single source of truth.

The deep point is not the copy-paste you saved. It is that context is repo-shaped, not tool-shaped. Your team’s conventions describe how your code should be written; they should not need re-authoring every time you adopt a new agent. Agents that read a shared convention file let you write context down once and carry it across tools - write the gap once, close it everywhere.

The Claude Code course and Codex course walk through authoring this kind of file from the other side, and what you write there can land here for free.

Next, the inverse problem: one repo, two zones with different conventions. Path-specific rules with applyTo.