Plan implementation before writing code. Use when starting non-trivial tasks, features, refactors, or when the approach is unclear.