$npx -y skills add scdenney/open-science-skills --skill paper-review-lite-codexRun a cross-model adversarial pre-submission audit from Codex. Use when a user explicitly requests the heavier paper-review-lite-codex workflow, independent Codex and Claude review passes, or cross-model verification of a manuscript. Apply the paper-review-lite protocol, cross-ch
| 1 | # Paper review lite: Codex lead, cross-model audit |
| 2 | |
| 3 | Run Codex as the lead and use Claude Code's non-interactive CLI as the independent model family. This is the Codex-side equivalent of the Claude skill with the same name; the direction of delegation is reversed. |
| 4 | |
| 5 | Read [`../paper-review-lite/SKILL.md`](../paper-review-lite/SKILL.md) completely before starting. It defines the review dimensions, severity rubric, evidence requirements, and final report format. If the sibling skill is unavailable, stop and tell the user to install it; do not reconstruct a partial protocol from memory. |
| 6 | |
| 7 | ## Sandbox constraint — read before the first `claude -p` call |
| 8 | |
| 9 | `claude -p` is a different binary than `codex exec`, so it does not hit the identical `codex exec` in-process IPC failure that breaks nested `codex exec` calls under sandbox. But under `workspace-write` sandbox, an outbound `claude -p` network call was observed (July 2026) to hang rather than complete or fail cleanly — Codex's sandbox restricts network access, and `claude -p` needs it to reach Anthropic's API. This finding is less rigorously isolated than the nested-`codex exec` failure (it wasn't captured as a distinct error message, just an unresponsive process that had to be killed), so treat it as a strong warning rather than a certainty. If a `claude -p` call in this skill hangs rather than returning, do not assume it will eventually resolve — consider requesting escalation (`sandbox_permissions: require_escalated`) for that call, or running from an unsandboxed session, before retrying. |
| 10 | |
| 11 | ## Preflight |
| 12 | |
| 13 | 1. Confirm that the user explicitly requested `$paper-review-lite-codex` or a cross-model audit. Otherwise use `$paper-review-lite`. |
| 14 | 2. Locate the manuscript, supplement, bibliography, figures, preregistration, and replication archive. |
| 15 | 3. Check `command -v claude` and run a harmless authentication/status check supported by the installed CLI. Do not print credentials. |
| 16 | 4. Explain that `claude -p` is an external model call that may consume separate credits. Obtain confirmation before the first call unless the user already explicitly authorized Claude or cross-model execution. |
| 17 | 5. If Claude is unavailable or authorization is declined, offer the fallback in “Reduced-diversity mode.” |
| 18 | |
| 19 | Claude Code documents `claude -p` as its non-interactive interface. Use `--output-format text`, `--no-session-persistence`, and read-only tools for review calls. See [Run Claude Code programmatically](https://code.claude.com/docs/en/headless). |
| 20 | |
| 21 | ## Orient once |
| 22 | |
| 23 | Follow `$paper-review-lite` Phase 1. Read the manuscript before spawning reviewers. Record actual absolute paths, design family, source format, target journal, and missing inputs. Create: |
| 24 | |
| 25 | ```text |
| 26 | .review-tmp/ |
| 27 | ├── codex/ |
| 28 | ├── claude/ |
| 29 | └── cross-check/ |
| 30 | ``` |
| 31 | |
| 32 | Treat this directory as disposable workflow state. Preserve it only if the user asks. |
| 33 | |
| 34 | ## Phase 1: independent Red Teams |
| 35 | |
| 36 | ### Codex cohort |
| 37 | |
| 38 | Run the nine `$paper-review-lite` review dimensions in parallel batches that respect the runtime's agent limit. Each subagent receives only: |
| 39 | |
| 40 | - the relevant dimension block from `$paper-review-lite`; |
| 41 | - the manuscript and related absolute paths; |
| 42 | - the common severity and quote requirements; and |
| 43 | - its assigned output path under `.review-tmp/codex/`. |
| 44 | |
| 45 | Keep agents blind to one another. Require direct manuscript evidence for every critical or recommended issue. |
| 46 | |
| 47 | ### Claude cohort |
| 48 | |
| 49 | Run three independent Claude CLI calls concurrently when safe: |
| 50 | |
| 51 | 1. argument, claims, and numerical consistency; |
| 52 | 2. references, DOI status, writing, figures, and tables; |
| 53 | 3. methods, CONSORT/preregistration where applicable, and replication readiness. |
| 54 | |
| 55 | Construct each prompt from the matching dimension blocks in `$paper-review-lite`; do not paraphrase away requirements. Tell Claude to read the named files, print structured Markdown only, and never edit them. Redirect stdout to the assigned file under `.review-tmp/claude/`. |
| 56 | |
| 57 | Use this command shape, substituting absolute paths and a complete prompt file: |
| 58 | |
| 59 | ```bash |
| 60 | claude -p \ |
| 61 | --output-format text \ |
| 62 | --no-session-persistence \ |
| 63 | --allowedTools "Read" \ |
| 64 | "$(< /absolute/path/to/prompt.txt)" \ |
| 65 | > /absolute/path/to/.review-tmp/claude/review-N.md |
| 66 | ``` |
| 67 | |
| 68 | Do not use `--bare` unless API-key authentication is configured explicitly; bare mode skips normal OAuth and keychain discovery. Never pass secrets in the prompt or command line. |
| 69 | |
| 70 | Validate every output file. A non-zero exit, empty file, or refusal is a failed reviewer, not evidence that the manuscript passed. |
| 71 | |
| 72 | ## Phase 2: blind cross-check |
| 73 | |
| 74 | After both cohorts finish, launch four veri |