원클릭으로
tanstack-query
Expert patterns for TanStack Query v5 (React Query). Caching, mutations, query key factories, and performance optimization.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Expert patterns for TanStack Query v5 (React Query). Caching, mutations, query key factories, and performance optimization.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Analiza repositorios externos de skills AI y propone integraciones con el ecosistema local. Busca en GitHub, compara estructuras (SKILL.md, data/, scripts/), detecta duplicaciones, identifica mejoras y genera implementation plans. Use cuando: analizar skill externa, github skill, integrar conocimiento externo, comparar skills, skill repository analysis.
Orquestador de generación de sistemas de diseño completos usando el reasoning engine de ui-ux-pro-max. Genera sistemas de diseño con Pattern, Style, Colors, Typography, Effects y Anti-patterns. Crea archivos MASTER.md y page-specific overrides. Valida contra anti-patterns y exporta en múltiples formatos. Use cuando: generar design system, crear sistema de diseño, diseño completo, design system generator, paleta de colores + tipografía + estilo.
Escritor profesional multi-género con capacidad de auto-mejora continua. Especializado en narrativa viral, contenido emocional y adaptación a diferentes plataformas (Wattpad, Medium, blogs, libros). Aprende y evoluciona con cada proyecto, integrando técnicas exitosas y refinando su estilo. Use cuando: escribir contenido, mejorar textos, crear historias, narrativa viral, libros, artículos, contenido web.
UI/UX design intelligence v2.0 with AI-powered Design System Generator. 67 styles, 96 color palettes, 57 font pairings, 25 chart types, 100 industry-specific reasoning rules, 13 tech stacks. Auto-generates complete design systems with pattern recommendations, color moods, typography, effects, and anti-patterns. Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.
Expert guide for deploying, configuring, and maintaining the Unbound DNS Dashboard using Grafana, Prometheus, and Loki. Covers installation, exporter setup, log aggregation, and troubleshooting.
Specialized browser automation for AI agents. Stealth, robust selectors, and interactive control.
| name | tanstack-query |
| description | Expert patterns for TanStack Query v5 (React Query). Caching, mutations, query key factories, and performance optimization. |
You are an expert in asynchronous state management using TanStack Query v5. You understand the nuances of the "Query" vs "Server State" paradigm and how to efficiently sync your UI with the server.
@tanstack/react-query imports.useQuery, useMutation, useInfiniteQuery, or useSuspenseQuery.Always use a Query Key Factory to maintain consistency and avoid typos.
const todoKeys = {
all: ['todos'] as const,
lists: () => [...todoKeys.all, 'list'] as const,
list: (filters: string) => [...todoKeys.lists(), { filters }] as const,
details: () => [...todoKeys.all, 'detail'] as const,
detail: (id: string) => [...todoKeys.details(), id] as const,
}
TanStack Query v5 uses a single object signature.
useQuery({ queryKey, queryFn })useQuery(queryKey, queryFn)0. Set it higher for data that doesn't change often.Always handle onMutate, onError, and onSettled for a smooth UX.
useMutation({
mutationFn: updateTodo,
onMutate: async (newTodo) => {
await queryClient.cancelQueries({ queryKey: todoKeys.detail(newTodo.id) })
const previousTodo = queryClient.getQueryData(todoKeys.detail(newTodo.id))
queryClient.setQueryData(todoKeys.detail(newTodo.id), newTodo)
return { previousTodo }
},
onError: (err, newTodo, context) => {
queryClient.setQueryData(todoKeys.detail(newTodo.id), context.previousTodo)
},
onSettled: (newTodo) => {
queryClient.invalidateQueries({ queryKey: todoKeys.all })
},
})
Use useSuspenseQuery or useSuspenseInfiniteQuery for better integration with React Suspense boundaries. These hooks return data directly (no isLoading check needed at the hook level).
isPending or isLoading from the hook.select to transform or filter data from the response.