Requirements coverage
Two columns: requirements from the spec or user stories on the left, coverage status on the right (covered / partially covered / not addressed). For each requirement, the reviewer verifies the design addresses it. Requirements not covered become action items before the design can be approved.
Edge cases and error states
Write the edge cases that must be designed for: empty states, loading states, error messages, timeout handling, and accessibility requirements. For each: is it designed? Write yes, partial, or missing. Missing edge cases don't get to engineering — they come back as bugs.
Open issues
Write every question, inconsistency, or design gap identified during the review. For each open issue: is it a blocker (must be resolved before engineering starts) or a non-blocker (can be resolved in parallel)? Classify every issue before the review closes.
Decision
The review produces one of three decisions: Ship (design is ready, no blockers), Revise and Re-review (design has blockers that require another review pass), or Revise and Ship (design has non-blockers that can be resolved without another full review). Write the decision on the board. Get verbal agreement from all reviewers.
Handoff action items
If the decision is Ship or Revise and Ship: write the handoff action items. Which assets need to be prepared? Which specs written? Which open issues need to be resolved by whom before engineering starts? Every handoff item has an owner and a date.