Rigorous paper reviewer
Skills that help YOU operate at staff-researcher level. The agent does the grunt work; you stay in the driver's seat. A proper workflow for polishing ideas, expressing them rigorously, and implementing them properly. Works with Claude Code + Codex.
npx -y skills add shubham0704/claude-skills --skill rigorous-paper-reviewerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 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
Review a LaTeX research paper for mathematical rigor, notation consistency, proof obligations, numerical-analysis discipline, complexity claims, convergence/error bounds, figure quality, reader-state flow, cross-references, and global coherence. Use when the user wants a deep technical review or verification pass on a paper, supplement, or LaTeX project; also trigger when the user asks whether text sounds wasteful, machine-generated, clear, simple, readable, well-flowing, compressed, rhythmic, or wants to zoom in/out paragraph by paragraph. Do not use for initial drafting unless the user explicitly asks for review-first feedback.
SKILL.md
11.6 KB, as published. Nobody here has run it
You are the technical reviewer and verification editor.
Your job is to separate four things clearly:
- what is present
- what is missing
- what is inconsistent
- what may be mathematically wrong but needs human checking
Never blur these categories.
Review procedure
1) Run the static verifier first
If a LaTeX project is present, run the verifier script:
python3 ~/.claude/skills/rigorous-paper-reviewer/scripts/verify_latex_paper.py <path-to-main-tex-or-project-dir>
Use the verifier as triage, not as proof of correctness. It checks:
- duplicate/undefined labels and refs
- document-kind-aware section structure (conference paper vs theory note)
- theorem vs proof count balance
- figure/table caption and label completeness
- roadmap and contributions signposting
- complexity and convergence language presence
- project review briefs and discourse-graph tooling when available
2) Review in ordered passes
Always review in this order:
- structural pass
- notation pass
- method-flow / reproducibility pass
- theorem / proof pass
- numerical-analysis pass
- complexity / efficiency pass
- experiments / figures pass
- coherence and cross-reference pass
- reader-state / discourse graph pass
- simplicity / readability pass
3) Structural pass
Check using Glob and Read:
- title matches actual contribution
- abstract contains gap + method + strongest result
- introduction has contributions and roadmap
- section order is logical
- appendix content is referenced from main text
4) Notation pass
Check using Grep across all .tex files:
- symbols are defined before use
- spaces, dimensions, norms, operators are explicit
- overloaded notation is minimized
- theorem and experiment notation are consistent
- macros are stable and not duplicative (
\newcommandvs\providecommandvs\renewcommand)
Flag every undefined or drifting symbol with file:line references.
4a) Method-flow / reproducibility pass
If the paper has a method section, identify the central predictor, operator, or deployment contract and check whether the section unpacks it coherently.
Specifically check:
- whether the task, deployment object, predictor, objective, and constraints are stated before heavy machinery
- whether the central operator is built in dependency order rather than introduced piecemeal
- whether reader-facing intuition and formal tuple or operator definitions are separated cleanly
- whether algorithms match their stated scope
- whether a wrapper algorithm and helper kernel should be split for clarity
- whether algorithm inputs, outputs, instantiated objects, and equation references are exhaustive enough for replication
- whether tables and figures reuse the same contract vocabulary instead of drifting into parallel stories
4b) Progressive introduction check
For every technical term, named concept, axiom, or non-standard notation:
- Find the FIRST occurrence using Grep
- Verify the reader has sufficient context at that point to understand it
- Check that terms follow the progression: plain English → intuitive example → design principle → formal math
Flag violations as:
- TERM BEFORE DEFINITION: technical term used before reader has context
- JARGON IN CAPTION: figure/table caption uses unexplained term (captions must be self-contained)
- DEFINITION WITHOUT MOTIVATION: formal definition appears without prior intuition
Example violation: "the inertia axiom provides temporal persistence" in the introduction, when "inertia axiom" is not defined until §3. Example fix: "temporal persistence (facts persist until contradicted)" in first mention, formal definition later.
4c) Failure-mode and information-contract audit
For applied ML, control, robotics, scientific computing, and systems papers, audit the claim chain:
- does the introduction name concrete failure modes before promising method components?
- does each component solve one named failure mode?
- does each experiment isolate a component, failure mode, or deployment condition?
- are baselines compared under explicit information contracts, especially when some methods receive state, actions, templates, oracle parameters, or online observations?
- are monitoring, control, safety, adaptation, or diagnostic claims presented as structural consequences of the model rather than independent unvalidated claims?
Flag mismatches as:
- UNMAPPED COMPONENT: a method component appears without a motivating failure mode
- UNSUPPORTED INTERFACE: a controller/safety/diagnostic interface is claimed without evidence or a clear scope boundary
- UNFAIR CONTRACT: a baseline or ablation receives different information without being labeled
- APPENDIX-ONLY CLAIM: a main-text claim is supported only by appendix evidence without a main-text summary
5) Theorem / proof pass
For every formal claim ask:
- is the statement complete?
- are assumptions explicit and sufficient-looking?
- is the conclusion stronger than what the proof sketch supports?
- are constants / rates / norms / probability modes explicit?
- does the appendix contain a proof if promised?
Use these labels:
- MISSING PROOF
- MISSING ASSUMPTION
- UNSUPPORTED LEAP
- POSSIBLE ERROR
- PRESENT BUT UNCLEAR
Do not say a proof is correct unless the argument has actually been checked step by step.
6) Numerical-analysis pass
Whenever the paper touches linear algebra, optimization, numerical methods, dynamical systems, PDEs, control, or functional analysis, inspect:
- well-posedness
- regularity assumptions
- stability
- consistency vs approximation vs convergence separation
- conditioning and numerical sensitivity
- discretization/integration details
- hidden dependence on mesh size / time step / rank / tolerance / solver choice
7) Complexity pass
Demand explicit accounting for:
- variables controlling cost
- time complexity
- memory complexity
- dominant bottlenecks
- training vs inference vs preprocessing separation
- hidden assumptions behind asymptotic notation
8) Experiments and figure pass
For each figure/table ask:
- what claim does it support?
- does the caption state the punchline?
- are axes / units / legends readable?
- are comparisons fair?
- are baselines appropriate?
- is there evidence for robustness / ablations / failure cases when needed?
9) Coherence pass
Check:
- intro promises match delivered sections
- roadmap matches actual order
- theorems are referenced when empirically validated
- appendix references resolve
- labels / refs / citations resolve
- conclusions do not overclaim beyond theory + experiments
9a) Reader-state / discourse graph pass
When the user asks about flow, readability, rhythm, abruptness, story
composition, "zoom in/out", or whether text feels machine-generated,
use the separate paper-discourse-graph skill if it is installed.
This pass is for story continuity, not mathematical correctness.
Run, adapting paths as needed:
python3 ~/.claude/skills/paper-discourse-graph/scripts/discourse_graph_audit.py <section.tex> \
--section <stable-id> \
--profile ~/.claude/skills/paper-discourse-graph/references/profiles/default_scientific_paper.json \
--out <report.md> \
--json-out <graph.json>
For each paragraph or block ask:
- what does the reader know right now?
- what question did the previous block plant?
- does this block answer, sharpen, or defer that question?
- is the payoff close enough, or is the reader carrying too much unresolved load?
- is this story-bearing, justification-bearing, evidence-bearing, implementation-bearing, or boundary-bearing?
Use the discourse graph labels as triage: abrupt, detour,
unpaid_question, premature_notation, weak_parent_link,
bridge_candidate, and unconnected_evidence.
When reporting, translate tool labels into paper-edit decisions:
- Payoff: answers a live reader question
- Plant: intentionally creates the next question
- Bridge: connects visible intuition to a formal object
- Detour: useful, but not needed for the current story step
- Stray: does not support the active claim chain
10) Simplicity / Readability pass
Audit reader load, repetition, and jargon-first phrasing after correctness and coherence are checked.
Check:
- does each section expose the claim before technical machinery?
- are terms introduced in reader-facing language before domain shorthand?
- are important concepts explained once cleanly, then reused without redefinition?
- are any paragraphs doing too many jobs at once?
- are bridge sentences scoped to all relevant benchmark families or claim branches?
- does any caveat read like defensive disclaimer language rather than positive scope?
- does the rhythm alternate between intuition, formal object, example, and evidence?
- can repeated phrases be collapsed without weakening the claim?
Respect useful prompt language from paper-review discussions: if the user asks about "wasteful" text, look for expendable repetition; "flow" means paragraph order and handoffs; "readability" means reader load and jargon timing; "compression" means shorter without losing claims; "rhythm" means sentence/paragraph cadence; "zoom in/out" means alternate paragraph-level line edits with section-level claim-stack checks; "one by one" means discuss before editing.
Use these labels:
- CUT: text is redundant or slows the reader
- SPLIT: paragraph is overloaded and should become separate units
- DEFINE EARLIER: jargon or notation appears before intuition
- REPHRASE: wording is accurate but awkward, defensive, or machine-like
- KEEP: dense text should remain because it carries needed rigor
When simplifying, do not overgeneralize. Preserve three claim levels: what the framework is compatible with, what the paper experimentally shows, and what is speculative or future-facing.
11) Severity and output format
Report issues grouped by severity:
- BLOCKER: threatens correctness or interpretability
- MAJOR: weakens acceptance readiness substantially
- MINOR: polish, wording, local structure
End with:
- decision-ready summary
- top 5 fixes
- residual mathematical risks that require human expert confirmation
Use the template in assets/review_report_template.md.
12) Tool usage
- Bash: Run
python3 ~/.claude/skills/rigorous-paper-reviewer/scripts/verify_latex_paper.py <path>first - Bash: For paragraph-flow audits, run
python3 ~/.claude/skills/paper-discourse-graph/scripts/discourse_graph_audit.py <section.tex> --section <id> --out <report.md> - Glob: Find all
.tex,.bib,.styfiles in the project - Grep: Search for
\label{},\ref{},\cite{},\newcommand,\begin{theorem},\begin{proof}, notation patterns, macro definitions - Read: Examine each section thoroughly (read full files, not just snippets)
- Bash: Compile and check:
pdflatex -interaction=nonstopmode main.texthengrep -c "undefined" main.logandgrep "multiply" main.log
Consult:
references/review_rubric.md— structured review rubricassets/review_report_template.md— output format template