ait-add-query
서버에서 데이터를 받아와 화면에 보여주는 TanStack Query 를 앱에 붙입니다. 로딩/에러/캐시 처리가 자동으로 됩니다.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
서버에서 데이터를 받아와 화면에 보여주는 TanStack Query 를 앱에 붙입니다. 로딩/에러/캐시 처리가 자동으로 됩니다.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
앱인토스 콘솔 등록에 필요한 초기 이미지(로고/가로형 썸네일)/텍스트 리소스를 점검하고, 이미지 자동 생성 옵션 제공. 세로형 스크린샷은 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회 후 종료.