skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
oakoss/agent-skills126 installs

tanstack-router

Type-safe, file-based React routing with route loaders, search params validation, code splitting, preloading, navigation, route context, and TanStack Query integration. Use when setting up file-based routing, adding search params validation, implementing route loaders, code splitting routes, configuring virtual file routes, protecting routes with auth guards, or fixing type registration errors. Use for router setup, navigation patterns, URL state management, data loading.

How do I install this agent skill?

npx skills add https://github.com/oakoss/agent-skills --skill tanstack-router
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides technical documentation and implementation patterns for TanStack Router, a type-safe routing library for React. It emphasizes security best practices including input validation for search parameters using Zod or Valibot and robust error handling. No malicious patterns, obfuscation, or unauthorized data access were detected.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

  • Runlayerpass

    11 files scanned · No issues

What does this agent skill do?

TanStack Router

Type-safe, file-based routing for React with route-level data loading, search params validation, code splitting, and TanStack Query integration.

Package: @tanstack/react-router | Plugin: @tanstack/router-plugin

Quick Reference

PatternUsage
createFileRoute('/path')Define file-based route
createRootRouteWithContext<T>()Root route with typed context
createLazyFileRoute('/path')Code-split route component
zodValidator(schema)Search params validation
Route.useLoaderData()Access loader data in component
Route.useParams()Type-safe route params
Route.useSearch()Type-safe search params
useNavigate()Programmatic navigation
useBlocker()Block navigation (dirty forms)
notFound()Throw 404 from loader
getRouteApi('/path')Type-safe hooks in split files
stripSearchParams(defaults)Clean default values from URLs
retainSearchParams(['key'])Preserve params across navs
useAwaited({ promise })Suspend until deferred promise resolves
useCanGoBack()Check if router can go back safely

Data Loading

MethodReturnsThrowsUse Case
ensureQueryDataDataYesRoute loaders (recommended)
prefetchQueryvoidNoBackground prefetching
fetchQueryDataYesImmediate data need
defer() (optional)PromiseNoStream non-critical data (promises auto-handled)

Preloading

StrategyBehaviorUse Case
'intent'Preload on hover/focusDefault for most links
'render'Preload when Link mountsCritical next pages
'viewport'Preload when Link in viewBelow-fold content
falseNo preloadingHeavy, rarely-visited pages

File Organization

FilePurpose
__root.tsxRoot route with <Outlet />
index.tsxIndex route for /
posts.$postId.tsxDynamic param route
_authenticated.tsxPathless layout (auth guard)
dashboard.lazy.tsxCode-split component

Common Mistakes

MistakeFix
Missing router type registrationAdd declare module with Register interface
useParams() without fromAlways pass from: '/route/path' for exact types
useNavigate() for regular linksUse <Link> for <a> tags, a11y, preloading
prefetchQuery in loadersUse ensureQueryData (returns data, throws errors)
Fetching in useEffectUse route loaders (prevents waterfalls)
Sequential fetches in loaderUse Promise.all for parallel requests
Missing leading slashAlways '/about' not 'about'
TanStackRouterVite after react()Plugin MUST come before react() in Vite config
strict: false params unparsedUse strict mode or manually parse after navigation
Pathless route notFoundComponentDefine notFoundComponent on child routes instead
Aborted loader undefined errorGuard errorComponent with if (!error) return null
No loaderDeps declaredDeclare deps so loader only re-runs when they change

Delegation

  • TanStack Query patterns — data fetching, caching, mutations: use tanstack-query skill
  • TanStack Start — server functions, SSR, server-side auth: use tanstack-start skill
  • TanStack Table — table rendering with router search params: use tanstack-table skill
  • Router + Query integration — loader data flow, preloading: see Loader Data Flow Patterns

If the tanstack-devtools skill is available, delegate router state debugging and route tree inspection to it.

References

  • Setup — installation, Vite config, file structure, app setup, router default options
  • Type Safety — register router, from param, strict: false, type utilities, getRouteApi
  • Data Loading — route loaders, Query integration, parallel loading, streaming, deferred data, abort signal, loaderDeps
  • Search Params — validation, strip/retain middleware, fine-grained subscriptions, debounce, custom serializers
  • Navigation — Link, active styling, relative navigation, hash, route masks, blocker, scroll restoration
  • Auth and Context — beforeLoad, context inheritance, pathless layouts, dependency injection, error handling
  • Code Splitting — lazy routes, auto splitting, preloading strategies, programmatic preloading
  • Virtual File Routes — rootRoute, route, index, layout, physical builders, mixing file-based and code-based routing
  • Known Issues — 20 documented issues with fixes, anti-patterns
  • Loader+Query Patterns — ensureQueryData in loaders, parallel loading, critical vs non-critical data, search-param-dependent loaders

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/oakoss/agent-skills/tanstack-router">View tanstack-router on skillZs</a>