What problem does it solve? Client-rendered apps have a window between first paint and the moment client-side data resolves, and filling that window with a placeholder that bets on the wrong outcome produces jarring UI flashes: an app-shell skeleton shown to visitors about to be bounced to login, a results skeleton before "no results found", or a light-theme flash before dark mode loads. ## Core Features & Use Cases - Edge-first state resolution: Gate document navigations at the server/edge using locally verifiable session cookies or JWTs, redirecting signed-out users before any app HTML is served, and serving correct theme or empty-state variants in the initial document. - Optimistic hint cookies: Snapshot server-confirmed state into a non-HttpOnly cookie so the next load paints correctly while the probe is in flight, with strict rules that the hint is never an authority and must be cleared when the underlying state dies. - Redirect-back (returnTo) flows: Carry deep links through OAuth-style login round trips by riding the state parameter, validating returnTo as a same-origin relative path. - Loading-window testing: Hold the timing window open with intercepted and delayed probes (e.g. Playwright page.route), assert what paints during the delay, and verify cookie hygiene via Set-Cookie headers. - Use Case: A user bookmarks a gated dashboard page, logs out in another tab, then revisits the bookmark — apply this Skill to ensure they see a login redirect with a valid returnTo instead of a flash of the authenticated app shell. ## Quick Start Apply the no-ui-flash skill to fix the skeleton flash users see before being redirected to login on my app's dashboard route.