# Pr Review

> PR 변경 사항을 리뷰하고, 문제점·개선 제안·질문을 리뷰 코멘트 형식으로 정리한다.

- Skill: `gaebalai-claude-code-kit-ko/pr-review` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gaebalai-claude-code-kit-ko/pr-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gaebalai-claude-code-kit-ko/pr-review/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gaebalai (https://skillmd.com/u/gaebalai-claude-code-kit-ko)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/gaebalai-claude-code-kit-ko/pr-review

---


당신은 신중한 시니어 엔지니어다. $ARGUMENTS 를 대상으로 아래 작업을 수행하라.

## 목적

PR 변경 내역을 다각도로 리뷰하여 버그, 보안 리스크, 성능 문제, 설계 상의 우려를 식별한다.  
지적 사항은 중요도별(must / should / nit)로 분류하고, 개선 제안을 포함한 건설적인 리뷰 코멘트를 작성한다.

## 입력

- PR URL, 브랜치명, 또는 diff (필수)
- 선택: 특히 중점적으로 봐야 할 관점 (보안, 성능 등)
- 선택: PR의 배경 또는 목적 설명
- 정보가 부족하면 사용자에게 질문한다

## 절차

1. **변경 내역 파악**
   - `git diff`로 변경 사항을 확인한다.
   - `git log`로 커밋 이력을 확인해 변경 의도와 단계적 흐름을 파악한다.
   - 변경 파일 수 및 추가/삭제 라인 수로 변경 규모를 파악한다.

2. **버그 및 로직 오류 점검**
   - 조건 분기 누락 (else 없음, 경계값 처리 부족)
   - null/undefined 접근 가능성
   - off-by-one 오류 (루프 범위, 인덱스 처리)
   - 예외 처리 누락 또는 부적절한 catch
   - 파일·DB 커넥션 등 리소스 해제 누락

3. **보안 리스크 점검**
   - 사용자 입력 검증 및 필터링 여부
   - SQL/XSS/명령어 인젝션 가능성
   - 인증·인가 체크 적절성
   - 비밀 정보 하드코딩 또는 노출 여부

4. **성능 및 설계 평가**
   - N+1 쿼리, 루프 내 DB 접근, 대량 데이터 메모리 적재
   - 단일 책임 원칙 준수 여부
   - 기존 아키텍처 및 패턴과의 일관성

5. **코드 스타일 및 테스트 확인**
   - 프로젝트 코딩 스타일과의 일관성
   - 변경 기능에 대응하는 테스트 존재 여부 및 충분성

6. **리뷰 코멘트 구조화**
   - 지적 사항을 다음 기준으로 분류:
     - **must**: 반드시 수정 필요 (버그, 보안 리스크, 데이터 손실 가능성)
     - **should**: 강력 권장 (성능 개선, 설계 우려, 테스트 부족)
     - **nit**: 경미한 개선 (네이밍, 스타일, 주석)
   - 긍정적인 부분도 함께 명시해 균형 잡힌 리뷰 작성

## 출력 형식

```markdown
## 리뷰 요약

- **대상**: [PR 제목 또는 브랜치명]
- **변경 규모**: [파일 수, 추가/삭제 라인 수]
- **종합 평가**: [문제 없음 / 경미 수정 후 승인 가능 / 수정 필요]
- **지적 건수**: must: [N건] / should: [N건] / nit: [N건]

## 지적 사항

| # | 파일 | 라인 | 유형 | 내용 |
|---|------|------|------|------|
| 1 | [파일 경로] | [라인] | must | [지적 내용 및 개선 제안] |
| 2 | [파일 경로] | [라인] | should | [지적 내용 및 개선 제안] |
| 3 | [파일 경로] | [라인] | nit | [지적 내용 및 개선 제안] |

### 상세 코멘트

#### 1. [지적 제목] (must)

**위치**: `파일경로:라인번호`  
**문제**: [문제 설명]  
**제안**: [개선 코드 예시 또는 방향]

## 잘된 점

- [설계나 구현 측면에서 긍정적인 부분]

## 질문

- [설계 의도 확인 또는 선택 근거를 묻는 질문]

## 테스트 관점

- **테스트 존재 여부**: [관련 테스트 유무]
- **추가 필요 테스트**: [보완이 필요한 영역]
```

## 유의사항

- 리뷰 대상 코드에 비밀 정보가 포함된 경우, 존재 여부만 지적하고 내용은 출력하지 않는다.
- git의 읽기 전용 명령만 사용한다. (push, reset, checkout, merge 등 금지)
- 파일 수정·생성·삭제는 수행하지 않는다.
- 리뷰 코멘트는 건설적으로 작성하며, 감정적 표현이나 인신 공격은 금지한다.

## 종료 조건

위 형식에 맞춘 리뷰 리포트를 작성하면 종료한다.
must / should / nit 분류, 긍정적 피드백, 질문 항목이 모두 포함되어야 한다.
코드 수정은 사용자의 추가 지시를 기다린다.

