review-by-opp:finalize
Finalize the review session. Only succeeds if all blocking findings are resolved. Emits final verdict.
Best use case
review-by-opp:finalize is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Finalize the review session. Only succeeds if all blocking findings are resolved. Emits final verdict.
Teams using review-by-opp:finalize should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/finalize/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How review-by-opp:finalize Compares
| Feature / Agent | review-by-opp:finalize | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Finalize the review session. Only succeeds if all blocking findings are resolved. Emits final verdict.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
Finalize the review-by-opp session. This is the exit gate.
## What to do
1. **Load the ledger:**
- Read `reviews/current.json`
- If missing, tell user: "No active session. Run `/review-by-opp:start` first."
2. **Run the exit gate check:**
Check ALL of these conditions:
a. **No blocking findings open:**
- Get all findings where `status === "open"` and severity is in `blockingSeverities`
- If any exist: **BLOCK.** List them and say: "Cannot finalize. {N} blocking finding(s) still open."
b. **No findings without resolution state:**
- Every finding must have a status other than just existing with no decision
- If any finding has `status === "open"` and is blocking: **BLOCK.**
c. **No false completion claims:**
- Any finding marked `fixed` MUST have a `resolution_note`
- If any `fixed` finding lacks a note: **BLOCK.** "Finding {id} is marked fixed but has no resolution note."
3. **If blocked:**
- List all blocking reasons
- Tell user: "Use `/review-by-opp:fix` to resolve remaining findings."
- Do NOT finalize.
4. **If clear to finalize:**
- Determine the final verdict:
- `clean` - no open findings at all
- `clean_with_accepted_exceptions` - only non-blocking findings remain open
- `max_rounds_reached` - max rounds hit (but no blocking findings)
- Set `final_verdict` in the ledger
- Write the final state to `reviews/current.json`
5. **Report final verdict:**
Show a summary:
```
## Final Verdict: {VERDICT}
- Rounds completed: {N}
- Total findings: {N}
- Fixed: {N}
- Won't fix: {N}
- Not reproducible: {N}
- Needs context: {N}
- Duplicate: {N}
- Superseded: {N}
- Still open (non-blocking): {N}
```
6. **Session is now closed.** Tell user: "Session finalized. To start a new session, run `/review-by-opp:start`."
**CRITICAL:** This is the stop gate. You MUST NOT bypass it. If blocking findings remain, finalization MUST fail. This is the entire point of review-by-opp.
$ARGUMENTSRelated Skills
review-by-opp:status
Show current review ledger status including round count, open findings, blocking items, agent configuration, and whether the session can be finalized.
review-by-opp:start
Start a guarded implementation + review session. Use when beginning work that should be reviewed by Codex before completion. Initializes the review ledger and configures the stop gate.
review-by-opp:review
Run Codex as an independent reviewer against the current diff or changed files. Parses findings into the ledger. Use after making code changes.
review-by-opp:resume
Resume an existing review-by-opp session. Use when returning to a previous review session.
review-by-opp:help
Learn about review-by-opp - what it does, how to use it, and available commands
review-by-opp:fix
Address Codex review findings from the ledger. Shows open findings and guides resolution. Each finding must get an explicit resolution state.
flutter-dart-code-review
库无关的Flutter/Dart代码审查清单,涵盖Widget最佳实践、状态管理模式(BLoC、Riverpod、Provider、GetX、MobX、Signals)、Dart惯用法、性能、可访问性、安全性和整洁架构。
security-review
Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.
addressing-pr-review-comments
Address all valid review comments on a PR for the current branch in the streamlit/streamlit repo. Covers both inline review comments and general PR (issue) comments. Use when a PR has reviewer feedback to address, including code changes, style fixes, and documentation updates.
lightning-architecture-review
Review Bitcoin Lightning Network protocol designs, compare channel factory approaches, and analyze Layer 2 scaling tradeoffs. Covers trust models, on-chain footprint, consensus requirements, HTLC/PTLC compatibility, liveness, and watchtower support.
gha-security-review
Find exploitable vulnerabilities in GitHub Actions workflows. Every finding MUST include a concrete exploitation scenario — if you can't build the attack, don't report it.
gh-review-requests
Fetch unread GitHub notifications for open PRs where review is requested from a specified team or opened by a team member. Use when asked to "find PRs I need to review", "show my review requests", "what needs my review", "fetch GitHub review requests", or "check team review queue".