What problem does it solve? TanStack Start route loaders run on both server and client, so naive data-loading code crashes SSR, breaks hydration, or refetches data the server already primed. This Skill provides the Start-specific patterns for loading and mutating data correctly across that isomorphic boundary. ## Core Features & Use Cases - Isomorphic Loaders: Rules for writing loaders that run safely on server (first request) and client (navigation), with guidance on gating browser-only APIs. - Query in Loader: Prefetch with context.queryClient.ensureQueryData() in the loader and read the warm cache with useQuery in the component using a shared queryOptions factory. - Selective SSR: Per-route ssr: true | false | 'data-only' control, including the functional runtime form and tightening-only inheritance. - Server-fn Mutations: Write data via createServerFn handlers and refresh the UI with router.invalidate() or queryClient.invalidateQueries. - Use Case: Building a /posts/$postId route that SSR-prefetches a post through TanStack Query, hydrates without a client refetch, and deletes the post via a server function with proper cache invalidation. ## Quick Start Ask the agent to add a TanStack Start route that prefetches data with ensureQueryData in the loader and reads it with useQuery in the component.