What problem does it solve? Sharing a persistent UI shell (navigation, sidebar, breadcrumbs) across nested routes in a React Server Components app requires layouts that survive navigation and coordinate data, loaders, and revalidation correctly. This Skill shows how to declare those layouts in @rangojs/router's code-first route tree. ## Core Features & Use Cases - Layout declaration: Wrap child routes with JSX elements, component functions, or context-aware handlers using layout() inside urls(). - Outlets and parallel routes: Render child content with <Outlet /> and named slots via <ParallelOutlet /> for dashboards and sidebars. - Orphan layouts and data flow: Attach layouts inside path() entries to read handler data via ctx.get() with safe action revalidation defaults. - Revalidation contracts: Control which segments re-render after Server Actions using revalidate() predicates shared between producer and consumer segments. - Use Case: Build a shop section where a persistent nav and cart sidebar wrap product, cart, and index pages, with the cart loader revalidating only when cart actions run. ## Quick Start Ask the AI to create a layout route in @rangojs/router that wraps your shop pages with a shared navigation shell and an Outlet for child content.