Uncertainty assessment before implementation — identify what you know, what you're guessing, and what to verify
Generate 2-3 genuinely different approaches to a problem and compare them
Challenge a design or approach — find real weaknesses, not performative objections
Does the design follow established software engineering principles? Separation of concerns, coupling, error handling, API design.
Do all the parts agree with each other? Cross-document and internal consistency.
Can phases ship independently with value? Are boundaries at natural integration points?
Does the implementation match the design? What was built, dropped, or changed?
What's locked in by this design vs. what stays flexible? Cost of being wrong about the future?