Claude Code · GitHub Copilot · Cursor · Codex · any MCP client
Know the code your agent wrote.
Atomic Reps Agent asks you one question about the code your coding agent just wrote, in the same session, seconds after it finishes.
filter panel close animation is janky on staging, hangs then snaps. fix
⏺ Read(src/components/FilterPanel.css)
⎿ Read 61 lines
⏺ Grep(pattern: "max-height", path: src/components)
⎿ 2 matches
⏺ Update(src/components/FilterPanel.css)
⎿ Updated 1 file, +11 -6
⏺ Bash(pnpm test src/components/__tests__/filter-panel.test.ts)
⎿ 4 passed
⏺ Fixed it in src/components/FilterPanel.css. Want me to check the other panels for the same rule?
Atomic Reps · CSSREP 01
A panel holds 4000px of content and closes with the rule below. What does the box you can see do during the 300ms?
.panel { max-height: 9999px; transition: max-height 300ms linear; }
.panel.is-closed { max-height: 0; }The question comes from what your agent just changed.
Agents write code faster than you can build a mental model of it. Atomic Reps maps what your agent touched to one skill, then serves a question written in advance from that pool while you still remember the change.
⏺ Update(Dockerfile)
⎿ Updated Dockerfile with 6 additions and 5 removals
-FROM oven/bun:1.2-debian
+FROM oven/bun:1.4.2-slim
WORKDIR /app
+ENV PATH="/app/node_modules/.bin:$PATH"
-COPY . .
+COPY package.json bun.lock ./
-RUN bun install
+RUN bun install --frozen-lockfile --production
+COPY . .
-RUN apt-get update && apt-get install -y curl
EXPOSE 3000
-CMD ["bun", "src/index.ts"]
+CMD ["bun", "run", "src/index.ts"]
matched Docker · Dockerfile Best Practices
Atomic Reps · Docker · Dockerfile Best PracticesREP 01
You moved COPY package.json above COPY . . Which change to the repo now still makes npm install run again?
Pick a task your agent just finished.
Each tab shows the words your agent sends when it finishes and the question it gets back, printed the way your terminal prints it. Answer with a letter.
⏺ Moved the orders list from useEffect to useQuery in src/orders/OrdersList.tsx.
⏺ atomicreps - rep (MCP)(touched: ["@tanstack/react-query", "useQuery"])
Atomic Reps · State Management · TanStack Query / SWR · Level 4
What tradeoff does increasing staleTime introduce?
From memory. Reply with a letter.
Written in advance. Not generated when you ask.
The question is not written in the moment your agent finishes. It was written before it was ever served, and fixed rules match it to the change. No model picks it and no model grades you. Report one that is wrong and it gets fixed. Answering from memory before you see the explanation helps you remember it later, and a question you miss is asked again until you get it right.
Atomic Reps does not use language models to process your answers. Inside a coding agent, that agent's own model reads your answer before it reaches us.
Read the research behind this- Never asked01/03
- How many values does justify-content accept?
- Asked
- A panel holds 4000px of content and closes with max-height going from 9999px to 0 over 300ms. What does the box you can see do?
- Never asked02/03
- What does Promise.all return?
- Asked
- Five requests run in one Promise.all. The second rejects after 10ms and the rest resolve after 500ms. When does the await settle, and what happened to the other four?
- Never asked03/03
- What is the useEffect dependency array for?
- Asked
- An effect subscribes on mount, and its dependency array holds an object built during render. How many live subscriptions exist after three renders?
Change any setting by asking your agent.
It happens in the session you already have open.
light
⏺ settings({ intensity: "light" })
⎿ Intensity light.
me now prints
Intensity light · 60 min apart
Three a day at most, and never two inside an hour.
Every reply here is the one the server sends.
What a question costs.
One question for your agent, two ways to get it.
Generate it from scratch: research it, write it, source it, and check it.
Or fetch one of 140,000+ Atomic Reps, already written, kept current, and ready to use.
ATOMIC REPS · 15 tokens sent, 171 read. Half a second.
GENERATED BY AGENT · 996,244 tokens read and written, 839,194 of them its own transcript re-read from cache. 2 minutes to a draft; human review still to come.
Both measured, Sep 2026, for one question: the generation as one run of a Claude Opus 5 agent at medium effort, the fetch on our server.
Model cost per question
| Model | Generated by agent | Atomic Reps |
|---|---|---|
| Grok 4.6 | $0.52 | $0.0004 |
| Gemini 3.1 Pro | $0.57 | $0.0005 |
| GPT-5.3 Codex | $0.53 | $0.0005 |
| Claude Opus 5 | $1.38 | $0.0012 |
| GPT-6 Astra | $2.75 | $0.0025 |
| At Sep 2026 list prices. The generated column is the measured run priced at each model's own rates, cached re-reads at a tenth of the input rate, and leaves out the human review that follows. Atomic Reps fetches the same size whichever model you run. | ||
Before the agent drafts one, Atomic Reps serves 240.
- The server serving each question ATOMIC REPS
- An agent drafting each question, one measured run GENERATED BY AGENT
07 · Retrieval practice, measured
AI can give you the answer.Understanding it is still your work.
- +21pp
A week later, people who tested themselves recalled 61%. Rereaders recalled 40%.
Roediger & Karpicke 2006 · prose recall
- -15pp
Comprehension fell from about 65% to 50% when the model drove the coding.
Anthropic RCT 2026 · N=52 · coding comprehension · preprint
- -5.4pp
Unassisted exam, 32.1 to 26.7 of 100, with plain ChatGPT in practice. A version that withheld the answer largely mitigated the loss.
Bastani et al. 2025 · PNAS · N≈1,000 · high-school math
None of these studies tested Atomic Reps. Read every study and its caveats
Connect the coding agent you already use.
claude mcp add --scope user atomicreps -- npx -y atomicreps mcpUser scope, so it is there in every repo you open.
- Run it once. It writes one server entry and nothing else.
- Open Claude Code in the repo you are working in.
- Finish a task. One question about what just changed arrives in that session.
code --add-mcp '{"name":"atomicreps","type":"stdio","command":"npx","args":["-y","atomicreps","mcp"]}'Or skip the terminal:Add to VS Code →
The first time Copilot calls a tool it asks; pick Always and it never asks again.
{
"servers": {
"atomicreps": {
"type": "stdio",
"command": "npx",
"args": ["-y", "atomicreps", "mcp"]
}
}
}Commit it and every clone of the repo has it.
copilot mcp add atomicreps -- npx -y atomicreps mcp- Run it once. It writes one server entry and nothing else.
- Open Copilot in the repo you are working in.
- Finish a task. One question about what just changed arrives in that session.
{
"servers": {
"atomicreps": {
"type": "stdio",
"command": "npx",
"args": ["-y", "atomicreps", "mcp"]
}
}
}Copilot in JetBrains, Visual Studio, Xcode and Eclipse reads the same entry VS Code does.
- Paste it into the file. One server entry and nothing else.
- Open your editor in the repo you are working in.
- Finish a task. One question about what just changed arrives in that session.
{
"mcpServers": {
"atomicreps": {
"command": "npx",
"args": ["-y", "atomicreps", "mcp"]
}
}
}Or skip the file:Add to Cursor →
- Paste it into the file. One server entry and nothing else.
- Open Cursor in the repo you are working in.
- Finish a task. One question about what just changed arrives in that session.
codex mcp add atomicreps -- npx -y atomicreps mcp- Run it once. It writes one server entry and nothing else.
- Open Codex in the repo you are working in.
- Finish a task. One question about what just changed arrives in that session.
POST https://atomicreps.com/mcp
Authorization: Bearer <your token>The token is minted on your account page and shown once. Revoke it there and the connection closes the same second.
- Paste it into the file. One server entry and nothing else.
- Open your client in the repo you are working in.
- Finish a task. One question about what just changed arrives in that session.
One server. npx atomicreps connect configures the client you choose.
Work in VS Code? The extension asks about the code you just committed, without leaving the editor.
Try it in five minutes on a repo that is broken on purpose.
broken-by-design is a small support-desk app with twelve planted bugs. Start it with Docker, connect your agent, and ask it to fix whatever you notice first. When the fix is done, you answer a question about the code it changed.
Open the repo on GitHub (opens in a new tab)
AtomicRepsRun it in the repo you have open
The next time your agent finishes a task, answer one question about what changed.
npx atomicreps connect