# Paper Review

> Hostile pre-submission critic for a LaTeX paper. Use when the user asks to review, critique, red-team, or pre-review their own paper draft in a LaTeX project directory, or asks what a harsh reviewer would say. Produces ranked findings with verbatim anchors, tracked across drafts.

- Skill: `makanfar/paper-review` (Agent Skill, multi-file: 38 files)
- Install (CLI): `npx skillmds@latest add makanfar/paper-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/makanfar/paper-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: MakanFar (https://skillmd.com/u/makanfar)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/makanfar/paper-review

---


# paper-review

This skill orchestrates deterministic scripts and a small number of subagents. Scripts own parsing, anchors,
hashes, the ledger, and the report. Agents own judgment. Nothing an agent writes reaches the report without
`paper-review findings validate` and the verifier.

All commands run from the skill directory (`~/.claude/skills/paper-review`, a symlink to the repo) via
`uv run paper-review ...`, with `<project>` the absolute path to the user's LaTeX project. Outputs go under
`<project>/.paper-review/`. Never edit anything under `<project>` outside that directory.

Read `references/config.yaml` first and use its `models` values when dispatching agents.

## Run

1. **Ingest.** `uv run paper-review ingest <project> [--venue neurips-2026] [--root main.tex]`.
   If it exits 2 with root candidates, ask the user which file is the root and rerun with `--root`.
   Read the warning count from stdout; every warning appears in the report's degraded block automatically.

2. **Claims** (Agent tool, `model: opus`). Prompt: the contents of `references/prompts/claim-extraction.md`
   plus the project path. The agent writes `<project>/.paper-review/claims.raw.json`.
   Then `uv run paper-review claims merge <project>`. Dropped claims are printed; do not retry more than once.

3. **Dimensions, in parallel** (two Agent tool calls in one message):
   - D1 (`model: opus`): prompt is `references/prompts/d1-claim-evidence.md` plus the project path; writes `findings/D1.raw.json`.
   - D5 (`model: fable`): prompt is `references/prompts/d5-writing.md` plus the project path; writes `findings/D5.raw.json`.
   Meanwhile run `uv run paper-review d4 <project>`.
   When each agent returns: `uv run paper-review findings validate <project> --dimension D1` (and `D5`).

4. **Plan verification.** `uv run paper-review ledger plan <project>`. Findings already open with unchanged
   anchor text are carried forward with their previous verdict and cost nothing. Then
   `uv run paper-review verify packets <project>`, which prints one packet path per verification job.

5. **Verify** (Agent tool, `model: opus`, one agent per packet, all dispatched in one message). Each prompt is
   `references/prompts/verifier.md` plus the absolute path of one packet. Each agent writes the verdict file the
   packet names. Do not pass any agent the D1 or D5 output or your own reasoning; the packet is the whole context.
   Then `uv run paper-review verify apply <project>`.

6. **Record and report.** `uv run paper-review ledger update <project>` then `uv run paper-review report <project>`.
   Show the user the terminal summary verbatim and the path of `report-<rev>.md`.

## Maintenance commands

- `uv run paper-review wontfix <project> <finding-id> "<reason>"` suppresses a finding; it stays in the ledger and resurfaces as regressed if it disappears and comes back.
- `uv run paper-review claims why <project> C7` explains why a claim kept or gained its id.
- `uv run paper-review schema` prints the IR JSON schema; `references/ir-schema.md` describes it.

## What this build does not do

D2 (prior art) and D3 (citation integrity) are not implemented yet; the report header says so on every run.
Retraction status is never checked. Figure legibility is never checked. Page limits are checked only when a
compiled PDF sits beside the root `.tex` and a venue profile is given.

