| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Invoke | /checklist:pr-review |
| Aliases | /check:pr, /pr:checklist |
| Category | kobic-development |
| Complexity | moderate |
| MCP Servers | serena |
/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
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ณ๋ณ๋ก ์ง์ด ์ค๋๋ค.
- ๋น ๋ฅธ ์ ๊ฒ(5๋ถ) โ ๋น๋ ์ฑ๊ณต, ํ ์คํธ ํต๊ณผ, ๋ฆฐํธ ํต๊ณผ, ๋ณด์ ๋ฌธ์ ์์, ํธํ์ฑ ๊นจ์ง ์ฌ๋ถ๋ง ๋จผ์ ํ์ธํฉ๋๋ค.
- ์ ์ฒด ์ ๊ฒ โ PR ์ ๋ชฉยท์ด์ ์ฐ๊ฒฐ ๊ฐ์ ๋ฉํ ์ ๋ณด๋ถํฐ ๋ณ๊ฒฝ ๋ฒ์, ์ฝ๋ ํ์ง(์ํคํ ์ฒยท๋ค์ด๋ฐยท๊ตฌ์กฐ), ์ํ ๊ด๋ฆฌ, ํ ์คํธ, ๋ณด์, ์ฑ๋ฅ, ๋ค๊ตญ์ด, ์ ๊ทผ์ฑ, ๋ฌธ์๊น์ง 10๊ฐ ์์ญ์ ์ฐจ๋ก๋ก ๋ด ๋๋ค.
- ์ฐ์ ์์ ๋ถ๋ฅ โ ๋ฐ๊ฒฌํ ๋ฌธ์ ๋ฅผ "๋ฐ๋์ ๊ณ ์ณ์ผ ํจ / ๊ณ ์น๋ฉด ์ข์ / ์๊ฒฌ ์ ๋"๋ก ๋๋ ์ค๋๋ค.
- ์ฝ๋ฉํธยท๊ฒฐ๊ณผ ์์ฑ โ ์ ํด์ง ํ ํ๋ฆฟ์ผ๋ก ๋ฆฌ๋ทฐ ์ฝ๋ฉํธ์ ์ต์ข ๊ฒฐ๊ณผ(์น์ธยท์์ ์์ฒญยท์๊ฒฌ)๋ฅผ ์ผ๊ด๋๊ฒ ๋จ๊น๋๋ค.
โ๏ธ ์์ธ ์ต์ ยท์คํ ๋ช ์ธ (๊ฐ๋ฐ์ / 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
- Format:
- 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)#
- Build failure
- Test failure
- Security vulnerability
- Undocumented Breaking Change
- Architecture violation
Should-Have (can Approve after requesting improvements)#
- Insufficient performance optimization
- Insufficient test coverage
- Insufficient documentation
- Insufficient accessibility
Nice-to-Have (comment only)#
- Naming improvement suggestions
- Code style suggestions
- 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 issuesRequest 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