tanstack-router-best-practices — скилл для Claude Code: правила
Набор правил по TanStack Router для React: типизация, загрузка данных, search params и навигация. Пригодится, когда роутинг в проекте разрастается.
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router-best-practices -a claude-code
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router -a claude-codeЧто делает tanstack-router-best-practices
Скилл разбит на категории по приоритету. Критичные — типизация и организация маршрутов, дальше идут конфигурация роутера, загрузка данных, search params и обработка ошибок, в конце — навигация, code splitting, предзагрузка и route context. Всего в справочнике десятки правил с префиксами вроде ts-, load-, search-, nav-.
Каждое правило лежит отдельным файлом в каталоге rules/ и устроено одинаково: объяснение, пример антипаттерна, рекомендуемый вариант и пометка, когда правило применять, а когда пропустить. Агент читает нужный файл, когда вы настраиваете маршруты, добавляете лоадеры или разбираетесь с параметрами URL.
Скилл рассчитан на React-приложения с TanStack Router. Часть правил завязана на TanStack Query — например, использование queryOptions в лоадерах и ensureQueryData. Если Query в проекте нет, эти пункты придётся пропустить, остальное работает само по себе.
Какие задачи решает
- зарегистрировать тип роутера для глобального вывода типов
- разложить маршруты по файлам и вложенным уровням
- настроить лоадеры и кэш через
loaderDeps - провалидировать search params и задать значения по умолчанию
- разделить критичные и второстепенные данные при загрузке
Примеры запросов агенту
- Помоги настроить файловый роутинг в TanStack Router по правилам скилла
- Проверь мои лоадеры: правильно ли я использую
loaderDepsиensureQueryData? - Разбери search params на этом маршруте — нужна валидация и дефолты
Как установить tanstack-router-best-practices
1Через Skills CLI (Vercel)
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router-best-practices -a claude-codenpx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router -a claude-code2Вручную: положить файлы
~/.claude/skills/tanstack-router/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/tanstack-router/
1Через Skills CLI (Vercel)
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router -a codex2Вручную: положить файлы
.agents/skills/tanstack-router/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router -a cursor2Вручную: положить файлы
.cursor/skills/tanstack-router/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install DeckardGer/tanstack-agent-skills tanstack-router2Вручную: положить файлы
.github/skills/tanstack-router/SKILL.md1Через Skills CLI (Vercel)
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router -a gemini-cli2Командой платформы
gemini skills install https://github.com/DeckardGer/tanstack-agent-skills --path skills/tanstack-routerВручную: положить файлы
.devin/skills/tanstack-router/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о tanstack-router-best-practices
Как установить tanstack-router-best-practices в Claude?
Через установщик скиллов: npx skills add DeckardGer/tanstack-agent-skills --skill tanstack-router-best-practices -a claude-code. После этого файл скилла окажется в ~/.claude/skills/tanstack-router/SKILL.md.
Что делает tanstack-router-best-practices?
Даёт агенту набор правил по TanStack Router: типизация, организация маршрутов, лоадеры, search params, навигация, code splitting и предзагрузка. Каждое правило идёт с примерами плохого и хорошего кода.
Нужен ли TanStack Query для работы скилла?
Нет, но часть правил про загрузку данных опирается на Query — queryOptions в лоадерах и ensureQueryData. Без Query эти пункты просто не применяются.
Исходный текст
SKILL.md · MIT
--- name: tanstack-router-best-practices description: TanStack Router best practices for type-safe routing, data loading, search params, and navigation. Activate when building React applications with complex routing needs. --- # 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 | Priority | Category | Rules | Impact | |----------|----------|-------|--------| | CRITICAL | Type Safety | 4 rules | Prevents runtime errors and enables refactoring | | CRITICAL | Route Organization | 5 rules | Ensures maintainable route structure | | HIGH | Router Config | 1 rule | Global router defaults | | HIGH | Data Loading | 6 rules | Optimizes data fetching and caching | | HIGH | Search Params | 5 rules | Enables type-safe URL state | | HIGH | Error Handling | 1 rule | Handles 404 and errors gracefully | | MEDIUM | Navigation | 5 rules | Improves UX and accessibility | | MEDIUM | Code Splitting | 3 rules | Reduces bundle size | | MEDIUM | Preloading | 3 rules | Improves perceived performance | | LOW | Route Context | 3 rules | Enables 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.
© DeckardGer · MIT · DeckardGer/tanstack-agent-skills