Order matters
Polish applied to a wrong layout gets thrown away with the layout. Run the passes in this order and stop when one finds structural problems.
Steps
- Foundations. Hierarchy, spacing, one primary action per view, container widths, line length. Report as Before / After / Why.
- Unslop. Subtract first, then sweep for generated-UI tells.
- Polish. Tabular numbers, named transition properties, press scale 0.96, hit areas, no layout shift on hover.
- Accessibility. Labels wired to inputs, real buttons, focus rings intact, 44px targets, reduced motion.
- Screenshot pass. Headless Chromium at 1440 and 390 wide, light and dark. Look at the images, not the DOM.
- Commit only when asked. The review is the deliverable; the fix is a separate decision.
Tooling
A local Playwright script with three arguments (url, output path, scroll offset) covers most of step 5. Keep it in a scratch folder outside the repo.