LogoSkills

checklist:pr-review

Checklist for PR reviews

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/checklist:pr-review
Aliases/check:pr, /pr:checklist
Categorykobic-development
Complexitymoderate
MCP Serversserena

/checklist:pr-review โ€” PR ํ•ฉ์น˜๊ธฐ ์ „ ์ ๊ฒ€ํ‘œ#

ํ•œ๋งˆ๋””๋กœ#

์ฝ”๋“œ ๋ณ€๊ฒฝ(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/code-review.md