What problem does it solve? Porting a Next.js App Router application to @rangojs/router requires mapping dozens of file conventions, APIs, and rendering behaviors by hand, and mistakes like shimming next/* imports leave the migration incomplete. This Skill provides a systematic, route-by-route migration playbook with verified API mappings. ## Core Features & Use Cases - Import and API mapping: Replace every next/* import (Link, useRouter, cookies, revalidateTag, NextResponse) with the correct @rangojs/router equivalent, with a strict no-shim policy. - Route tree conversion: Translate file-based routes, dynamic segments, catch-alls, route groups, layouts, parallel routes, and intercepts into the urls()/path()/layout() DSL. - Rendering and caching parity: Map generateStaticParams, ISR, force-dynamic, and experimental_ppr to Prerender, Passthrough, cache(), and the ppr path option, plus tag-based invalidation with updateTag/revalidateTag. - Use Case: You have a Next.js dashboard app with middleware auth, dynamic product pages, and PPR. Follow the phased plan to convert middleware to router.use(), rebuild the route tree, and preserve partial prerendering behavior per route. ## Quick Start Migrate the Next.js app in ./my-app to @rangojs/router, starting with the route tree and replacing all next/* imports.