ROACH PI provides two code review modes with different depth and cost trade-offs:
ROACH PIλ κΉμ΄μ λΉμ© νΈλ μ΄λμ€νκ° λ€λ₯Έ λ κ°μ§ μ½λ 리뷰 λͺ¨λλ₯Ό μ 곡ν©λλ€:
/review β
single-pass review performed directly by the current agent. Fast, lightweight, no subagent overhead.
νμ¬ μμ΄μ νΈκ° μ§μ μννλ λ¨μΌ ν¨μ€ 리뷰. λΉ λ₯΄κ³ κ°λ²Όμ°λ©° μλΈμμ΄μ νΈ μ€λ²ν€λ μμ.
/ultrareview β
multi-agent pipeline that dispatches 10 parallel reviewers, a verification pass, and a synthesis step. Thorough but slower.
10κ°μ λ³λ ¬ 리뷰μ΄, κ²μ¦ ν¨μ€, μ’
ν© λ¨κ³λ₯Ό λμ€ν¨μΉνλ λ€μ€ μμ΄μ νΈ νμ΄νλΌμΈ. μ² μ νμ§λ§ λλ¦Ό.
/review
β Single-Pass Review
β λ¨μΌ ν¨μ€ 리뷰
target can be a PR number, PR URL, branch name, or omitted for auto-detection. No confirmation is required β the review starts immediately.
targetμ PR λ²νΈ, PR URL, λΈλμΉ μ΄λ¦, λλ μλ κ°μ§λ₯Ό μν΄ μλ΅ν μ μμ΅λλ€. νμΈ μμ΄ λ¦¬λ·°κ° μ¦μ μμλ©λλ€.
The target is validated against /^[a-zA-Z0-9._/:\-]+$/ before any prompt is sent. Shell metacharacters (;, |, &, >, `, $()) are rejected immediately to prevent injection into the downstream gh / git commands.
νκ²μ ν둬ννΈ μ μ‘ μ μ /^[a-zA-Z0-9._/:\-]+$/λ‘ κ²μ¦λ©λλ€. μ
Έ λ©νλ¬Έμ(;, |, &, >, `, $())λ λ€μ΄μ€νΈλ¦Ό gh / git λͺ
λ Ήμ΄λ‘μ μΈμ μ
μ λ°©μ§νκΈ° μν΄ μ¦μ κ±°λΆλ©λλ€.
The review is output directly to chat, grouped by file. Each finding includes: what, where (file:line), severity (Critical/High/Medium/Low), and a one-line suggested fix. No file is saved and no subagents are dispatched.
리뷰λ νμΌλ³λ‘ κ·Έλ£Ήνλμ΄ μ±ν μ μ§μ μΆλ ₯λ©λλ€. κ° λ°κ²¬ μ¬νμ λ΄μ©, μμΉ(file:line), μ¬κ°λ(Critical/High/Medium/Low), ν μ€ μμ μ μμ ν¬ν¨ν©λλ€. νμΌμ μ μ₯λμ§ μκ³ μλΈμμ΄μ νΈλ λμ€ν¨μΉλμ§ μμ΅λλ€.
Both /review and /ultrareview use the same target resolution logic:
/reviewμ /ultrareview λͺ¨λ λμΌν νκ² ν΄κ²° λ‘μ§μ μ¬μ©ν©λλ€:
| Targetνκ² | Commandλͺ λ Ήμ΄ |
|---|---|
| PR numberPR λ²νΈ | gh pr diff <number> |
| PR URLPR URL | gh pr diff <url> |
| Branch nameλΈλμΉ μ΄λ¦ | git diff main...<topic> |
| Auto (PR found)μλ (PR λ°κ²¬) | gh pr list --head <branch> β gh pr diff <number> |
| Auto (no PR)μλ (PR μμ) | git diff main...HEAD + git diff + git diff --cached |
gh accepts PR numbers and full GitHub PR URLs interchangeably β no special URL parsing is needed.
ghλ PR λ²νΈμ μ 체 GitHub PR URLμ μνΈ κ΅νμ μΌλ‘ νμ©ν©λλ€ β λ³λμ URL νμ±μ΄ νμ μμ΅λλ€.
/ultrareview
β Multi-Agent Pipeline β λ€μ€ μμ΄μ νΈ νμ΄νλΌμΈ
The ultrareview command dispatches a 3-stage pipeline with up to 12 subagent invocations. A confirmation dialog is required before the pipeline starts.
ultrareview λͺ λ Ήμ΄λ μ΅λ 12κ°μ μλΈμμ΄μ νΈ νΈμΆλ‘ 3λ¨κ³ νμ΄νλΌμΈμ λμ€ν¨μΉν©λλ€. νμ΄νλΌμΈ μμ μ νμΈ λνμμκ° νμν©λλ€.
The diff is resolved once and written to a shared artifact (e.g. docs/engineering-discipline/reviews/.tmp/<date>-<topic>.diff). Then 10 subagents are dispatched in parallel β 5 reviewer roles Γ 2 seeds each. Seed 2 is instructed to focus on findings seed 1 might miss.
diffλ ν λ² ν΄κ²°λμ΄ κ³΅μ μν°ν©νΈ(μ: docs/engineering-discipline/reviews/.tmp/<date>-<topic>.diff)μ μμ±λ©λλ€. κ·Έ ν 10κ°μ μλΈμμ΄μ νΈκ° λ³λ ¬λ‘ λμ€ν¨μΉλ©λλ€ β 5κ° λ¦¬λ·°μ΄ μν Γ μλ 2κ°. μλ 2λ μλ 1μ΄ λμΉ μ μλ λ°κ²¬μ μ§μ€νλλ‘ μ§μλ°μ΅λλ€.
reviewer-verifier is dispatched in single mode with the aggregated findings from all 10 reviewers. It deduplicates findings, filters false positives, and assigns final severity and confidence ratings.
10κ° λ¦¬λ·°μ΄μ λͺ¨λ μ§κ³λ λ°κ²¬κ³Ό ν¨κ» reviewer-verifierκ° λ¨μΌ λͺ¨λλ‘ λμ€ν¨μΉλ©λλ€. λ°κ²¬μ μ€λ³΅ μ κ±°νκ³ , μμμ±μ νν°λ§νλ©°, μ΅μ’
μ¬κ°λ λ° μ λ’°λ λ±κΈμ λΆμ¬ν©λλ€.
review-synthesis is dispatched in single mode with the verified findings. It produces a structured report and saves it to docs/engineering-discipline/reviews/<YYYY-MM-DD>-<topic>-review.md. A 5-item top-priority summary is also streamed to chat.
κ²μ¦λ λ°κ²¬κ³Ό ν¨κ» review-synthesisκ° λ¨μΌ λͺ¨λλ‘ λμ€ν¨μΉλ©λλ€. ꡬ쑰νλ 리ν¬νΈλ₯Ό μμ±νκ³ docs/engineering-discipline/reviews/<YYYY-MM-DD>-<topic>-review.mdμ μ μ₯ν©λλ€. μ΅μ°μ 5κ° νλͺ© μμ½λ μ±ν
μ μ€νΈλ¦¬λ°λ©λλ€.
No agent whose name contains "worker" is ever dispatched in this pipeline β only reviewer-* and review-synthesis are allowed.
μ΄ νμ΄νλΌμΈμμλ μ΄λ¦μ "worker"κ° ν¬ν¨λ μμ΄μ νΈλ λμ€ν¨μΉλμ§ μμ΅λλ€ β reviewer-*μ review-synthesisλ§ νμ©λ©λλ€.
Each of the 5 reviewer roles is dispatched twice (seed 1 and seed 2) for complementary coverage:
5κ° λ¦¬λ·°μ΄ μν κ°κ°μ΄ μνΈ λ³΄μμ 컀λ²λ¦¬μ§λ₯Ό μν΄ λ λ²(μλ 1κ³Ό μλ 2) λμ€ν¨μΉλ©λλ€:
| Roleμν | Focusμ§μ€ μμ |
|---|---|
reviewer-bug |
Logic errors, boundary conditions, null/undefined, race conditions, missing error handling λ Όλ¦¬ μ€λ₯, κ²½κ³ μ‘°κ±΄, null/undefined, λ μ΄μ€ 컨λμ , λλ½λ μλ¬ νΈλ€λ§ |
reviewer-security |
Injection, auth, authorization, crypto misuse, data exposure μΈμ μ , μΈμ¦, μΈκ°, μνΈν μ€μ©, λ°μ΄ν° λ ΈμΆ |
reviewer-performance |
Algorithmic complexity, unnecessary allocations, sync I/O on hot paths, cache misses μκ³ λ¦¬μ¦ λ³΅μ‘λ, λΆνμν ν λΉ, ν« κ²½λ‘μ λκΈ° I/O, μΊμ λ―Έμ€ |
reviewer-test-coverage |
Missing tests, happy-path only, uncovered edge cases λλ½λ ν μ€νΈ, ν΄νΌ ν¨μ€λ§ μ‘΄μ¬, 컀λ²λμ§ μμ μ£μ§ μΌμ΄μ€ |
reviewer-consistency |
Convention drift, duplication, missing reuse of existing utilities 컨벀μ λ리ννΈ, μ€λ³΅, κΈ°μ‘΄ μ νΈλ¦¬ν°μ μ¬μ¬μ© λλ½ |
reviewer-verifier
Receives the aggregated output from all 10 reviewers. Performs three actions:
10κ° λ¦¬λ·°μ΄μ μ§κ³λ μΆλ ₯μ λ°μ΅λλ€. μΈ κ°μ§ μμ μ μνν©λλ€:
severity (low / medium / high / critical) and confidence to each surviving finding.
λ±κΈ λΆμ¬ β κ° μμ‘΄ λ°κ²¬μ μ¬κ°λ(low / medium / high / critical)μ μ λ’°λλ₯Ό λΆμ¬ν©λλ€.
review-synthesis
Takes the verified findings and produces the final structured review report. Writes to docs/engineering-discipline/reviews/<YYYY-MM-DD>-<topic>-review.md. The report includes a summary, per-file findings ranked by severity, and a top-priority list streamed to chat.
κ²μ¦λ λ°κ²¬μ λ°μ μ΅μ’
ꡬ쑰νλ 리뷰 리ν¬νΈλ₯Ό μμ±ν©λλ€. docs/engineering-discipline/reviews/<YYYY-MM-DD>-<topic>-review.mdμ μμ±ν©λλ€. 리ν¬νΈμλ μμ½, μ¬κ°λλ³ μμμ νμΌλ³ λ°κ²¬, μ±ν
μ μ€νΈλ¦¬λ°λλ μ΅μ°μ λͺ©λ‘μ΄ ν¬ν¨λ©λλ€.
/reviewQuick feedback on small changes. Single-pass, no subagents, instant output to chat. Ideal for PRs under ~200 lines or when you just need a second pair of eyes.
μμ λ³κ²½ μ¬νμ λν λΉ λ₯Έ νΌλλ°±. λ¨μΌ ν¨μ€, μλΈμμ΄μ νΈ μμ, μ±ν μ μ¦μ μΆλ ₯. μ½ 200μ€ λ―Έλ§μ PRμ΄λ κ°λ¨ν κ²ν κ° νμν λ μ ν©ν©λλ€.
/ultrareviewMajor PRs, architectural changes, or when thorough coverage is critical. 10 parallel reviewers + verification + synthesis. Takes several minutes but produces a saved, structured report.
μ£Όμ PR, μν€ν μ² λ³κ²½, μ² μ ν 컀λ²λ¦¬μ§κ° μ€μν λ. 10κ° λ³λ ¬ λ¦¬λ·°μ΄ + κ²μ¦ + μ’ ν©. λͺ λΆμ΄ 걸리μ§λ§ μ μ₯λλ ꡬ쑰νλ 리ν¬νΈλ₯Ό μμ±ν©λλ€.