Thermonuclear Review Score 0/0
☢ AI Coding · Interactive Lesson

Can a "thermonuclear" review skill stop the AI slop?

A hands-on lesson in automated code review for AI agents. You will read the actual Cursor "thermonuclear code quality review" skill, watch it tear into a real codebase, and learn to judge what a review skill should (and shouldn't) do.

Built from the video by Matt Pocock 13:23 ~15 min lesson 8 quiz checkpoints
Watch the original video

💡 Dotted words are definitions

Any underlined term has a plain-English definition. Hover it on desktop, or tap it on mobile, to pop it open.

✅ Quizzes keep score

Each section ends with a multiple-choice check. Your running score sits in the top bar; a final tally waits at the end.

01 · The premise

Why automated code review matters

Matt Pocock opens with a blunt claim: automated code review is "one of the most impactful ways that you can improve the code quality coming out of your agent." 0:00

The logic is simple. When an AI agent writes code, the fastest way to raise its quality is to have a second agent review that code against a strict standard, before a human ever looks at it. Matt already keeps his own review skill in a public repo (109,000 stars at the time of filming), but he marks it "in progress" because he isn't happy with it. So he does what good engineers do: he goes hunting for other people's skills to steal ideas from.

Matt Pocock's skills repo on GitHub showing 109k stars and a directory of skill folders
0:22 · githubMatt's mattpocock/skills repo, "Skills for Real Engineers." His own review skill lives here, still marked in progress.

According to Matt, what makes automated code review so valuable for AI-generated code?

Right idea: review is a quality multiplier. A strict reviewer agent catches structural problems the writing agent introduced, raising the floor on everything it ships. It's not a replacement for tests (in fact, Matt's big critique later is that this skill ignores tests).
02 · The skill

Meet the "thermonuclear" skill

The skill that catches Matt's eye comes from the Cursor team. It's called thermo-nuclear-code-quality-review, and it's just one file: a single SKILL.md. Its description promises "an extremely strict maintainability review for abstraction quality, giant files, and spaghetti." 0:39

What Matt finds notable is how ambitious it tells the reviewer to be. Most review prompts are timid. This one explicitly tells the reviewer to hunt for "code judo" moves: restructurings that preserve behavior while making the code dramatically simpler.

The thermonuclear SKILL.md preview showing name, description, disable-model-invocation true, and the code judo intro paragraph
0:52 · skill.mdThe frontmatter sets disable-model-invocation: true. The body: "push the reviewer to be ambitious… Actively search for 'code judo' moves."

What is a "code judo" move, in this skill's vocabulary?

Exactly: "code judo" is the skill's name for a high-leverage move that uses the existing architecture to make a change feel inevitable in hindsight, deleting whole categories of complexity rather than polishing what's there.
03 · The test

Running it on a real codebase

Matt copies the skill to his machine and points it at Sandcastle, his open-source "software factory" (a TypeScript toolkit that orchestrates AI coding agents inside isolated sandboxes). His command is deliberately loose:

"thermonuclear code quality review, review the last five PRs that made it to main."Run on Claude Code, in auto mode, while he reads the skill aloud.
VS Code with the Sandcastle repo open and Claude Code running in the terminal in auto mode
1:20 · vs codeSandcastle: "a TypeScript toolkit that orchestrates AI coding agents inside isolated sandbox environments." Claude Code, auto mode on.

Why does running the review in "auto mode" matter for this experiment?

Right: in auto mode the agent runs the full review end-to-end without stopping for human approval at each step, so the output is a single, complete review he can score.
04 · The anatomy

Inside the skill: the rules that matter

While the agent works, Matt reads the skill top to bottom. This is the heart of the lesson: what actually makes a review skill good.

The baseline: be ambitious, look past the diff

The core prompt starts: "Perform a deep code quality audit of the current branch's changes… Rethink how to structure / implement the changes to meaningfully improve code quality without impacting behavior… Be ambitious… Measure twice, cut once." 2:25

Matt's key insight: most review skills fail because of diff bounds. Hand an agent a diff and it treats that diff as the walls of its world. This prompt breaks out of that, telling the reviewer to scan the whole codebase for opportunities, starting from the branch's changes.

The skill's Core Prompt baseline text and the header Non-Negotiable Additional Standards
2:25 · skill.mdThe baseline prompt, then rule 0: "Be ambitious about structural simplification."

The one rule everyone remembers: the 1,000-line wall

