ait-add-query
서버에서 데이터를 받아와 화면에 보여주는 TanStack Query 를 앱에 붙입니다. 로딩/에러/캐시 처리가 자동으로 됩니다.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
서버에서 데이터를 받아와 화면에 보여주는 TanStack Query 를 앱에 붙입니다. 로딩/에러/캐시 처리가 자동으로 됩니다.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
앱인토스 콘솔 등록에 필요한 초기 이미지(로고/가로형 썸네일)/텍스트 리소스를 점검하고, 이미지 자동 생성 옵션 제공. 세로형 스크린샷은 implement 이후 /ait-screenshots 가 담당
앱인토스 미니앱 전체 출시 플로우를 8단계(기획→리소스→스캐폴딩→TDS→구현→스크린샷→검수→빌드)로 순차 실행
앱의 .meta-dashboard.json을 PRD와 소스코드 분석으로 자동 생성합니다.
미니앱 기본 틀(React + Vite + granite)을 세팅하고, PRD 에 맞춰 라우팅/서버 데이터/TDS 를 자동 판단해 설치합니다.
typecheck→lint→ait build 순서로 빌드하고 .ait 번들 용량 검증 및 콘솔 업로드 절차 안내
Claude 스킬·에이전트가 정상 동작할 수 있는 환경인지 점검. 시스템·MCP·에셋 도구·환경변수를 한 번에 확인하고 실패 항목에 대한 해결 가이드를 제공.
| name | ait-add-query |
| description | 서버에서 데이터를 받아와 화면에 보여주는 TanStack Query 를 앱에 붙입니다. 로딩/에러/캐시 처리가 자동으로 됩니다. |
| argument-hint | |
| mode | automated |
| step | null |
| label | 서버 데이터 연결 |
| produces | TanStack Query + QueryProvider 설정 |
| requires | ["ait-scaffold"] |
| inputs | [] |
| outputs | [{"key":"queryProvider","type":"config","path":"apps/<appName>/src/providers/QueryProvider.tsx"}] |
| idempotencyKey | ait-add-query |
API 에서 데이터를 받아와 화면에 뿌리고 싶을 때 TanStack Query 를 붙여줍니다. 로딩 스피너, 에러 메시지, 재시도, 캐시 — 이걸 수동으로 짜지 않아도 되는 게 장점이에요.
단순 로컬 상태만 다루면 필요 없어요. useState 로 충분합니다.
Idempotent 체크: package.json 에 @tanstack/react-query 가 이미 있으면 "이미 설치됨" 로그만 남기고 종료. QueryProvider 래핑 누락만 재점검해서 빠진 부분만 채운다.
앱 디렉토리 확인: apps/<app-name>/. 없으면 스캐폴딩 미완료 상태로 보고 실패 메시지로 종료 (외부 스킬 호출 권유 금지).
패키지 설치
pnpm --filter @barreleye/<app-name> add @tanstack/react-query
src/providers/QueryProvider.tsx 생성 (아래 보일러플레이트).
src/main.tsx 에서 <QueryProvider> 로 <App /> 을 감싸기.
예시 훅 하나 (src/hooks/useExampleQuery.ts) 를 만들어 useQuery 쓰는 법 시연.
pnpm --filter @barreleye/<app-name> typecheck
src/providers/QueryProvider.tsx
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import type { ReactNode } from 'react';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 1000 * 60, // 1분 동안은 캐시된 값 그대로 사용
retry: 1,
},
},
});
export function QueryProvider({ children }: { children: ReactNode }) {
return <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>;
}
예시 훅
import { useQuery } from '@tanstack/react-query';
export function useExampleQuery() {
return useQuery({
queryKey: ['example'],
queryFn: async () => {
const res = await fetch('/api/example');
if (!res.ok) throw new Error('failed');
return res.json() as Promise<{ message: string }>;
},
});
}
main.tsx 가 QueryProvider 로 감싸져 있음설치·Provider 래핑·typecheck 가 끝나면 짧은 완료 보고 한 번만 출력하고 세션을 마무리한다.
형식:
✅ TanStack Query 추가 완료
설치: @tanstack/react-query
세팅: src/providers/QueryProvider.tsx, src/main.tsx 래핑, 예시 훅 1개
규칙: 완료 보고 1회 후 종료.