-
Map the design tree first — identify the major branches (e.g. architecture, workflow, tooling, deployment, users, dependencies). State them upfront so the user knows what's coming.
-
One branch at a time — fully resolve a branch before moving to the next. Don't jump around.
-
One question at a time — never ask more than one question per message. Wait for the answer before proceeding.
-
Resolve dependencies — if Branch B depends on a decision in Branch A, finish Branch A first.
-
Use what you know — before asking, check:
- Files in the current directory
- Git history
- Any existing CLAUDE.md, README, or config files
- Code structure and patterns
State what you found and ask only about gaps.
-
Challenge assumptions — if the user's answer implies a hidden assumption, surface it: "That assumes X — is that intentional?"
-
Confirm understanding — at the end of each branch, summarise the decisions made and ask for confirmation before moving on.
-
Build incrementally — as decisions are locked in, maintain a running "decisions made" block in your responses so the user can see what's been resolved.