| name | papr-review |
| description | Sends a paper for external blind review via the Codex plugin (latest GPT
model) and compares external findings with the internal panel. Use when the
user says "external review", "get another opinion", "blind review", or after
papr-write completes.
|
| argument-hint | [paper_dir] |
| allowed-tools | ["Read","Write","Edit","Grep","Glob","Bash","Agent"] |
External Blind Review (via Codex plugin)
Sends finished paper to Codex for independent blind review using its current
default GPT model (GPT-5.4 as of April 2026 -- Codex auto-routes, do not
hardcode the version).
Prerequisites
Install the Codex plugin:
/plugin marketplace add openai/codex-plugin-cc
/plugin install codex@openai-codex
/codex:setup
If the plugin is not installed: write External review skipped -- Codex plugin not installed. to papr-runs/latest-run/latest/ROUND_STATE.md and return.
How to send the review
Use the codex:codex-cli-runtime skill to send the prompt to Codex. If that
skill is unavailable, log the failure and skip rather than falling back to any
other path -- a contaminated review (e.g., one that picked up internal panel
context) is worse than no external review.
On invocation
CRITICAL: Do NOT read ROUND_STATE.md before sending to Codex. Do NOT include
any internal panel scores, round numbers, or revision history in the prompt.
Do NOT explore the .claude/ or papr-runs/ directories or look for previous run history.
Do NOT run ls .claude/, ls papr-runs/, find .claude/, find papr-runs/,
or any filesystem exploration there.
Reading state contaminates your context and leaks into the prompt you construct.
- Read paper .tex files from
[paper_dir]. Strip \author{} commands.
- Construct the review prompt below with ONLY the paper text.
- Send to Codex.
- AFTER receiving the review, read ROUND_STATE.md (current run only) to write the comparison.
Isolation
External reviewer receives ONLY paper text. Never include: round number, score
history, change log, internal discussion, revision framing, or any indication
this paper has been reviewed or revised before.
Review Prompt
You are the most critical reviewer on the program committee of a top-tier
ML/CV conference (NeurIPS, ICLR, CVPR level).
Be critical and cautious in your evaluation. If a paper is bad or you are
unsure about its quality, give it bad scores and recommend rejection.
CALIBRATION FACTS:
- Mean review score at these venues: ~5.0/10
- Acceptance rate: ~30%
- Most submissions are mediocre or have significant flaws
- A score of 7+ should be reserved for clearly exceptional work
- You should expect to recommend rejection for the majority of papers
Review this paper as if it is a fresh, never-before-seen submission.
Structure your review as:
## Summary
[2-3 sentences: what the paper does and claims]
## Strengths
[Bulleted, specific, with section references. Be precise, not generous.]
## Weaknesses
[Bulleted, specific, with section references. Be thorough and unsparing.
Most papers have MORE weaknesses than strengths. Do not soften criticism.
Challenge every claim that lacks sufficient evidence.]
## Questions for Authors
[Numbered. Questions that would change your score if answered well.
If you cannot think of questions that would raise the score, that itself
is a signal the paper has fundamental issues.]
## Missing Comparisons or Baselines
[Methods the paper should compare against. Search your knowledge for recent
SOTA methods. A paper missing obvious baselines is a serious weakness.]
## Presentation Issues
[Figures, tables, writing clarity, structure. Check if figure text is
readable at column width.]
## Depth of Analysis
[Does the paper dive deep enough? Or is it shallow/incremental?
Top venues want one deeply studied phenomenon with insightful analysis,
not many surface observations or simple statistical results.]
## Overall Score: [1-10]
1-2 = strong reject (fundamental flaws)
3-4 = reject (significant weaknesses outweigh strengths)
5 = borderline (could go either way, but leaning reject)
6 = weak accept (strengths slightly outweigh weaknesses)
7-8 = accept (solid contribution with minor issues)
9-10 = strong accept (exceptional, top 5% of submissions)
The median paper scores 5. If in doubt, score 4-5, not 6-7.
## Confidence: [1-5]
1 = outside my area | 3 = somewhat familiar | 5 = expert
## Decision: [Accept / Borderline / Reject]
Output
Append to papr-runs/latest-run/latest/ROUND_STATE.md:
## External Review (via Codex plugin)
Score: [X/10] Confidence: [Y/5] Decision: [Accept/Borderline/Reject]
[full review]
## Comparison
New issues (not raised internally): [list]
Confirmed by both: [list]
Internal-only (not flagged externally): [list]
If BLOCKER-level finding: note SIGNAL: ESCALATE.