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.
Best use case
review-by-opp:review is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Run Codex as an independent reviewer against the current diff or changed files. Parses findings into the ledger. Use after making code changes.
Teams using review-by-opp:review 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/review/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How review-by-opp:review Compares
| Feature / Agent | review-by-opp:review | 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?
Run Codex as an independent reviewer against the current diff or changed files. Parses findings into the ledger. Use after making code changes.
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.
Related Guides
SKILL.md Source
You are running a Codex review round. Codex is the auditor - it reviews, you do not edit during this step.
## What to do
1. **Verify session exists:**
- Read `reviews/current.json`. If missing, tell user: "No active session. Run `/review-by-opp:start` first."
2. **Determine review scope:**
- Check `reviewScope` in config (from `reviews/current.json` or `.review-by-opp.json`):
- `"diff"` - include the git diff in the audit prompt for context
- `"changed-files"` - include full content of changed files
- `"changed-files-plus-tests"` - changed files plus related test files
- `"full-repo"` - review the entire repository (Codex reads all files via sandbox)
- For `diff`, `changed-files`, and `changed-files-plus-tests`: check `git diff --name-only` first. If no changes, tell user: "No changes to review. Make code changes first."
- For `full-repo`: skip the diff check - Codex reviews everything
3. **Increment round:**
- Update `current_round` in the ledger
4. **Write context file for Codex:**
- Write `reviews/context.md` so Codex has full project context despite being stateless. Include:
- **Project summary**: what the project does (read from README or package.json description)
- **Tech stack**: languages, frameworks, key dependencies
- **What changed this session**: summary of changes made since session started (from git log/diff)
- **Previous findings** (if round > 1): list all findings from prior rounds with their current status (open/fixed/etc), so Codex knows what was already flagged and can verify fixes
- **User notes**: any message the user passed as arguments — could be concerns, questions, hints, or areas to investigate
- Keep it concise — this is context, not a full dump. Aim for under 200 lines.
5. **Build the audit prompt:**
- Base prompt: instruct Codex to review the code for bugs, security issues, performance problems, and code quality
- **Always** instruct Codex to first read `reviews/context.md` for project context and previous findings
- For `diff` scope: include the git diff output in the prompt
- For `changed-files` scope: include the full file contents of changed files
- For `full-repo` scope: instruct Codex to read and review all source files in the repository
- If the user provided arguments, include them verbatim as a user note to Codex. This can be anything — concerns ("I think the auth flow might be wrong"), questions ("is this SQL query safe?"), hints ("check the retry logic in worker.ts"), or general direction. Examples:
- `/review-by-opp:review I think the error handling in api.ts might be wrong`
- `/review-by-opp:review check if the rate limiter actually works under concurrency`
- `/review-by-opp:review is it ok to use eval here or is there a safer way`
- Always instruct Codex to output findings in the format: `FINDING: {"title":"...","severity":"...","category":"...","file":"...","line":...,"description":"...","suggested_fix":"..."}`
6. **Run Codex review:**
- Execute Codex in auditor-only mode with a read-only sandbox:
- Base form: `npx @openai/codex exec --sandbox read-only "<audit prompt>"`
- If model override is configured, include `--model <model>`
- If reasoning override is configured, include `-c model_reasoning_effort=<effort>`
- Keep default behavior inherited when overrides are not configured.
- Capture the full output
7. **Parse findings:**
- Extract lines starting with `FINDING:` and parse the JSON
- For each finding, assign an ID like `f-{round}-{short-uuid}`
- Set status to `open`
- Deduplicate against existing findings (same file + title + category within 5 lines = duplicate)
8. **Update ledger:**
- Add new findings to `reviews/current.json`
- Write round snapshot to `reviews/rounds/round-{N}.json`
- Write summary to `reviews/summaries/summary-{N}.json`
9. **Run verification checks (if configured):**
- If `rerunChecks` is true in config, run available checks (test, lint, typecheck)
- Report results
10. **Report results:**
- Show number of new findings, total open, blocking open
- List each new finding with severity, category, title, file, and line
- Show the round verdict: needs_fixes, converging, stalled, or clean
- If blocking findings exist, remind: "You must resolve these before finalizing. Use `/review-by-opp:fix`."
11. **Check convergence:**
- If no blocking findings remain: "Ready to finalize. Run `/review-by-opp:finalize`."
- If max rounds reached: warn the user
- If stalled (same blocking findings for N rounds): warn the user
**CRITICAL:** Do NOT edit any files during the review step. You are only gathering and recording Codex's findings.
$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: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.
review-by-opp:finalize
Finalize the review session. Only succeeds if all blocking findings are resolved. Emits final verdict.
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".