Rule 1: "Do not let a PR push a file from under 1k lines to over 1k lines without a very strong reason." Matt reached the same conclusion on his own. Big files hurt agents because to find one useful function, the agent must load the entire file into its context window. Splitting into smaller files lets the filename act as a pointer to what's inside, far more context-efficient. (His personal rubric is 5,000 tokens rather than 1,000 lines.)

Rule 2 is the anti-spaghetti rule: if a change adds weird if statements in random places, treat it as a design problem, not a stylistic nit. Push the logic into a proper abstraction, helper, state machine, or policy object instead.

The skill rules: do not let a PR push a file over 1k lines, and do not allow random spaghetti growth
2:48 · skill.mdRule 1 (the 1k-line wall) and Rule 2 (no random spaghetti growth).

Types, canonical helpers, and parallelism

More standards worth stealing:

  • Prefer direct, boring, maintainable code over hacky, magical code (an echo of Claude Code's simplify skill).
  • Push hard on type boundaries: question unnecessary optionality, unknown, any, or cast-heavy code. Matt's pet peeve: agents mark every new prop optional even when it's always required, just to shrink the blast radius.
  • Keep logic in the canonical layer and reuse existing helpers over bespoke one-offs.
  • Treat needless sequential orchestration as a design smell (run independent work in parallel), but don't over-index on micro-optimizations. Matt calls this rule's wording "word salad."

Then the Primary Review Questions for every change: "Is there a code judo move that would make this dramatically simpler? Can this be reframed so fewer concepts / branches / helper layers are needed?" Matt loves those. He dislikes "Does this improve or worsen the local architecture?", because "improve or worsen" means nothing to an agent unless you define what good and bad look like. 5:45

The skill's type-boundary rules, canonical-layer rule, sequential-orchestration rule, and Primary Review Questions
5:45 · skill.mdType and boundary cleanliness, canonical helpers, parallelism, and the Primary Review Questions.

Output rules: prioritize, don't flood

Finally the skill sets output expectations: report findings in a fixed priority order (structural regressions at the top, legibility at the bottom) and "do not flood the review with low-value nits." Then an explicit approval bar: do not approve just because behavior seems correct. Matt's worry: the whole thing is a "huge ball of mud", and it's genuinely hard for the agent to know what to prioritize inside so much repetitive text. 7:38

The skill's Output Expectations priority-ordered list and the Approval Bar section
7:38 · skill.mdThe 7-item priority order, and the approval bar: correct behavior alone is not enough to approve.

What failure mode does telling the reviewer to "be ambitious and look past the diff" specifically fix?

Correct: diff bounds are the default failure. The ambition clause pushes the reviewer to consider whole-codebase restructurings that start from the diff but aren't limited to it.

Why does the skill care so much about keeping files under ~1,000 lines?

Right: it's about context efficiency for agents. A giant file forces the agent to ingest everything to find one useful part; splitting lets the filename act as a cheap pointer. Matt's own version of the rule uses a 5,000-token threshold.
05 · The verdict

Did it actually find anything?

The agent reviewed the last five PRs to main and sorted its findings into tiers. This is where you learn to grade a reviewer, keeping the good calls and dismissing the false positives.

Blocker-class: the 1,094-line file

Top finding: InitService.ts is now 1,094 lines, grown across these PRs with no decomposition. It mixes four registries, six inline Dockerfile constants, package-manager detection, and more. The agent proposed splitting it into per-registry modules, and adding a generic makeRegistry function to delete ~20 lines of duplicated boilerplate. Matt's score: two for two, both genuinely good. 8:48

The review output listing the five PRs reviewed and the blocker finding that InitService.ts is 1094 lines
8:48 · review outputThe blocker: "InitService.ts is now 1094 lines, pushed there across these PRs without any decomposition."

A good call and a false positive, side by side

On PR #741, the reviewer spotted a feature-specific special case scattered across three layers (if issueTracker.name === 'custom') and suggested pushing that variation into the type itself, a real code judo move. Good call. But it also flagged templateArgs for carrying both real shell commands and prose markers, proposing a discriminated union. Matt knows this code and calls it a false positive from an inaccurate mental model, "which is okay", because a false positive is cheap to say no to. 9:20

The finding that templateArgs carries both shell commands and prose markers, with a suggested discriminated union
9:20 · review outputOne field, two meanings: LIST_TASKS_COMMAND is real shell, the others are prose markers, so the field name lies about being runnable.

The "worst of both worlds" abstraction

On PR #750: a generic dependencies: readonly string[] model that is only ever used for one value ("zod"), hardcoded in three places. The reviewer's line, "worst of both worlds," nails it: it pays the cost of a generic abstraction without the benefit. It also caught execSync inside Effect.sync with swallowed errors, and a file split that was only half finished. 10:00

The finding about a generic dependencies model used only for zod, hardcoded in three places
10:00 · review outputA generic list type that always contains either ["zod"] or []: either be honestly boolean, or actually loop generically. What landed is neither.

Where Matt pushes back

The reviewer flagged two prompt files whose diffs are byte-identical and wanted them factored into a shared partial. Matt disagrees: those prompts should stay independently changeable. Not every duplication is a DRY violation worth fixing. Final tally: about five of seven findings genuinely useful. 11:40

The finding about byte-identical prompt duplication and a list of smaller items worth fixing
11:40 · review output"Byte-identical" prompt duplication. The skill wants a shared partial; Matt wants them kept independent.

The final judgment

Against the skill's own approval bar, the verdict is a rejection: "#741 and #750 should not have landed in their current shape… The behavior is correct in all three substantive PRs, but the codebase is meaningfully messier than it was a week ago." The whole review "cooked for 2 minutes 35 seconds." 11:52

The final approval verdict stating that PRs 741 and 750 should not have landed in their current shape
11:52 · verdictCorrect behavior, but rejected: the reviewer holds the line even when the code "works."

Matt is relaxed about the reviewer producing a few false positives. Why?

This is the core lesson: ambition trades more false positives (easy to reject) for fewer silent misses (the opportunities you'd never even know you lost). That trade is worth it.

The reviewer rejected PRs whose behavior was completely correct. What principle does that demonstrate?

Yes: the approval bar explicitly says correct behavior is not enough. A PR that works but leaves the codebase "meaningfully messier" can and should be rejected.
06 · The takeaways

What Matt would change, and what to keep

The most valuable part of the lesson is the critique. A skill that scores 5/7 is useful, but Matt names two real weaknesses. 12:05

Ambition is the feature, not the bug

Making the reviewer aggressive produces more false positives, but each is a one-word "no." The silent misses, the improvements you never see, are the expensive ones. Bias toward ambition.

It's too repetitive — make it DRY

The skill says the same things many times. That "ball of mud" makes it hard for the agent to know what to prioritize. Matt would cut it down sharply.

The big gap: no tests, no seams

The skill never mentions seams, tests, or improving future feedback loops, which in Matt's view is the whole point of a healthy, changeable codebase. It reviews source only.

Define good and bad concretely

Vague questions like "does this improve the architecture?" are useless to an agent unless you spell out exactly what good and bad look like.

His overall verdict: worth pulling down and experimenting with. Steal the ambition and the concrete rules; add the tests-and-seams focus it's missing.

What is the single biggest thing Matt says the thermonuclear skill is missing?

Correct: the skill reviews source code only. Matt argues the real driver of code health is whether seams, tests, and feedback loops got better, and this skill is silent on all of it.
✔ Wrap-up

Your score

0 / 8
Answer the quizzes above to see your result.

One-sentence summary

An ambitious, whole-codebase review skill catches real structural problems an ordinary reviewer misses; the false positives it adds are cheap, but you still have to supply the tests-and-seams thinking it leaves out.

📖 Reference

Glossary

Every term marked with a dotted underline above. Skim it, or search the page for a word.

⚙ For your system

Ideas worth stealing into your own setup

These are the moves from this video that could apply to your own agents and repos. They stay pinned at the bottom of the lesson. They are proposals, not done deals: nothing gets added to your system until you choose it.

01 A file-size + decomposition rule for your review standards

Saw
The skill blocks any PR that pushes a file from under to over ~1,000 lines without a strong reason. Matt's own equivalent threshold is 5,000 tokens.
Why
Keeps agent-written files navigable and context-efficient across your build repos, the same reason it helped here.
Form
A rule added to your impeccable / build review standards.
Source
2:48 in the video

02 A "be ambitious beyond the diff" clause for your review agents

Saw
The skill tells the reviewer to scan the whole codebase for fixes, starting from the branch's changes, defeating the diff-bounds failure mode.
Why
Catches structural fixes your current review agents miss because they treat the diff as their boundary.
Form
A clause in your audit-verifier / code-review agent prompts.
Source
1:36 in the video

03 A review skill that adds the tests-and-seams focus this one lacks

Saw
Matt's central critique: the skill reviews source only and never mentions tests, seams, or future feedback loops.
Why
A reviewer that also asks "are the seams and tests better after this change?" targets the real driver of a changeable codebase.
Form
A new or extended review skill.
Source
12:05 in the video
Expanded screenshot