Skip to content
Agentmart
Submit a tool

tanstack-router-best-practices

Apply TanStack Router best practices when creating, modifying, reviewing, or debugging routes, navigation, search params, loaders, route context…

Skill by Jack-WebDev

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jack-webdev-tanstack-router-best-practices

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Apply TanStack Router best practices when creating, modifying, reviewing, or debugging routes, navigation, search params, loaders, route context, authentication, layouts, and route-level state.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/tanstack-router-best-practices

What's inside

Skill name
tanstack-router-best-practices
Description
Apply TanStack Router best practices when creating, modifying, reviewing, or debugging routes, navigation, search params, loaders, route context, authentication, layouts, and route-level state.
License
MIT
Instructions
363 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# TanStack Router

Use this skill whenever working with `@tanstack/react-router` or routing inside a TanStack Start application.

## Core Principles

Write routing code that is:

- Type-safe
- Predictable
- URL-driven
- Easy to navigate and maintain
- Compatible with the project's installed TanStack Router version
- Consistent with the project's existing routing approach

Prefer simple TanStack Router primitives over custom abstractions.

Do not introduce wrappers, helpers, route factories, or routing abstractions unless they remove real repeated complexity.

## Before Changing Routes

Inspect the existing project first.

Check:

- installed TanStack Router version
- file-based vs code-based routing
- route directory structure
- router creation/configuration
- root route
- route context
- authentication approach
- existing loaders
- search-param validation
- TanStack Query usage
- existing error/pending/not-found handling

Do not rewrite an existing routing architecture simply because a newer pattern exists.

For new projects, prefer file-based routing unless there is a concrete reason not to.

## File-Based Routing

When the project uses file-based routing:

- Use `createFileRoute`.
- Follow TanStack Router file naming conventions.
- Let the route hierarchy express layouts and nesting.
- Use pathless layout routes for shared behavior/layouts that should not add URL segments.
- Keep routes focused on route responsibilities.
- Never manually edit generated route-tree files such as `routeTree.gen.ts`.

Avoid duplicating the filesystem route hierarchy in custom configuration.

## Route Components

Keep route files readable.

A route may coordinate:

- params
- search validation
- loader dependencies
- loaders
- authentication/authorization routing
- route context
- metadata
- pending/error/not-found behavior
- the route component

Do not put large amounts of unrelated business logic directly into the route definition.

Extract domain logic into appropriate modules while keeping route-specific coordination in the route.

## Path Parameters

Use TanStack Router's typed params APIs.

Prefer:

```tsx
const { postId } = Route.useParams()
```

Do not manually parse the pathname.

When navigating, provide dynamic values using `params`.

Prefer:

```tsx
navigate({
  to: "/posts/$postId",
  params: { postId },
})
```

Do not manually interpolate URLs such as:

```tsx
navigate({
  to: `/posts/${postId}`,
})
```

when TanStack Router can type the route.

## Search Parameters

Treat search params as typed URL state.

Use them for state that should survive:

- refreshes
- browser back/forward
- bookmarking
- sharing URLs

Examples:

From Jack-WebDev/skills, MIT.

More from Jack-WebDev/skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 3, 2026 (27 days ago)
Last release
Oct 3, 2026 (27 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Jack-WebDev

Cite this page

tanstack-router-best-practices skill. Agent Mart. https://agentmart.dev/skills/jack-webdev-tanstack-router-best-practices (last updated 2026-10-24)