PR 리뷰를 할 때마다 같은 과정을 반복합니다. 변경 파일 확인, 테스트 실행, 코딩 컨벤션 검사, 보안 이슈 확인. 이 과정을 매번 지시하는 것은 비효율적입니다. Skills로 패키징하면 한 번에 실행할 수 있습니다.
여러 단계로 이루어진 복잡한 작업을 정의하고 재사용하는 기능입니다. SKILL.md 파일에 작업 순서, 규칙, 컨텍스트를 작성합니다.
Slash Commands가 단순 프롬프트 단축키라면, Skills는 다단계 워크플로를 포함하는 더 정교한 자동화입니다.
워크플로(Workflow): 목표 달성을 위한 작업 단계의 연속. Skills는 이 단계를 정의하고 Claude Code가 순서대로 실행하게 합니다.
Skills는 .claude/skills/ 디렉토리에 마크다운 파일로 정의합니다.
.claude/
skills/
pr-review.md
deploy-check.md
db-migration.md
feature-scaffold.md
<!-- .claude/skills/pr-review.md -->
# PR 리뷰
## 목적
변경된 코드를 다음 기준으로 체계적으로 검토한다.
## 실행 순서
1. **변경 파일 파악**
- git diff --name-only로 변경 파일 목록 확인
- 변경 범위와 영향도 파악
2. **테스트 실행**
- npm test 실행
- 실패하는 테스트가 있으면 먼저 보고
3. **코드 품질 검토**
- 코딩 컨벤션 준수 여부
- 중복 코드 여부
- any 타입 사용 여부
4. **보안 검토**
- 인증/인가 누락 여부
- SQL Injection 위험 여부
- 민감 정보 하드코딩 여부
5. **리뷰 결과 정리**
- 필수 수정 항목
- 선택 개선 항목
- 전반적 평가
## 출력 형식
마크다운 표로 정리하고 각 항목에 심각도(Critical/Major/Minor) 표시
claude> /skills
사용 가능한 Skills 목록이 표시됩니다.
claude> /skills pr-review
특정 Skill을 실행합니다.
Skill 실행 시 CLAUDE.md와 SKILL.md가 함께 로드됩니다. 프로젝트 규칙과 Skill 정의가 함께 컨텍스트로 제공됩니다.
Skill 파일 내에서 다른 파일을 참조할 수도 있습니다.
## 컨텍스트
- 프로젝트 구조: src/ARCHITECTURE.md 참고
- API 스펙: docs/api.md 참고
- 배포 프로세스: .claude/skills/deploy-check.md 참고
<!-- .claude/skills/feature-scaffold.md -->
# 기능 스캐폴딩
새 기능 모듈을 생성하는 표준 절차.
## 입력
- 기능 이름 (예: payment, notification)
## 생성 항목
1. src/modules/{name}/{name}.module.ts
2. src/modules/{name}/{name}.controller.ts
3. src/modules/{name}/{name}.service.ts
4. src/modules/{name}/dto/create-{name}.dto.ts
5. src/modules/{name}/{name}.service.spec.ts
## 규칙
- NestJS 모듈 구조 준수
- Swagger 데코레이터 반드시 포함
- 단위 테스트 파일 포함
<!-- .claude/skills/db-migration.md -->
# DB 마이그레이션 체크
마이그레이션 실행 전 안전성을 확인하는 절차.
## 체크 순서
1. 마이그레이션 파일 내용 출력
2. 영향받는 테이블과 컬럼 파악
3. 롤백 가능 여부 확인
4. 데이터 손실 위험 여부 확인
5. 확인 요청 후 실행
Skills 파일을 수정한 뒤 Claude Code 재시작 없이 즉시 반영합니다.
claude> /reload-skills
| 항목 | Skills | Custom Commands |
|---|---|---|
| 복잡도 | 다단계 워크플로 | 단순 프롬프트 |
| 실행 방식 | /skills name | /name |
| 컨텍스트 로딩 | 명시적 파일 참조 가능 | 파일 내용이 곧 프롬프트 |
| 적합한 용도 | 체계적 절차가 필요한 작업 | 자주 쓰는 짧은 지시 |