LogoSkills

pr-review-processor-agent

An agent that automatically reviews and applies AI code reviews posted on PRs.

ํ•ญ๋ชฉ๋‚ด์šฉ
Modelsonnet

/pr-review-processor โ€” AI ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ž๋™ ๋ฐ˜์˜ ๋„์šฐ๋ฏธ#

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

PR(์ฝ”๋“œ ๋ณ€๊ฒฝ ์ œ์•ˆ์„œ)์— AI ๋ฆฌ๋ทฐ์–ด(Gemini, Claude, Copilot ๋“ฑ)๊ฐ€ ๋‚จ๊ธด ์ง€์  ์‚ฌํ•ญ์„ ์‚ฌ๋žŒ ๋Œ€์‹  ์ฝ๊ณ , ๋งž๋Š” ์ง€์ ์€ ์ฝ”๋“œ์— ๋ฐ”๋กœ ๊ณ ์ณ ๋ฐ˜์˜ํ•˜๊ณ , ํ‹€๋ฆฐ ์ง€์ ์€ ๊ฑธ๋Ÿฌ์„œ ๊ทœ์น™์œผ๋กœ ์ •๋ฆฌํ•ด ๋‘๋Š” ์ž๋™ ๋น„์„œ์ž…๋‹ˆ๋‹ค. ๋งˆ์น˜ ์—ฌ๋Ÿฌ ๊ฒ€ํ†  ์˜๊ฒฌ์„ ๋ฐ›์•„ "์ด๊ฑด ๋ฐ˜์˜, ์ €๊ฑด ๋ฐ˜๋ ค"๋ฅผ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด ์ฃผ๋Š” ํŽธ์ง‘ ๋‹ด๋‹น์ž์™€ ๊ฐ™์•„์š”.

๋ˆ„๊ฐ€ยท์–ธ์ œ ์“ฐ๋‚˜์š”#

  • PR์— AI ๋ฆฌ๋ทฐ ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์ž”๋œฉ ๋‹ฌ๋ ค์„œ ํ•˜๋‚˜ํ•˜๋‚˜ ์ง์ ‘ ํ™•์ธํ•˜๊ณ  ๊ณ ์น˜๊ธฐ ๋ฒˆ๊ฑฐ๋กœ์šธ ๋•Œ
  • ์ƒˆ ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์˜ฌ๋ฆฐ ๋’ค, AI ๋ฆฌ๋ทฐ ์ง€์ ๋“ค์„ ๋น ๋ฅด๊ฒŒ ์ •๋ฆฌํ•˜๊ณ  ๋ฐ˜์˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ

๋ฌด์—‡์„ ํ•ด์ฃผ๋‚˜์š”#

  • AI ๋ฆฌ๋ทฐ์–ด๋“ค์ด ๋‚จ๊ธด ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋ชจ์•„ ํƒ€๋‹นํ•œ ์ง€์ ์€ ์ฝ”๋“œ์— ์ง์ ‘ ๋ฐ˜์˜ํ•˜๊ณ , ๋ณ€๊ฒฝ์„ ์ปค๋ฐ‹ยทํ‘ธ์‹œ๊นŒ์ง€ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ํƒ€๋‹นํ•˜์ง€ ์•Š์€ ์ง€์ (ํ”„๋กœ์ ํŠธ ๊ทœ์น™ยท์•„ํ‚คํ…์ฒ˜์™€ ์ถฉ๋Œํ•˜๋Š” ๊ฒฝ์šฐ)์€ ๋ฐ˜๋ คํ•˜๊ณ , ๊ทธ ํŒจํ„ด์„ CLAUDE.md ๊ทœ์น™ ํŒŒ์ผ์— ์ถ”๊ฐ€ํ•ด ๊ฐ™์€ ์ง€์ ์ด ๋ฐ˜๋ณต๋˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งˆ์ง€๋ง‰์— ๋ฐ˜์˜๋œ ๋ฆฌ๋ทฐ / ๋ฐ˜๋ ค๋œ ๋ฆฌ๋ทฐ / CLAUDE.md ์—…๋ฐ์ดํŠธ ๋‚ด์—ญ์„ ํ‘œ๋กœ ์ •๋ฆฌํ•ด ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜์š”#

# ํŠน์ • PR(์˜ˆ: 1639๋ฒˆ)์˜ ๋ฆฌ๋ทฐ๋ฅผ ์ฒ˜๋ฆฌ
/pr-review-processor 1639

# ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ์—ด๋ ค ์žˆ๋Š” PR์˜ ๋ฆฌ๋ทฐ๋ฅผ ์ฒ˜๋ฆฌ
/pr-review-processor

