원클릭으로
corvus-review-r4
PR Review Phase R4 - User gate (interactive mode) or auto-proceed (autonomous mode)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
PR Review Phase R4 - User gate (interactive mode) or auto-proceed (autonomous mode)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Planning (Phase 2), User Approval (Phase 3), and optional High Accuracy Plan Review (Phase 3.5)
Implementation loop - per-phase execution with quality gates
Final validation - comprehensive objective and subjective checks
Completion - success extraction and final summary
Follow-up triage - handling requests after feature completion
PR Review Phase R2 - Multi-pass review orchestration (architecture, correctness, security, conventions)
| name | corvus-review-r4 |
| description | PR Review Phase R4 - User gate (interactive mode) or auto-proceed (autonomous mode) |
Goal: Present the review to the user for approval before posting, or auto-proceed in autonomous mode.
Executor: Corvus-Review direct (no subagent delegation).
Input: PR_CONTEXT (from R0) + REVIEW_DOCUMENT (from R3).
Output: REVIEW_ACTION object (see corvus-review-extras for schema).
if PR_CONTEXT.config.autonomous == true:
→ AUTONOMOUS MODE (auto-proceed)
else:
→ INTERACTIVE MODE (user gate)
Display the full review to the user BEFORE posting:
## Review Preview: PR #[pr_number] — [title]
**Action**: [ACTION_EMOJI] [action]
**Reason**: [action_reasoning]
---
### Summary
[review_body — the full rendered review summary]
---
### Inline Comments ([N] total)
[For each inline comment, show a preview:]
#### [path]:[line]
> **[label]** ([pass]): [title]
> [First 2 lines of body...]
[If more than 10 inline comments, show first 10 and note "and N more..."]
---
**Total**: [stats.total_findings] findings | [stats.blockers] blockers | [stats.nits_shown] nits ([stats.nits_suppressed] suppressed)
<critical_rule priority="9999">
You MUST invoke the question() tool for the user decision.
NEVER present options as text. The question tool renders interactive buttons.
</critical_rule>
Invoke the question() tool with:
REVIEW_ACTION:
decision: "post"
edits: []
rerun_scope: []
→ Proceed directly to R5.
Present an interactive editing flow:
## Edit Review Comments
Current findings ([N] total):
[Number each finding:]
1. **[label]** [file]:[line] — [title]
2. **[label]** [file]:[line] — [title]
...
**Available actions**:
- "remove N" — Remove finding #N
- "edit N" — Edit finding #N (I'll ask what to change)
- "add" — Add a new manual finding
- "change action to APPROVE/REQUEST_CHANGES/COMMENT_ONLY"
- "done" — Finish editing and return to post decision
After the user provides edits:
REVIEW_ACTION:
decision: "edit"
edits: [<modified findings array>]
rerun_scope: []
<critical_rule priority="999"> After edits, ALWAYS return to Step 2 to re-present the updated review. The user must see the final state before posting. </critical_rule>
Display the full review in the terminal without posting:
## Full Review (Local Only — Not Posted)
[Complete review_body]
---
### All Inline Comments
[For each inline comment, show full content:]
#### [path]:[line]
**[label]** ([pass]): [title]
[full body]
[suggestion block if present]
---
[Repeat for all comments]
---
**This review was NOT posted to GitHub.**
To post it later, re-run the review or use `gh api` manually.
REVIEW_ACTION:
decision: "local_only"
edits: []
rerun_scope: []
→ Proceed to R5 (which will skip posting and show completion summary only).
Ask which passes to re-run:
Invoke the question() tool with:
REVIEW_ACTION:
decision: "rerun"
edits: []
rerun_scope: ["<selected passes>"] # e.g., ["architecture"] or ["correctness", "security"]
→ Return to R2 with rerun_scope. R2 only re-executes the specified passes,
keeping results from non-rerun passes. Then flow continues R2 → R3 → R4.
<critical_rule priority="999"> When re-running, track the re-run count. Maximum 2 re-runs. After 2 re-runs, remove the "Re-run Review" option from the question tool. Display: "Maximum re-runs reached. Please post, edit, or save locally." </critical_rule>
When PR_CONTEXT.config.autonomous == true:
question() callREVIEW_ACTION:
decision: "auto_post"
edits: []
rerun_scope: []
## Autonomous Mode: Auto-posting review
**Action**: [ACTION] | **Findings**: [N] total
**Posting to GitHub...**
<critical_rule priority="9999"> Even in autonomous mode, NEVER auto-post if:
In these cases, FALL BACK to interactive mode:
VALID REVIEW_ACTION requires:
If decision == "rerun" → Return to R2 (do NOT proceed to R5) If decision == "edit" → Apply edits, return to R4 Step 2 (do NOT proceed to R5) All other decisions → Proceed to R5
After R4 completes, output:
[R4 COMPLETE] Decision: [decision] | Mode: [interactive/autonomous]
[If rerun: → Returning to R2 with scope: [rerun_scope]]
[If post/auto_post: → Proceeding to R5 (Completion)]
[If local_only: → Proceeding to R5 (Local summary only)]