From deckardger-tanstack-agent-skills
Guides TanStack Query (React Query) best practices for data fetching, caching, mutations, and server state synchronization in React apps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/deckardger-tanstack-agent-skills:tanstack-queryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive guidelines for implementing TanStack Query (React Query) patterns in React applications. These rules optimize data fetching, caching, mutations, and server state synchronization.
rules/cache-gc-time.mdrules/cache-invalidation.mdrules/cache-placeholder-vs-initial.mdrules/cache-stale-time.mdrules/err-error-boundaries.mdrules/inf-page-params.mdrules/mut-invalidate-queries.mdrules/mut-mutation-state.mdrules/mut-optimistic-updates.mdrules/network-mode.mdrules/parallel-use-queries.mdrules/perf-select-transform.mdrules/persist-queries.mdrules/pf-intent-prefetch.mdrules/qk-array-structure.mdrules/qk-factory-pattern.mdrules/qk-hierarchical-organization.mdrules/qk-include-dependencies.mdrules/qk-serializable.mdrules/query-cancellation.mdComprehensive guidelines for implementing TanStack Query (React Query) patterns in React applications. These rules optimize data fetching, caching, mutations, and server state synchronization.
| Priority | Category | Rules | Impact |
|---|---|---|---|
| CRITICAL | Query Keys | 5 rules | Prevents cache bugs and data inconsistencies |
| CRITICAL | Caching | 5 rules | Optimizes performance and data freshness |
| HIGH | Mutations | 6 rules | Ensures data integrity and UI consistency |
| HIGH | Error Handling | 3 rules | Prevents poor user experiences |
| MEDIUM | Prefetching | 4 rules | Improves perceived performance |
| MEDIUM | Parallel Queries | 2 rules | Enables dynamic parallel fetching |
| MEDIUM | Infinite Queries | 3 rules | Prevents pagination bugs |
| MEDIUM | SSR Integration | 4 rules | Enables proper hydration |
| LOW | Performance | 4 rules | Reduces unnecessary re-renders |
| LOW | Offline Support | 2 rules | Enables offline-first patterns |
qk-)qk-array-structure — Always use arrays for query keysqk-include-dependencies — Include all variables the query depends onqk-hierarchical-organization — Organize keys hierarchically (entity → id → filters)qk-factory-pattern — Use query key factories for complex applicationsqk-serializable — Ensure all key parts are JSON-serializablecache-)cache-stale-time — Set appropriate staleTime based on data volatilitycache-gc-time — Configure gcTime for inactive query retentioncache-defaults — Set sensible defaults at QueryClient levelcache-invalidation — Use targeted invalidation over broad patternscache-placeholder-vs-initial — Understand placeholder vs initial data differencesmut-)mut-invalidate-queries — Always invalidate related queries after mutationsmut-optimistic-updates — Implement optimistic updates for responsive UImut-rollback-context — Provide rollback context from onMutatemut-error-handling — Handle mutation errors gracefullymut-loading-states — Use isPending for mutation loading statesmut-mutation-state — Use useMutationState for cross-component trackingerr-)err-error-boundaries — Use error boundaries with useQueryErrorResetBoundaryerr-retry-config — Configure retry logic appropriatelyerr-fallback-data — Provide fallback data when appropriatepf-)pf-intent-prefetch — Prefetch on user intent (hover, focus)pf-route-prefetch — Prefetch data during route transitionspf-stale-time-config — Set staleTime when prefetchingpf-ensure-query-data — Use ensureQueryData for conditional prefetchinginf-)inf-page-params — Always provide getNextPageParaminf-loading-guards — Check isFetchingNextPage before fetching moreinf-max-pages — Consider maxPages for large datasetsssr-)ssr-dehydration — Use dehydrate/hydrate pattern for SSRssr-client-per-request — Create QueryClient per requestssr-stale-time-server — Set higher staleTime on serverssr-hydration-boundary — Wrap with HydrationBoundaryparallel-)parallel-use-queries — Use useQueries for dynamic parallel queriesquery-cancellation — Implement query cancellation properlyperf-)perf-select-transform — Use select to transform/filter dataperf-structural-sharing — Leverage structural sharingperf-notify-change-props — Limit re-renders with notifyOnChangePropsperf-placeholder-data — Use placeholderData for instant UIoffline-)network-mode — Configure network mode for offline supportpersist-queries — Configure query persistence for offline supportEach rule file in the rules/ directory contains:
See individual rule files in rules/ directory for detailed guidance and code examples.
npx claudepluginhub deckardger/tanstack-agent-skillsOptimizes TanStack Query v5 patterns for data fetching, caching, mutations, prefetching, infinite queries, Suspense, error/retry handling, and render performance.
Expert in TanStack Query (React Query) for async state management, data fetching, cache invalidation, mutations, optimistic updates, and Next.js App Router SSR integration.
Provides TanStack Query v5 reference for React data fetching, caching, server state management using useQuery/useMutation hooks, QueryClient setup, optimistic updates, Next.js SSR/hydration, testing, TypeScript, and advanced patterns.