Adversarial Passes in Claude Code
The single best habit I've picked up with Claude Code lately is leaning on adversarial-pass subagents. Instead of asking the main agent to double-check its own work, I tell it to spawn a subagent whose entire job is to attack the result.
Two things make this work better than a plain "review your answer" step.
First, subagents run with a fresh context. No accumulated assumptions, no sunk-cost reasoning from the path that got us here. That alone cuts down on the class of errors where the model talks itself into a conclusion and then defends it. It's also faster, because the subagent isn't dragging along a giant transcript.
Second, Claude crafts the adversarial prompt itself. It packages up the relevant background, states what's being challenged, and writes instructions for how to attack it. The framing matters and Claude is good at writing that framing.
The phrasings I keep reusing
The base move is just appending "do an adversarial pass after" to whatever I asked for. From there I tune it to the job:
- "to test your hypothesis" when we're mid-investigation and I want the subagent to try to falsify the current theory.
- "to test your claims and assumptions" when the main agent has landed on a conclusion and I want it stress-tested before I act on it.
- "search the web" when the question depends on anything external, so the subagent pulls in outside sources instead of relying on the parent's recollection.
- "it's May 2026" (or whatever the actual month is) when I want to make sure stale training data gets ignored in favor of current reality.
The month-and-year trick is small but punchy. Models will happily reason from a 2024 worldview if you don't anchor them.
Claude writes prompts well now
The other thing worth saying out loud: Claude is genuinely good at writing prompts now. Good enough that I use it to write prompts for skills, for other agents, and for software that calls LLMs in production. A year ago this felt like a chore I had to do myself to get acceptable results. Now it's something I delegate.
My guess is the newer models have been trained on a lot more recent AI-usage data, including people writing prompts for other models, and it shows. Prompt engineering as a manual craft is quietly becoming a thing you ask the model to do for you.


