LogoSkills

checklist-pr-review

PR 을 합치기 전 빌드·테스트·보안·아키텍처·성능·접근성·문서를 순서대로 짚고, 5분 점검과 전체 점검 두 버전, Must/Should 우선순위, 리뷰 코멘트 문구 템플릿을 줍니다.

/cc-quality:checklist:pr-review — PR 합치기 전 점검표#

항목내용
실행 명령/cc-quality:checklist:pr-review
분류개발
난이도●●○ 보통
MCP 서버serena

한마디로#

코드 변경(PR)을 본 코드에 합치기 전에 빠뜨린 게 없는지 확인하는 체크리스트입니다. 비행기가 이륙하기 전 조종사가 한 줄씩 확인하는 점검표와 같다고 보면 됩니다.

누가·언제 쓰나요#

  • 동료의 코드 변경(Pull Request)을 검토(리뷰)할 때
  • "코드 리뷰 좀 해줘" 요청을 받았을 때
  • 변경 내용을 최종적으로 합치기(merge) 직전, 마지막 확인이 필요할 때

무엇을 해주나요#

  • 무엇을 봐야 하는지 정리된 항목들을 순서대로 짚어 줍니다 — 빌드·테스트·보안·아키텍처·성능·접근성·문서까지.
  • 빠르게 보고 넘어가야 할 때 쓰는 5분 점검과, 꼼꼼히 보는 전체 점검 두 버전을 제공합니다.
  • 어떤 문제는 반드시 고쳐야 하고(Must-Have), 어떤 건 권장 수준인지(Should/Nice) 우선순위를 알려 줍니다.
  • 리뷰 코멘트와 결과(승인/수정요청/의견)를 적을 때 바로 복사해 쓸 수 있는 문구 템플릿을 줍니다.

어떻게 쓰나요#

/checklist/pr-review [PR 번호 또는 링크]

CI(자동 빌드/테스트) 상태는 아래 명령으로 확인합니다.

gh pr checks [PR_NUMBER]
gh pr view [PR_NUMBER] --web

안에서 무슨 일이 벌어지나요#

리뷰를 단계별로 짚어 줍니다.

  1. 빠른 점검(5분) — 빌드 성공, 테스트 통과, 린트 통과, 보안 문제 없음, 호환성 깨짐 여부만 먼저 확인합니다.
  2. 전체 점검 — PR 제목·이슈 연결 같은 메타 정보부터 변경 범위, 코드 품질(아키텍처·네이밍·구조), 상태 관리, 테스트, 보안, 성능, 다국어, 접근성, 문서까지 10개 영역을 차례로 봅니다.
  3. 우선순위 분류 — 발견한 문제를 "반드시 고쳐야 함 / 고치면 좋음 / 의견 정도"로 나눠 줍니다.
  4. 코멘트·결과 작성 — 정해진 템플릿으로 리뷰 코멘트와 최종 결과(승인·수정요청·의견)를 일관되게 남깁니다.

⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)

Triggers#

  • During Pull Request reviews
  • When code review is requested
  • Final verification before merge

Usage#

/checklist/pr-review [PR number or link]

Quick Review (5-minute review)#

Minimum items to check when a quick review is needed:

  • Build success (CI)
  • Tests passing
  • Lint check passing
  • No security issues
  • Breaking Changes verified

Full Review Checklist#

1. PR Meta Information#

  • PR title follows convention
    • Format: type(scope): gitmoji description
  • Related issues linked
  • Appropriate labels assigned

2. Change Scope#

  • PR purpose is clear
  • Focused on a single purpose (one PR = one feature/fix)
  • Change scope is appropriate
  • No unnecessary file changes

3. Code Quality#

Architecture

  • Clean Architecture layer separation followed
  • Dependency direction correct (Domain ← Data ← Presentation)
  • No cross-feature module dependencies

Naming & Readability

  • Meaningful variable/function names
  • Project naming conventions followed
  • Appropriate comments

Code Structure

  • No duplicate code (DRY)
  • Single Responsibility Principle followed
  • Appropriate abstraction level

4. State Management (BLoC)#

  • Event/State are sealed class extends Equatable + copyWith (no @freezed)
  • Appropriate state separation
  • Error handling implemented
  • Loading state handled
  • Resources released in dispose

5. Testing#

  • Tests added for new features
  • Existing tests passing
  • Edge case tests included

6. Security#

  • No hardcoded secrets
  • No sensitive information in logs
  • Input validation applied

7. Performance#

  • No N+1 query issues
  • Unnecessary re-renders prevented
  • Image optimization applied
  • Appropriate caching strategy

8. Internationalization#

  • No hardcoded strings
  • Translation keys added

9. Accessibility#

  • Semantic labels applied
  • Touch target size appropriate

10. Documentation#

  • Public API documented
  • Breaking Changes documented

Review Priority#

Must-Have (cannot Approve)#

  1. Build failure
  2. Test failure
  3. Security vulnerability
  4. Undocumented Breaking Change
  5. Architecture violation

Should-Have (can Approve after requesting improvements)#

  1. Insufficient performance optimization
  2. Insufficient test coverage
  3. Insufficient documentation
  4. Insufficient accessibility

Nice-to-Have (comment only)#

  1. Naming improvement suggestions
  2. Code style suggestions
  3. Additional optimization suggestions

Review Comment Templates#

Required Fix (Blocking)#

🔴 **[Required]** {description}

{code location}: {file}:{line}

**Problem**: {problem description}
**Suggestion**: {solution}

Improvement Request (Non-blocking)#

🟡 **[Improvement]** {description}

{code location}: {file}:{line}

**Current**: {current code}
**Suggestion**: {improved code}

Suggestion/Question#

🟢 **[Suggestion]** {description}

{code location}: {file}:{line}

**Question/Suggestion**: {content}

Praise#

**Nice!** {description}

{code location}: {file}:{line}

{praise content}

Review Result Templates#

Approve ✅#

LGTM! 🎉

All checklist items verified.
- Build successful
- Tests passing
- No security issues

Request Changes 🔄#

Changes requested.

**Required fixes** (must resolve before merge):
1. {item 1}
2. {item 2}

**Recommended fixes** (optional):
1. {item 1}

Comment 💬#

Overall looks good. A few questions/suggestions.

**Questions**:
1. {question 1}

**Suggestions**:
1. {suggestion 1}

CI/CD Verification#

gh pr checks [PR_NUMBER]
gh pr view [PR_NUMBER] --web
  • Build successful
  • Test successful
  • Lint successful
  • Coverage check

References#

  • Detailed checklist: .claude/checklists/pr-review.md
  • Feature complete checklist: .claude/commands/checklist/feature-complete.md
  • Code review skill: .claude/commands/quality:review.md