TL;DR
- Claude Code 스킬로 반복 작업을 자동화하고 일관된 코드 패턴 유지
- api-endpoint-creator 스킬: Next.js 15 API 엔드포인트 생성 가이드
- skill-wizard를 활용한 대화형 스킬 생성 워크플로우
- GitHub 저장소: greeun/api-endpoint-creator
왜 Claude Code 스킬이 필요한가?
현재 진행하고 있는 프로젝트에 159개의 API 엔드포인트가 있습니다. 이런 규모있는 프로젝트를 개발하다 보면, 새로운 API를 추가할 때마다 동일한 패턴을 반복해서 작성해야 합니다.
- 인증 미들웨어 설정 (withAuthApi, withPublicApi, withAdminApi)
- Zod 스키마로 입력 검증
- AppError로 에러 처리
- NextApiResponse 헬퍼로 응답 형식 통일
- 의존성 방향 규칙 준수 (src/shared → src/lib 역방향 금지)
매번 기존 코드를 찾아보거나 문서를 참조하는 것은 비효율적입니다. Claude Code 스킬을 만들면 이런 반복 작업을 자동화하고, 프로젝트의 코딩 컨벤션을 일관되게 유지할 수 있습니다.
스킬의 필요성: 3가지 핵심 이유
| 상황 | 스킬 없음 | 스킬 있음 |
|---|---|---|
| 반복 작업 발생 | 매번 문서 검색 → 시간 낭비 | 자연어로 요청 → 자동 생성 |
| 코드 품질 | 개발자마다 스타일 불일치 | 일관된 패턴 유지 |
| 신규 팀원 | 긴 학습 곡선 | 스킬이 컨벤션 가이드 |
1. 일관성 (Consistency)
프로젝트가 커질수록 여러 개발자가 참여하고, 코드 스타일이 제각각이 될 수 있습니다. 스킬은 프로젝트의 베스트 프랙티스를 코드화하여 누가 작업하든 동일한 패턴을 따르게 합니다.
2. 생산성 (Productivity)
“favorites CRUD API 만들어줘”라고 말하면, 스킬이 프로젝트 패턴에 맞는 완전한 엔드포인트 코드를 생성합니다. 보일러플레이트 작성 시간을 대폭 절약할 수 있습니다.
3. 지식 보존 (Knowledge Preservation)
프로젝트의 아키텍처 결정, 에러 코드 체계, 검증 패턴 등을 스킬에 문서화하면 팀의 암묵지가 명시지로 변환됩니다. 새로운 팀원도 스킬을 통해 빠르게 프로젝트 컨벤션을 익힐 수 있습니다.
api-endpoint-creator 스킬 생성 과정
Step 1: 프로젝트 패턴 분석
먼저 기존 프로젝트의 API 패턴을 분석했습니다. 진행 중인 프로젝트는 다음과 같은 구조를 가지고 있었습니다:
| 항목 | 패턴 |
|---|---|
| 인증 | withAuthApi() 래퍼 + JWT 미들웨어 |
| 검증 | Zod 스키마 + refine()/transform() |
| 에러 | AppError(5자리 코드) + 에러 핸들러 |
| 응답 | NextApiResponse 헬퍼 (success/created/paginated) |
| 미들웨어 | MiddlewareChain으로 Express 스타일 구성 |
Step 2: skill-wizard로 스킬 생성
Claude Code의 /skill-wizard 커맨드를 사용하여 대화형으로 스킬을 생성했습니다:
/skill-wizard 로 api-endpoint-creator 스킬 만들어줘
Skill Wizard는 6단계 워크플로우를 따릅니다:
Purpose Discovery → Type Selection → Metadata Design → Content Architecture → Resource Planning → Validation & GenerationStep 3: 스킬 구조 설계
생성된 스킬의 디렉토리 구조:
api-endpoint-creator/
├── SKILL.md # 메인 가이드
├── README.md # 사용법 문서
└── references/
├── crud-template.md # CRUD 엔드포인트 템플릿
└── error-codes.md # 에러 코드 레퍼런스
스킬 핵심 기능
트리거 키워드
다음 키워드로 스킬이 자동 활성화됩니다:
- “API 만들어”
- “엔드포인트 추가”
- “route 생성”
- “CRUD API”
API 래퍼 가이드
| 래퍼 | 용도 | Rate Limit |
|---|---|---|
withPublicApi |
인증 불필요 (로그인, 회원가입) | 120/min |
withAuthApi |
로그인 필수 | 120/min |
withAdminApi |
관리자 전용 | 200/min |
코드 예시
스킬이 생성하는 API 엔드포인트 코드 패턴:
// src/app/api/[feature]/route.ts
import { withAuthApi } from '@/shared/@withwiz/middleware/wrappers';
import { NextApiResponse } from '@/lib/utils/api-response-nextjs';
import { IApiContext } from '@/shared/@withwiz/middleware/types';
import { z } from 'zod';
const createSchema = z.object({
name: z.string().min(1).max(100),
});
export const POST = withAuthApi(async (context: IApiContext) => {
const body = await context.request.json();
const data = createSchema.parse(body);
const result = await someService.create(data, context.user!.id);
return NextApiResponse.created(result);
});
GitHub 저장소
스킬을 GitHub에 공개하여 다른 프로젝트에서도 참고할 수 있도록 했습니다.
다음 단계: 추가로 만들 스킬들
프로젝트에 더 필요한 스킬들을 식별했습니다. 그리고 그 다음엔 스킬이 스킬을 혼합하는 스킬이 예정되어 있습니다.
| 스킬명 | 용도 | 우선순위 |
|---|---|---|
| dependency-guard | src/shared/ ↔ src/lib/ 역방향 의존성 검사 | ⭐⭐⭐ |
| i18n-sync | 다국어 키 동기화 (ko/en/ja) | ⭐⭐⭐ |
| schema-migrator | 스키마 변경 → 마이그레이션 자동화 | ⭐⭐⭐ |
| cache-strategist | Redis/InMemory 캐시 전략 가이드 | ⭐⭐ |
결론
Claude Code 스킬은 단순한 코드 생성 도구가 아닙니다. 프로젝트의 아키텍처 결정을 코드화하고, 팀의 개발 문화를 표준화하는 도구입니다.
반복적으로 하는 작업이 있다면, 스킬로 만들어보세요. skill-wizard가 대화형으로 가이드해줍니다:
/skill-wizard 로 [스킬명] 스킬 만들어줘