web-frontend/src/main/v3/.claude/skills/create-api-hook/SKILL.md
useGetXxx 패턴에 따라 새 React Query API 훅을 생성합니다. 새 백엔드 API를 연동하거나, 엔드포인트에 대한 훅이 필요하거나, 데이터 페칭 로직을 추가할 때 반드시 이 스킬을 사용하세요.
npx skillsauth add pinpoint-apm/pinpoint create-api-hookInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
$ARGUMENTS 설명을 가진 $0 엔드포인트에 대한 새 API 훅을 생성합니다.
다음 단계를 따르세요:
packages/ui/src/hooks/api/reactQueryHelper.ts를 읽어 queryFn과 queryClient 이해packages/ui/src/constants/EndPoints.ts에서 엔드포인트 네이밍 확인packages/ui/src/hooks/api/의 유사한 기존 훅에서 패턴 파악packages/ui/src/constants/EndPoints.ts에 엔드포인트 상수 추가:
export const NEW_ENDPOINT = `/api/path/to/endpoint`;
packages/ui/src/constants/types/에 타입 생성 또는 확장:
export namespace GetNewData {
export interface Parameters {
applicationName: string;
from: number;
to: number;
// ... 기타 파라미터
}
export interface Response {
// ... 응답 형태
}
}
packages/ui/src/constants/types/index.ts에서 익스포트.
packages/ui/src/hooks/api/useGetNewData.ts 생성:
import { useQuery } from '@tanstack/react-query';
import { END_POINTS, GetNewData } from '@pinpoint-fe/ui/src/constants';
import { convertParamsToQueryString } from '@pinpoint-fe/ui/src/utils';
import { queryFn } from './reactQueryHelper';
export const useGetNewData = (params: GetNewData.Parameters) => {
const queryString = convertParamsToQueryString(params);
return useQuery<GetNewData.Response>({
queryKey: [END_POINTS.NEW_ENDPOINT, queryString],
queryFn: queryFn(`${END_POINTS.NEW_ENDPOINT}?${queryString}`),
enabled: !!params.applicationName,
gcTime: 30000,
});
};
packages/ui/src/hooks/api/index.ts (또는 해당하는 배럴 파일)에서 익스포트.
enabled 사용reactQueryHelper.ts의 queryFn 사용 — 직접 fetch를 구현하지 마세요useQuery 대신 useMutation 사용gcTime: 0 설정, 부드러운 전환을 위해 placeholderData: (prev) => prev 사용testing
변경되었거나 테스트가 없는 Pinpoint 프론트엔드 코드에 대한 Jest 테스트를 작성합니다. 훅, 아톰, 유틸리티, 컴포넌트에 테스트가 필요하거나 커버리지를 높여야 할 때 반드시 이 스킬을 사용하세요.
development
Pinpoint 프로젝트 규약에 따라 코드 변경을 리뷰합니다. 커밋 전, PR 리뷰, 또는 코드 품질을 점검할 때 반드시 이 스킬을 사용하세요.
testing
Pinpoint 프론트엔드 PR 전 QA 게이트. 빌드/테스트를 실행하고 변경된 코드에 대한 동작 QA를 수행합니다. 커밋하거나 PR을 올리기 전에 반드시 이 스킬을 먼저 실행하세요.
development
web-frontend, web, web-starter Maven 모듈을 skipTests 옵션으로 순차 빌드합니다.