Research paper review
Generated by Codex. Read with caution.
npx -y skills add kenantang/codex-and-claude-skills --skill research-paper-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run academic paper review with OCR extraction, multi-method CLI review, local visualization, and deep section-level critique workflows integrated into the research skill suite. Use when Codex needs an initial or first-pass review of one paper artifact or arXiv URL, including OCR, extraction, section-level critique, or viz JSON generation. Prefer `research-review-loop` once a tracked review state or revised artifact already exists, `research-novelty-review` for prior-art and positioning questions, `research-rebuttal` when concrete reviewer comments already exist, and `adversarial-doc-review` for non-paper documents.
SKILL.md
11.1 KB, as published. Nobody here has run it
Research Paper Review
Quick start
- Decide whether the user needs:
- fast review or extraction via the upstream CLI
- a local viz server for existing result JSON
- a deep paper-review pass with section-level scrutiny
- Bootstrap the upstream engine once with
python3 scripts/install_engine.py. - For orchestrated research packs, prefer
./paper-review/as the canonical stage root and record non-canonical output paths inartifact-index.md. - Use
references/engine-usage.mdfor flags, provider environment variables, and OCR engine details. - Use
references/rating-rubric.mdand the 1-5 issue/output scales instead of coarse three-bucket judgments.
Modes
CLI mirror mode
- Preserve the upstream OpenAIReview CLI surface through
scripts/run_openaireview.py. - Use this for:
review: generate result JSON quickly withzero_shot,local,progressive, orprogressive_fullextract: OCR or parse a paper into Markdown with metadataserve: browse saved result JSON in a local UI
- Do not re-implement upstream review logic locally when the CLI already covers the request.
Deep review mode
- Use this when the user wants a stronger paper critique than a single-pass CLI review.
- Adapt the upstream skill workflow to Codex and the research suite:
- prepare a review workspace
- understand the full paper
- run section-level and cross-cutting review passes
- consolidate, tier, and save issues into viz-compatible JSON
- Prefer this mode when the paper-review stage will feed
research-review-loop,research-paper-plan, orresearch-rebuttal.
Relationship to sibling skills
research-paper-reviewowns paper ingestion, OCR, first-pass critique, and viz output for a single paper.research-review-loopowns iterative tracked review after there is already a first-pass critique, revision cycle, or explicit issue ledger.research-novelty-reviewowns prior-art pressure testing and positioning, not first-pass technical critique of a paper artifact.research-rebuttalowns responses to external reviewer comments, not initial manuscript diagnosis.adversarial-doc-reviewowns broad document red-teaming outside the paper-review workflow, especially non-paper Markdown or policy/spec documents.
Input contract
- Minimum:
- one concrete paper artifact or URL
- Supported inputs through the upstream engine:
- local
.pdf,.docx,.tex,.txt,.md - arXiv
absorhtmlURLs
- local
- Prefer:
- venue or audience
- whether the user wants quick scoring, issue discovery, or rebuttal-grade critique
- model, provider, OCR engine, and token/cost constraints
- Environment:
- at least one supported API key when running LLM review
- optional OCR backends for
mistralordeepseek
Hard stops
- Stop if there is no concrete paper artifact or URL.
- Stop if the task would require invented evidence, fabricated quotes, or guessed paper contents.
- Stop before deep review when the paper is too incomplete to support meaningful section-level scrutiny.
- If the upstream engine is missing, install it with
scripts/install_engine.pyinstead of trying to recreate the package inline.
Output contract
- In orchestrated mode, preserve the active review workspace under
./paper-review/<slug>_review/unless a different path is explicitly recorded inartifact-index.md. - Required handoff files for downstream stages:
<review_dir>/summary.md<review_dir>/final_issues.json<review_dir>/review_summary.json<review_dir>/overall_assessment.txt
- Required support files:
<review_dir>/metadata.json<review_dir>/full_text.md<review_dir>/sections/index.json
- Optional but strongly preferred:
<review_dir>/comments/all_comments.json./review_results/<slug>_skill.json
- Record the exact active review workspace path and any viz JSON path in
artifact-index.mdso later skills do not guess. review_summary.jsonis the numeric summary artifact for downstream routing. It should include:overall_paper_rating(1-5)decision_relevance_rating(1-5)rating_confidence(1-5)top_blockers
Workflow
0) Track the review explicitly
- If a task tracker is available, create tasks for:
- prepare workspace
- understand the paper
- run review passes
- consolidate and tier findings
- write handoff artifacts
- save viz output
- Mark progress as you move. A deep paper review should not become an opaque one-shot blob of reasoning.
1) Bootstrap the upstream engine
- Run
python3 scripts/install_engine.pybefore the first use on a machine. - Default install source is the upstream GitHub repo so this skill tracks the referenced project directly.
- Use
--with mistralor--with deepseekwhen those OCR backends are needed. - The install path defaults to
./.openaireview-venvinside the skill directory unlessOPENAIREVIEW_VENVis set.
2) Route to the correct execution path
- Quick review:
python3 scripts/run_openaireview.py review <paper> ...
- Extraction only:
python3 scripts/run_openaireview.py extract <paper> ...
- Viz only:
python3 scripts/run_openaireview.py serve --results-dir <dir> --port <port>
- Deep review:
- continue with the staged workflow below
3) Prepare the deep-review workspace
- In orchestrated mode, prefer
./paper-review/as the stage root and./review_results/for viz JSON. - Run:
python3 scripts/prepare_workspace.py "<input>" \
--criteria references/criteria.md \
--output-dir ./paper-review
- The upstream workspace contains:
metadata.jsonfull_text.mdcriteria.mdsections/index.jsoncomments/
- Record the review directory and slug immediately, and write the resolved review directory into
artifact-index.mdif you are in a suite pack.
4) Build a full-paper model before criticizing details
- Read
full_text.mdcompletely, including appendices, tables, and formal sections. - Write
summary.mdin the review directory using this structure:
# Paper Summary: [Title]
## Research Question
[One sentence]
## Core Hypothesis / Thesis
[What the paper claims to show]
## Methodology Overview
[2-3 sentences]
## Key Definitions & Notation
- [Term/symbol]: [definition]
## Key Numerical Parameters
- [Parameter]: [value and context]
## Main Claims (with evidence location)
1. "[Claim]" — [Section X, Table Y]
## Section Map
- [Section N] ([Title]): [one-line summary]
## Notable Cross-References
- [Section X] references [Section Y] for [what]
- Do not launch detailed review passes until the summary is good enough that another agent could use it as global context.
5) Run section and cross-cutting review passes
- Read
sections/index.jsonand plan a review set, typically:- 4-7 section-focused passes covering each major section or logical cluster
- 3-5 cross-cutting passes for claims vs evidence, evaluation fairness, statistical consistency, notation coherence, or paper-specific risks
- Group small or tightly coupled sections together rather than creating trivial one-section passes.
- Use
references/subagent_templates.mdfor prompt structure andreferences/criteria.mdfor issue format. - If the runtime explicitly allows parallel subagents, launch them in parallel.
- If parallel subagents are unavailable, run the same passes serially in the current agent and keep outputs separate under
comments/. - Favor deep, merged root-cause arguments over surface-level issue spam, but do not collapse distinct issues that require different fixes.
- Each pass should write a JSON array into
comments/. Empty arrays are valid; missing output files are not.
6) Consolidate and tier findings
- Run:
python3 scripts/consolidate_comments.py <review_dir>
- Deduplicate by root cause, not wording alone.
- For any singleton finding that appears in only one pass, read the full explanation before dropping it. Singleton comments are often the best signals, not the weakest.
- Verify that every kept quote appears in the paper text.
- Remove false positives resolved by later context, standard conventions, or leniency rules in
criteria.md. - Reclassify comment types into:
methodologyclaim_accuracypresentationmissing_information
- Assign:
impact_ratingon a 1-5 scaleconfidence_ratingon a 1-5 scale
- Use
references/rating-rubric.md. - Keep singleton findings unless a concrete check disproves them.
- As a calibration check, a thorough deep review of a publishable paper usually yields a double-digit total issue count across impact levels. If you have only a handful of findings, check whether you over-merged or skipped cross-cutting passes. If you rate nearly everything
4or5, re-check whether some issues are really localized2or3findings.
7) Save final results for browsing and downstream use
- Write
final_issues.jsonin the review directory. Each issue needs:titlequoteexplanationcomment_typeimpact_ratingconfidence_rating
- Write
review_summary.jsonin the review directory with:overall_paper_ratingdecision_relevance_ratingrating_confidencetop_blockers
- Write
overall_assessment.txtas one short paragraph. - Build viz JSON:
python3 scripts/save_viz_json.py <review_dir> --slug-suffix _skill
- The output lands in
./review_results/unless overridden. - Use
python3 scripts/run_openaireview.py serveto browse results locally. - Run
python3 scripts/validate_review_bundle.py --review-dir <review_dir>before treating the bundle as stable. - Treat
summary.md,final_issues.json,review_summary.json, andoverall_assessment.txtas the canonical handoff bundle forresearch-review-loop,research-paper-plan, andresearch-rebuttal.
References
references/engine-usage.mdreferences/criteria.mdreferences/rating-rubric.mdreferences/subagent_templates.md../research-pipeline-planner/references/review-stage-contract.md
Scripts
scripts/install_engine.py: create or update a virtualenv with the upstream OpenAIReview enginescripts/run_openaireview.py: mirror the upstreamopenaireviewCLIscripts/prepare_workspace.py: delegate to the packaged deep-review workspace preparerscripts/validate_review_bundle.py: validate required handoff files and 1-5 rating fields for downstream usescripts/consolidate_comments.py: delegate to the packaged consolidation helperscripts/save_viz_json.py: delegate to the packaged viz JSON helper