What problem does it solve? Frontend code often mixes server data with UI state, causing stale caches, lost filters, and silent breakage when the backend API changes. This Skill builds a typed data layer where TanStack Query owns server-state, Zustand or Jotai owns client-state, and a single Zod schema acts as the API contract, form schema, and type source. ## Core Features & Use Cases - Server-state vs client-state separation: TanStack Query handles cache, refetch, and invalidation; Zustand/Jotai stores only UI state like filters, modals, and wizard steps. - Single Zod schema per resource: one schema mirrors the backend DTO, validates API responses via .parse(), feeds zodResolver in forms, and generates types with z.infer. - Contract enforcement: responses outside the expected shape become explicit error states instead of silent undefined values, protecting the frontend when the Spring Boot backend changes. - Use Case: Given a Spring Boot ClienteDTO with id, nome, email, and ativo, the Skill generates cliente.schema.ts, useClientes and useCriarCliente hooks with key-based invalidation, and an optional client-state store. ## Quick Start Ask the AI to create the data layer for a resource, for example: "Create the data layer for the customers endpoint using TanStack Query with a Zod schema that mirrors the backend DTO."