MCPInstall

tanstack-router-best-practices

TanStack Router best practices for type-safe routing, data loading, search params, and navigation. Activate when building React applications with complex routing needs.

Installs
7.1K
Last 24h
+15
Trending rank
#6967
Security
Warn

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/deckardger/tanstack-agent-skills --skill tanstack-router-best-practices
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads tanstack-router-best-practices automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

Security audits

Independent scans of the skill's instructions and bundled files.

Gen Agent Trust Hub PassSAFE ·This skill is a comprehensive collection of best practices for TanStack Router. It contains only Markdown documentation and code examples, with no executable code or malicious patterns detected.
Socket PassNo alerts
Snyk PassLOW ·Risk: LOW · No issues
Runlayer WarnMEDIUM ·16/16 files flagged
ZeroLeaks PassNONE ·Score: 93/100 · 2 sections analyzed

SKILL.md

The instructions your agent reads when the skill is triggered.

TanStack Router Best Practices

Comprehensive guidelines for implementing TanStack Router patterns in React applications. These rules optimize type safety, data loading, navigation, and code organization.

When to Apply

  • Setting up application routing
  • Creating new routes and layouts
  • Implementing search parameter handling
  • Configuring data loaders
  • Setting up code splitting
  • Integrating with TanStack Query
  • Refactoring navigation patterns

Rule Categories by Priority

PriorityCategoryRulesImpact
CRITICALType Safety4 rulesPrevents runtime errors and enables refactoring
CRITICALRoute Organization5 rulesEnsures maintainable route structure
HIGHRouter Config1 ruleGlobal router defaults
HIGHData Loading6 rulesOptimizes data fetching and caching
HIGHSearch Params5 rulesEnables type-safe URL state
HIGHError Handling1 ruleHandles 404 and errors gracefully
MEDIUMNavigation5 rulesImproves UX and accessibility
MEDIUMCode Splitting3 rulesReduces bundle size
MEDIUMPreloading3 rulesImproves perceived performance
LOWRoute Context3 rulesEnables dependency injection

Quick Reference

Type Safety (Prefix: ts-)

  • ts-register-router — Register router type for global inference
  • ts-use-from-param — Use from parameter for type narrowing
  • ts-route-context-typing — Type route context with createRootRouteWithContext
  • ts-query-options-loader — Use queryOptions in loaders for type inference

Router Config (Prefix: router-)

  • router-default-options — Configure router defaults (scrollRestoration, defaultErrorComponent, etc.)

Route Organization (Prefix: org-)

  • org-file-based-routing — Prefer file-based routing for conventions
  • org-route-tree-structure — Follow hierarchical route tree patterns
  • org-pathless-layouts — Use pathless routes for shared layouts
  • org-index-routes — Understand index vs layout routes
  • org-virtual-routes — Understand virtual file routes

Data Loading (Prefix: load-)

  • load-use-loaders — Use route loaders for data fetching
  • load-loader-deps — Define loaderDeps for cache control
  • load-ensure-query-data — Use ensureQueryData with TanStack Query
  • load-deferred-data — Split critical and non-critical data
  • load-error-handling — Handle loader errors appropriately
  • load-parallel — Leverage parallel route loading

Search Params (Prefix: search-)

  • search-validation — Always validate search params
  • search-type-inheritance — Leverage parent search param types
  • search-middleware — Use search param middleware
  • search-defaults — Provide sensible defaults
  • search-custom-serializer — Configure custom search param serializers

Error Handling (Prefix: err-)

  • err-not-found — Handle not-found routes properly

Navigation (Prefix: nav-)

  • nav-link-component — Prefer Link component for navigation
  • nav-active-states — Configure active link states
  • nav-use-navigate — Use useNavigate for programmatic navigation
  • nav-relative-paths — Understand relative path navigation
  • nav-route-masks — Use route masks for modal URLs

Code Splitting (Prefix: split-)

  • split-lazy-routes — Use .lazy.tsx for code splitting
  • split-critical-path — Keep critical config in main route file
  • split-auto-splitting — Enable autoCodeSplitting when possible

Preloading (Prefix: preload-)

  • preload-intent — Enable intent-based preloading
  • preload-stale-time — Configure preload stale time
  • preload-manual — Use manual preloading strategically

Route Context (Prefix: ctx-)

  • ctx-root-context — Define context at root route
  • ctx-before-load — Extend context in beforeLoad
  • ctx-dependency-injection — Use context for dependency injection

How to Use

Each rule file in the rules/ directory contains:

  1. Explanation — Why this pattern matters
  2. Bad Example — Anti-pattern to avoid
  3. Good Example — Recommended implementation
  4. Context — When to apply or skip this rule

Full Reference

See individual rule files in rules/ directory for detailed guidance and code examples.

FAQ

What does the tanstack-router-best-practices skill do?

TanStack Router best practices for type-safe routing, data loading, search params, and navigation. Activate when building React applications with complex routing needs.

How do I install tanstack-router-best-practices?

Run npx skills add https://github.com/deckardger/tanstack-agent-skills --skill tanstack-router-best-practices in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tanstack-router-best-practices/ (personal) or .claude/skills/tanstack-router-best-practices/ (project).

Which AI agents can use tanstack-router-best-practices?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is tanstack-router-best-practices safe to install?

Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed; Runlayer flagged items to review; ZeroLeaks passed. As with any skill, read the SKILL.md and bundled scripts before installing.

Who maintains tanstack-router-best-practices?

It is published by deckardger in deckardger/tanstack-agent-skills. It has 7,086 recorded installs.

More from deckardger/tanstack-agent-skills

View all →

tanstack-query-best-practices

deckardger/tanstack-agent-skills

TanStack Query (React Query) best practices for data fetching, caching, mutations, and server state management. Activate when building data-driven React applications with server state.

tanstack-start-best-practices

deckardger/tanstack-agent-skills

TanStack Start best practices for full-stack React applications. Server functions, middleware, SSR, authentication, and deployment patterns. Activate when building full-stack apps with TanStack Start.

tanstack-integration-best-practices

deckardger/tanstack-agent-skills

Best practices for integrating TanStack Query with TanStack Router and TanStack Start. Patterns for full-stack data flow, SSR, and caching coordination.

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.