PSDD — Infinum's 4-step approach for shipping features with AI, from a quick fix to a full system. Same process, different depth.
Before writing a single line of code, make sure you and the AI agree on what "done" means. Use the model to challenge assumptions and surface edge cases. The context you capture here directly determines how well the model performs in the next three steps.
Use when the work is contained, the goal is clear, and the blast radius is small.
Use for refactors, upgrades, migrations, performance work. The risk is technical correctness, not unclear requirements — skip the PRD, write a tight technical brief instead (goal, constraints, success checks, rollout/rollback).
Use when the feature is ambiguous, cross-cutting, risky, or involves many edge cases. If your task from refinement already covers goals, constraints, and acceptance criteria, use that as your PRD base. Otherwise, use the PRD skill to produce a structured document: goals/non-goals, user stories, functional requirements, acceptance criteria, and constraints. Light on implementation — the "what" and "why", not the "how."
The main control lever in the workflow. Before any code runs, get the AI to propose its approach — then steer it or let a good proposal change your mind. Stay in Ask mode only. No code changes happen in this step.
Convert your understanding and agreed design into a concrete implementation plan. AI performs significantly better when work is decomposed into smaller, well-defined tasks. The plan should be reviewable before a single line of code runs — this is your last clear checkpoint.
Now the agent runs. Because you did the work upfront, it stays aligned and you rarely need to re-explain decisions. When something isn't right, corrections are fast and targeted.