Creates specs before coding. Use when starting a new project, feature, or significant change and no specification exists yet. Use when requirements are unclear or ambiguous.