Helps explore ideas before implementation. Use when the user wants to brainstorm features, compare approaches, shape requirements, or discuss tradeoffs before writing code.
Use when you have two or more independent tasks, failures, or investigations that can be worked on concurrently without shared state or sequential dependencies.
Use when receiving code review feedback, before implementing suggestions, especially when feedback is unclear, broad, or may not fit the codebase as-is.
Use when finishing substantial code changes, before merging, or at natural checkpoints to request an explicit code review pass.
Use when executing a multi-task implementation plan by dispatching one fresh builder agent per task, reviewing each task before moving on, and keeping controller context narrow.
Use when investigating a bug, test failure, build failure, flaky behavior, or unexpected runtime issue before proposing or implementing fixes.
Use when implementing a feature, bug fix, or behavior change where automated tests should drive the implementation before production code is written.
Use when you have approved requirements for a multi-step task and need a concrete implementation plan before touching code.