PR ๋ฒˆํ˜ธ๋ฅผ ์ ์œผ๋ฉด ๊ทธ PR์„, ์ƒ๋žตํ•˜๋ฉด ์ง€๊ธˆ ์ž‘์—… ์ค‘์ธ ๋ธŒ๋žœ์น˜์˜ ์—ด๋ฆฐ PR์„ ์ž๋™์œผ๋กœ ์ฐพ์•„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š”#

  1. ๋ฆฌ๋ทฐ ์ˆ˜์ง‘ โ€” GitHub์—์„œ ํ•ด๋‹น PR์— ๋‹ฌ๋ฆฐ ๋ฆฌ๋ทฐ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  2. AI ๋ฆฌ๋ทฐ์–ด๋งŒ ์ถ”๋ฆฌ๊ธฐ โ€” Gemini, Claude, Copilot ๋“ฑ AI๊ฐ€ ๋‚จ๊ธด ๋ฆฌ๋ทฐ๋งŒ ๊ณจ๋ผ๋ƒ…๋‹ˆ๋‹ค.
  3. ํ•˜๋‚˜์”ฉ ํŒ๋‹จ โ€” ํƒ€๋‹นํ•œ ์ง€์ ์ด๋ฉด ์ฝ”๋“œ๋ฅผ ๊ณ ์น˜๊ณ , ํƒ€๋‹นํ•˜์ง€ ์•Š์œผ๋ฉด CLAUDE.md์— ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐ˜์˜ํ•˜๋Š” ๊ฒฝ์šฐ: ์ค‘๋ณต ์ œ๊ฑฐ, ๊ฒ€์ฆ(null/๋นˆ ๊ฐ’) ์ถ”๊ฐ€, ์„ฑ๋Šฅ ์ตœ์ ํ™”, ๋ณด์•ˆ ์ทจ์•ฝ์  ์ˆ˜์ •, ์ ‘๊ทผ์„ฑยท์‚ฌ์šฉ์„ฑ ๊ฐœ์„ , ํƒ€์ž… ์•ˆ์ „์„ฑ ๊ฐ•ํ™” ๋“ฑ
    • ๋ฐ˜๋ คํ•˜๋Š” ๊ฒฝ์šฐ: ํ”„๋กœ์ ํŠธ lint ๊ทœ์น™ยท์•„ํ‚คํ…์ฒ˜ ํŒจํ„ดยท์ตœ์‹  Dart/Flutter ๊ด€๋ก€ยทCLAUDE.md ๊ทœ์น™๊ณผ ์ถฉ๋Œํ•˜๋Š” ์ง€์ 
  4. ๋ณ€๊ฒฝ ์ €์žฅ โ€” ๊ณ ์นœ ๋‚ด์šฉ์ด ํ’ˆ์งˆ ๊ฒ€์‚ฌ(ํฌ๋งทยท๋ฆฐํŠธยทDCM 0๊ฑด)๋ฅผ ํ†ต๊ณผํ•œ ๋’ค์—๋งŒ ์ปค๋ฐ‹ํ•˜๊ณ  ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
  5. ๊ฒฐ๊ณผ ์š”์•ฝ ์ถœ๋ ฅ โ€” ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / AI ์—์ด์ „ํŠธ์šฉ)

Role#

  1. Review Collection: Query PR comments via GitHub API
  2. Review Analysis: Determine validity and classify priorities
  3. Code Modification: Apply valid reviews
  4. Rule Update: Add invalid review patterns to CLAUDE.md

Execution Flow#

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  PR Review Processor Flow                                   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  1. Query PR review comments via gh api                     โ”‚
โ”‚  2. Filter AI reviewers (gemini, claude, copilot)           โ”‚
โ”‚  3. Analyze each review:                                    โ”‚
โ”‚     - Valid โ†’ modify code                                   โ”‚
โ”‚     - Invalid โ†’ add rule to CLAUDE.md                       โ”‚
โ”‚  4. Per-Push Verification Gate (required before push):      โ”‚
โ”‚     melos run format โ†’ dart fix --apply โ†’                   โ”‚
โ”‚     melos run analyze (0 issues) โ†’                          โ”‚
โ”‚     melos run dcm:analyze (0 error issues)                  โ”‚
โ”‚     โ†’ gate failure = push blocked (fix first)               โ”‚
โ”‚  5. Commit and push changes                                 โ”‚
โ”‚  6. Output processing result summary                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Review Validity Criteria#

โœ… Valid Reviews (Apply)#

  • Code duplication removal (DRY principle)
  • Adding validation checks (null/empty checks)
  • Performance optimization (removing unnecessary computation)
  • Security vulnerability fixes
  • Accessibility improvements
  • UX improvements (user experience)
  • Type safety enhancement

โŒ Invalid Reviews (Reject + Add Rule)#

  • Conflicts with project lint rules
  • Inconsistent with existing architecture patterns
  • Conflicts with latest Dart/Flutter conventions
  • Violates rules specified in CLAUDE.md

Usage Examples#

# Process specific PR review
/pr-review-processor 1639

# Process review for current branch ' s open PR
/pr-review-processor

Output Format#

## PR #1639 Code Review Processing Result

### โœ… Applied Reviews (3 items)
| File | Line | Content | Action |
|------|------|---------|--------|
| file.dart | 45 | Add validation | Code modified |

### โŒ Rejected Reviews (1 item)
| File | Line | Content | Reason |
|------|------|---------|--------|
| file.dart | 10 | ... | Project convention conflict |

### ๐Ÿ“ CLAUDE.md Updated
- Added rule: ...

MCP Tool Usage#

  • gh api - Query GitHub PR comments
  • Read - Read files
  • Edit - Modify code
  • Bash - Git operations