원클릭으로
verify-api-contracts
REST API 응답 DTO 일관성 및 에러 코드 표준 검증. API 엔드포인트 추가/수정, DTO 변경, 에러 처리 수정 후 사용. API 계약 변경이 프론트엔드에 영향을 줄 수 있을 때 사용.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
REST API 응답 DTO 일관성 및 에러 코드 표준 검증. API 엔드포인트 추가/수정, DTO 변경, 에러 처리 수정 후 사용. API 계약 변경이 프론트엔드에 영향을 줄 수 있을 때 사용.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | verify-api-contracts |
| description | REST API 응답 DTO 일관성 및 에러 코드 표준 검증. API 엔드포인트 추가/수정, DTO 변경, 에러 처리 수정 후 사용. API 계약 변경이 프론트엔드에 영향을 줄 수 있을 때 사용. |
REST API 응답 형식의 일관성, 에러 코드 표준, 프론트엔드 API 클라이언트와의 동기화를 검증합니다.
모든 에러 응답은 ErrorResponse 형식을 따라야 합니다:
{
"error": {
"code": "NOT_FOUND",
"message": "Inquiry not found: {id}",
"status": 404,
"requestId": "uuid",
"timestamp": "2026-03-08T...",
"details": null
}
}
ErrorResponse 형식을 따르는가?grep -rn "ResponseEntity.status\|ResponseEntity.badRequest\|ResponseEntity.notFound" backend/app-api/src/main/java/ --include="*.java" | grep -v "test"
| 코드 | HTTP | 용도 |
|---|---|---|
| VALIDATION_ERROR | 400 | 입력 검증 실패 |
| NOT_FOUND | 404 | 리소스 없음 |
| UNAUTHORIZED | 401 | 인증 실패 |
| FORBIDDEN | 403 | 권한 부족 |
| CONFLICT | 409 | 상태 충돌 |
| RATE_LIMIT_EXCEEDED | 429 | 요청 제한 초과 |
| PAYLOAD_TOO_LARGE | 413 | 파일 크기 초과 |
| INTERNAL_ERROR | 500 | 서버 내부 오류 |
{Entity}ListResponse + 페이지네이션 필드 (content, page, size, totalElements, totalPages){Entity}ResponseCreate{Entity}RequestUpdate{Entity}Request 또는 Patch{Entity}Requestrecord 타입인가?파일: frontend/src/lib/api/client.ts
client.ts에 추가되었는가?client.ts에서 제거되었는가?# 백엔드 엔드포인트 목록
grep -rn "@GetMapping\|@PostMapping\|@PutMapping\|@PatchMapping\|@DeleteMapping" backend/app-api/src/main/java/ --include="*.java" | grep -v test
# 프론트엔드 API 호출 목록
grep -n "fetch\|apiClient" frontend/src/lib/api/client.ts
파일: frontend/src/lib/i18n/labels.ts
백엔드 enum 값에 대응하는 한국어 라벨이 있는지 확인합니다:
grep -n "label\|Label" frontend/src/lib/i18n/labels.ts
OffsetDateTime 사용 (TIMESTAMP WITH TIME ZONE)2026-03-08T12:00:00+09:00)new Date() 또는 toLocaleDateString('ko-KR') 파싱목록 API의 페이지네이션 파라미터:
page (0-based), size (기본 20), sort (선택)content, page, size, totalElements, totalPages파일: AnswerFeedbackController.java
피드백 API 엔드포인트가 올바르게 정의되어 있는지 확인합니다:
POST /api/v1/inquiries/{inquiryId}/answers/{answerId}/feedback — 피드백 생성GET /api/v1/inquiries/{inquiryId}/answers/{answerId}/feedback — 피드백 조회record 타입인가?client.ts에 피드백 API 호출이 추가되었는가?# 피드백 엔드포인트 확인
grep -n "@PostMapping\|@GetMapping\|feedback\|Feedback" backend/app-api/src/main/java/com/biorad/csrag/interfaces/rest/feedback/AnswerFeedbackController.java
# 프론트엔드 동기화 확인
grep -n "feedback" frontend/src/lib/api/client.ts
| File | Purpose |
|---|---|
backend/app-api/src/main/java/.../common/exception/ErrorResponse.java | 에러 응답 record |
backend/app-api/src/main/java/.../common/exception/GlobalExceptionHandler.java | 글로벌 예외 처리 |
backend/app-api/src/main/java/.../interfaces/rest/ | REST Controller + DTO |
frontend/src/lib/api/client.ts | 프론트엔드 API 클라이언트 |
frontend/src/lib/i18n/labels.ts | 한국어 라벨 매핑 |
backend/app-api/src/main/java/com/biorad/csrag/interfaces/rest/feedback/AnswerFeedbackController.java | 답변 피드백 엔드포인트 (POST/GET feedback) |
세션 변경사항을 분석하여 검증 스킬 누락을 탐지합니다. 기존 스킬을 동적으로 탐색하고, 새 스킬을 생성하거나 기존 스킬을 업데이트한 뒤 CLAUDE.md를 관리합니다.
Flyway DB 마이그레이션 일관성 검증. 마이그레이션 추가/수정 후 사용.
프론트엔드 UI 컴포넌트 품질 검증 (shadcn/ui + Tailwind 기준). UI 컴포넌트 수정 후 사용.
KB 비동기 인덱싱 파이프라인 검증. 인덱싱 관련 코드 수정 후 사용.
RAG 파이프라인 (답변 작성 + 분석 + 다운로드) 검증. 답변 작성/분석/다운로드 관련 코드 수정 후 사용.
문의 상세 페이지 UI 컴포넌트 검증 (shadcn/ui + Tailwind 기준). 문의 탭(Info/Analysis/Answer/History) 및 업로드 컴포넌트 수정 후 사용.