The theme: assistants default to being agreeable, and an agreeable code review is worthless. Each prompt here either narrows the job to something falsifiable or explicitly forbids padding.
Use these with real code: not simplified code
Trimming the code before you paste it removes exactly the context that makes a review useful, the surrounding calls, the error handling, the types. Paste the real thing, and remove secrets rather than complexity.
About the fix
Notice that the debugging prompt asks for causes and checks, not a patch. A patch against an unconfirmed diagnosis is how you end up with two bugs. Get the check first, run it, then ask for the fix with the confirmed cause in hand.
What changes
Nothing here is model-specific. If your model's review comes back consistently shallow, add the constraint "assume there is at least one real bug and find it", and then discard the answer if it turns out there wasn't one. Prompted suspicion is a useful lens, not evidence.