ワンクリックで
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)]