What problem does it solve? Writing TanStack Query hooks inconsistently leads to scattered query keys, wrong cache timings, and duplicated error handling across a React frontend. This Skill enforces a single convention for useQuery and useMutation hooks so server state stays predictable. ## Core Features & Use Cases - Standardized Query Keys: Uses QUERY_KEY factories and KEY roots from shared/utils/queryKeys.ts instead of inline arrays, making cache invalidation broad or narrow as needed. - Cache Strategy per Data Type: Provides a staleTime and refetchInterval table for ticket queues, SLA countdowns, battery lists, configs, dashboards, and user lists. - Mutation Error Handling: Routes non-form errors through handleErrorApi and form submissions through try-catch with setError to map EntityError field errors. - Use Case: When building an SLA countdown view, generate a useTicketDetail hook with staleTime 0 and refetchInterval 30s, paired with a local setInterval countdown display. ## Quick Start Ask the AI to create a TanStack Query hook for fetching a battery list with proper query keys, cache timing, and error handling following the project conventions.