A Claude Code plugin that exercises the skills AI assistance erodes fastest.
Four opt-in slash commands. Nothing runs on its own, nothing watches you, and nothing is sent anywhere. The name is a joke; the evidence is not, and every citation in it is machine-verified in CI.
In a randomised trial of ~1,000 students, one group used a standard chat assistant and another used one built to withhold answers (Bastani et al., PNAS 2025):
| With AI available | After AI removed | |
|---|---|---|
| Standard assistant | +48% | -17% vs never having had AI |
| Guardrailed tutor | +127% | harm largely eliminated |
The guardrailed arm did better on both. That is the finding this plugin is built on: withholding the answer is not a tax on productivity, it is what makes the assistance stick.
The developer-specific version (Shen & Tamkin 2026, n=52) found AI-assisted developers scored 17% lower on a concept quiz, with the gap largest on debugging. The developers who asked only conceptual questions and never requested code scored in the top band and finished second fastest of any group.
/plugin marketplace add 312-dev/anti-brain-rot
/plugin install anti-brain-rot@anti-brain-rot
Requires Python 3.9+ for the logging script. No other dependencies, no network access, no telemetry.
Two hooks register automatically with the plugin, which is what makes it ambient rather than
something you invoke. See hooks/README.md for what
they do and how to pause them.
Nothing to remember. The plugin changes how Claude explains, and occasionally folds one practice beat into a reply you were getting anyway.
Always on, and close to free. Claude explains why an approach is right rather than only what it does, and names what would break it. The group in the developer study that worked this way scored in the top band and finished second fastest, so this is not a speed tax.
Claude never withholds anything about correctness to make a teaching point. Every technique here is sequencing, not subtraction: asking what you expect before revealing an answer, then giving the full answer. See DESIGN.md.
Occasionally, one beat. At most once per 90 minutes and four times a day, Claude asks what you expect before revealing an answer, asks one recall question, or explains a mechanism in more depth. Which one depends on your logged calibration, and it never announces itself.
When you review an agent's work. Before showing you a diff you did not write, Claude asks where you would expect it to be subtly wrong. This is where verification measurably stops happening: reviewers rate AI-authored PRs neutrally-to-positively despite worse objective metrics (MSR 2026), and eye-tracking shows AI-generated code draws less visual attention.
Never during autonomous runs. No human, no beat. An agent asked to predict something answers itself and logs it as though you had, which corrupts the only data the tool depends on. Autonomous runs are counted instead, as the denominator of your practice ratio.
Silent when it should be. Nothing fires during a suspected incident, on a short follow-up, outside a repo with real changes in flight, or while paused. Say "stop asking me things" and Claude pauses it for you.
The full rationale, including what this refuses to become, is in DESIGN.md.
State what you expect before Claude reveals a diff, a root cause, or an explanation. Claude scores it against reality and logs the result with the confidence you stated. This is the one that generates your calibration data, so it is the one to run first.
At the end of a session, Claude asks what changed and why without showing you the diff, then reveals what you missed. Repeated retrieval produced 80% one-week retention against 36% for repeated study, and students' own predictions of which method worked were inverted (Karpicke & Roediger, Science 2008).
A scoped block where Claude explains concepts, asks questions and points at files, but does not write code or hand over the answer. Errors are allowed to happen, because in the developer study the unassisted group hit three times as many errors and the paper attributes the learning to them.
Reports your accumulated accuracy, your stated-confidence gap, and how long since your last unplugged block. Advice depends on the direction of your error, which matters more than it sounds: people who overestimate themselves under-rely on AI and do worse, and a warning tuned for overconfident users measurably degraded underconfident ones (He et al., CHI 2023). There is no advice that is safe to give everyone, so this reports your data and nothing else.
- No generated exercises or quizzes about nothing. Far transfer from synthetic cognitive training is zero once placebo and publication bias are controlled (Sala & Gobet 2019; Owen et al., Nature 2010). Everything runs against your real repository.
- No nagging, no streaks, no score to protect. A number you want to keep up is a number you will game.
- No "use AI less" framing. The evidence says restriction is the wrong lever and scaffolding is the right one.
- No announcing itself. Claude is instructed never to mention the instruction it received or flag that a practice moment is happening. A beat that draws attention to itself is nagging with extra steps.
- No interrupting an incident. The nudge hook suppresses itself on any prompt mentioning an outage, a page, a rollback, urgency, or customer impact, and one skipped beat costs nothing against a budget of four a day.
One JSON Lines file at ~/.claude/anti-brain-rot/log.jsonl, or wherever
$ANTI_BRAIN_ROT_LOG points. Append-only, local, plain text. Read it, edit it, delete it.
python3 plugins/anti-brain-rot/scripts/abr_log.py summary --days 9043 citations in research/sources.json, each carrying a status
(peer-reviewed, preprint, industry-survey, author-correction) and the specific claim
it supports. CI resolves every DOI through doi.org content negotiation and every arXiv ID
through the arXiv API, then compares the returned title against the expected one, because a
URL can return 200 and still be a different paper.
python3 tools/validate_sources.py # exits 1 on any mismatch
python3 tools/test_abr_log.pyThis check exists because of a real error. An early draft quoted METR's "19% slower while believing 20% faster" as a live finding after its authors had publicly revised it. That correction is recorded in EVIDENCE.md rather than quietly edited out, along with the counter-evidence that cuts against this plugin's own premise.
MIT. See LICENSE.