You put project rules in copilot-instructions.md, and Copilot reads them before your first prompt. The file gives the agent a map of the repository. It also adds the same instructions to every session, including sessions for unrelated work. All 2,056 of them belong to the repository they sit in, which is why the listing pages carry a much smaller number than this page does.
What Copilot reads before you type
GitHub Copilot reads this file in full at the start of each session. The catalogue contains 2,056 such files, and all 2,056 load every session. Repository-wide architecture belongs here. A rare task does not.
Copilot reads its own instructions file. It does not automatically use a CLAUDE.md beside it. Keeping several versions aligned creates maintenance work, even when only one guides your session.
The context is everything the model can see while it answers you. A short file is in that context before your request, whatever the request turns out to be.
The 683-token starting bill
A token is the unit your AI plan bills by, about three quarters of a word. The median copilot-instructions.md costs 683 tokens every session. That is closer to a compact README section than a handbook.
One file in ten costs 2,712 tokens or more. Twenty sessions make the 683-token median 13,660 tokens in a day, before Copilot does any project work. The largest is APAS-VERUS, at 36,544 tokens across 4,453 lines.
What the safety scan catches
The scan grades 1,938 files A, 33 B, 85 C or D, and 0 E or F. An A means the scan found nothing it treats as risky. It does not mean the instructions suit your repository.
The scan found 63 files that make network calls, 60 with hidden instructions, and 24 that run shell commands. Another 13 ask for root, while 13 contain recursive force deletion.
Home Assistant is graded C for downloading and executing remote code and making network calls. llm_engineering has hidden instructions. Data API Builder reaches for credential files.
Every finding prints the line that produced it. It marks text to inspect, not the quality of the whole mod.
Six repositories with useful Copilot guidance
The original is the first copy of a file we saw; everything matching it afterwards is a copy. Each entry gives the text loaded every session, its line count, and copies where they exist.
- vscode copilot-instructions.md: Maps VS Code’s source folders, architecture, extensions, workbench, and tests. 2,494 tokens every session, 157 lines, original, no copies.
- deno copilot-instructions.md: Explains Deno’s structure, tools, important files, formatting, and linting. 3,077 tokens every session, 353 lines, original, no copies.
- deer-flow copilot-instructions.md: Guides setup, commands, backend, frontend, and Docker startup. 1,714 tokens every session, 214 lines, original, 4 copies.
- supabase copilot-instructions.md: Sets focused code-review rules for a large TypeScript and React monorepo. 1,422 tokens every session, 88 lines, original, no copies.
- electron copilot-instructions.md: Covers Electron’s build, tests, linting, debugging, and source tree. 1,176 tokens every session, 123 lines, original, no copies.
- ECC copilot-instructions.md: Gives Copilot workflow, testing, security, and commit guidance. 1,025 tokens every session, 116 lines, original, 2 copies.
When a rule, hook or skill fits better
This file cannot wait for a matching file or a particular event. Use a rule when guidance belongs only with one file type. A glob is a filename pattern, like *.tsx.
Use a hook when something must run instead of being explained. A hook is a shell command your agent runs for you when something happens.
Use a skill for guidance needed only sometimes. A skill is a folder of instructions the model opens when it decides it needs them. Such a skill stays out of the session until the model reaches for it, while this file loads every session.
Questions people ask
Can this file be much shorter? Yes. Playwright’s entry costs 121 tokens and still sets focused review guidance.
When should I use a skill instead? Move instructions there when they matter only occasionally. That is the shape to choose when the material should stay out of most sessions, which none of these 2,056 files can do.
Does an A grade mean I can trust the file? No, and 41 of these files have had a second look from a reviewer. Keep one only when its instructions fit your repository, even after the scan finds no risky text.
Do it now
Run npx agentmods cost to see your project’s session cost, then browse the instructions catalogue.