-
Separate Planning From Execution
Do not send a vague feature request straight to a coding agent. First, have a planning model interview you about the goal, constraints, edge cases, data flow, and success criteria. Only after that should an execution agent touch the code.
-
Add an Adversarial Plan Review
Before implementation, give the plan to a second agent and ask it to find weak assumptions, missing requirements, hidden complexity, and cheaper alternatives. Then have the planner revise the plan based on that critique. This catches many mistakes while they are still cheap to fix.
-
Use a Simple Role Stack
A practical workflow is: interviewer, planner, critic, builder, reviewer. These can be different models or the same model in different roles, but the prompts should force each role to produce a specific artifact. For example, the critic should return objections and required changes, not general feedback.
-
Cap the Debate
Do not let agents argue forever. Set a limit such as three review rounds, or stop when the critic has no blocking objections. The goal is a stronger implementation brief, not theoretical consensus.
-
Review Against the Plan
After the code is written, send the original plan and the final diff to a reviewer agent. Ask it to check whether the implementation actually satisfies the requirements, skips any edge cases, or introduces avoidable complexity. This makes review concrete instead of vibes-based.
Why it matters
Small businesses cannot afford long rebuild cycles caused by unclear requirements. This workflow adds a little friction before coding, but it reduces wasted implementation time and catches blind spots early. For a solo builder, it is like turning one assistant into a small product team with defined responsibilities.