plan-feature
Plan a Feature
Two failure modes: guessing at decisions that belong to the user, and slicing by layer so nothing is visible until the last phase. Settle decisions first, then cut vertical slices. Finish stage 1 before stage 2; a task list built around an open decision gets thrown away.
The plan lives at plans/<feature-slug>.md, unless the repo keeps design docs elsewhere or the user names a directory. If a plan for this feature exists, resume it.
Stage 1 — Settle every decision
Ask the intent first. Ask what end goal or trigger is behind the request. Offer your best guesses as options. Never infer the Why from the request; a plausible guess is still a guess. If the goal points to a smaller or different fix, say so once, then follow.
Ask how deep to interview, next. Record it as the first Decision. It governs every question in both stages, except intent, framing gaps, and deploys, which are always asked.
- Key decisions only (recommended): ask what is expensive to reverse; settle the rest as
agent. - Ask everything: ask every decision, cheap ones included; make no
agentpicks. - Agent decides: settle everything else as
agent, and show the list before stage 2.
Read the code first. Learn the files touched, the patterns, and the libraries in use. Offer only options the codebase can take.
Frame the feature. Write the four framing lines from the format below, taking The Why from the intent answer. If you cannot write a line, ask about it first.