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
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.
About
Reviews
Write a reviewNo 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
- 0.565score
branch-name
Jack-WebDev
Generate one concise Git branch name based on the actual changes made.
SkillAFreshness: AClaude Code +9 - 0.565score
single-commit-message
Jack-WebDev
Generate one clear commit message based on the actual changes made.
SkillAFreshness: AClaude Code +9 - 0.561score
typescript-best-practices
Jack-WebDev
Apply version-aware TypeScript practices when implementing, reviewing, or refactoring TypeScript or TSX code in any application or library.
SkillAFreshness: AClaude Code +9 - 0.561score
react-best-practices
Jack-WebDev
Apply version-aware React practices when implementing, reviewing, or refactoring components, hooks, and application UI while preserving the project's…
SkillAFreshness: AClaude Code +9 - 0.561score
layman-it
Jack-WebDev
Rewrite comments, documentation, explanations, PR text, TODOs, and other developer-facing text in simple language that a non-expert can understand.
SkillAFreshness: AClaude Code +9 - 0.561score
code-engineering
Jack-WebDev
Apply general production engineering standards when implementing, fixing, reviewing, or refactoring code in any language or framework.
SkillAFreshness: AClaude Code +9 - 0.561score
golang-best-practices
Jack-WebDev
Apply idiomatic Go best practices when writing, reviewing, refactoring, or designing Go code.
SkillAFreshness: AClaude Code +9 - 0.555score
tanstack-query-best-practices
Jack-WebDev
Use when writing, modifying, reviewing, or debugging TanStack Query code, including queries, mutations, query keys, caching, invalidation, prefetching…
SkillAFreshness: AClaude Code +9 - 0.555score
vitest-best-practices
Jack-WebDev
Use when writing, modifying, reviewing, or debugging Vitest tests, test configuration, mocks, spies, fixtures, setup files, coverage, test projects, async…
SkillAFreshness: AClaude Code +9
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
- Repository
- github.com/Jack-WebDev/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Jack-WebDev
- 0.565score
branch-name
Jack-WebDev
Generate one concise Git branch name based on the actual changes made.
SkillAFreshness: AClaude Code +9 - 0.565score
single-commit-message
Jack-WebDev
Generate one clear commit message based on the actual changes made.
SkillAFreshness: AClaude Code +9 - 0.561score
typescript-best-practices
Jack-WebDev
Apply version-aware TypeScript practices when implementing, reviewing, or refactoring TypeScript or TSX code in any application or library.
SkillAFreshness: AClaude Code +9 - 0.561score
react-best-practices
Jack-WebDev
Apply version-aware React practices when implementing, reviewing, or refactoring components, hooks, and application UI while preserving the project's…
SkillAFreshness: AClaude Code +9 - 0.561score
layman-it
Jack-WebDev
Rewrite comments, documentation, explanations, PR text, TODOs, and other developer-facing text in simple language that a non-expert can understand.
SkillAFreshness: AClaude Code +9 - 0.561score
code-engineering
Jack-WebDev
Apply general production engineering standards when implementing, fixing, reviewing, or refactoring code in any language or framework.
SkillAFreshness: AClaude Code +9
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)