What problem does it solve? TanStack Router infers types automatically, but developers frequently break that inference with unnecessary casts, annotations, and generic parameters, or lose type safety entirely by skipping router registration. This Skill codifies the correct patterns so params, search, context, and loader data stay fully typed end to end. ## Core Features & Use Cases - Register Module Declaration: Sets up the single required declare module registration so Link, useNavigate, and useSearch are typed app-wide. - Narrowing and Code-Split Patterns: Covers from narrowing on hooks and Link, strict: false for shared components, and getRouteApi for lazy routes. - TypeScript Performance Guidance: Applies object-syntax addChildren, as const satisfies for link options, and ValidateLinkOptions utilities to keep type checking fast. - Use Case: When building a /posts/$postId route, use this Skill to wire validateSearch, loader data, and Route.useParams() without a single cast, and to fix slow type checks caused by un-narrowed LinkProps unions. ## Quick Start Ask the AI to review your TanStack Router routes and remove all type casts while adding the Register declaration and from narrowing where needed.