arXiv Preflight Check
Pipeline position: Phase 3a (submission readiness). Runs after Phase 2
fixes and PDF recompilation. Gate for arxiv-figures and arxiv-package.
See /manuscript-pipeline for full execution order.
Purpose
Systematically validate a TeX/LaTeX project (or PDF submission) against all
arXiv submission requirements, producing a structured pass/fail report with
specific fixes for every violation found.
Companion skills:
manuscript-review — audits prose quality, structure, and claims
manuscript-provenance — audits computational reproducibility
arxiv-figures — optimizes figures for arXiv
arxiv-package — packages the submission tarball
This skill focuses exclusively on arXiv technical compliance — not prose
quality or scientific content.
Workflow
1. Ingest
Identify the submission directory. Locate:
- Main
.tex file(s)
- All included files (figures,
.bbl, .bst, style files, subdirectories)
- Any
00README.XXX file
- Any
anc/ directory
- Compiled PDF (if available)
Read references/guidelines.md
2. Validation Passes
Execute all passes. For each check:
- PASS — requirement met
- FAIL — violation found (document exact file, line, specific fix)
- WARN — advisory (not a blocker but may cause issues)
- N/A — not applicable
Pass 1 — File Organization
- No absolute file paths in any
.tex file (\input, \includegraphics, \include, \bibliography)
- No spaces or special characters (
&, \, :) in filenames
- No auxiliary files that should be excluded:
.aux, .log, .toc, .lot, .lof, .dvi, .ps, .pdf (except figure PDFs)
- Required files present:
.bbl if using BibTeX/BibLaTeX, .ind if using makeindex, .gls/.nls if using glossary/nomenclature
- No hidden files (starting with
.) except .tex-related configs
- No journal templates or referee letters included
- Subdirectory structure: no
\include{} calls into subdirectories (use \input{} instead)
- If multiple
.tex files with \documentclass: verify 00README.XXX declares toplevelfile
Pass 2 — TeX/LaTeX Compliance
- Processor compatibility: figure formats match processor
- DVI mode: only
.ps/.eps figures
- PDFLaTeX: only
.pdf/.png/.jpg figures
- No mixed formats without conditional compilation
- No
psfig package usage (use graphicx)
- No
\today macro in date fields
- No embedded JavaScript
\pdfoutput testing uses ifpdf package, not \ifx\pdfoutput\undefined
- No shell-escape dependent packages without workarounds (
minted → frozencache=true)
- No
xr package for external document references
- No double-spaced "referee" mode formatting
- Caption
\cite calls use \protect\cite
\include not used for subdirectory files
- BibLaTeX
.bbl format version compatible with target TeX Live (3.3 for TL2025)
- All custom/non-standard style files included in submission
- No packages outside TeX Live distribution (check against common non-TL packages)
Pass 3 — Figure Validation
- All referenced figures exist at specified paths
- Figure formats match processor requirements
- No figures reference absolute paths
- No embedded animations, JavaScript, or interactive elements
- PNG files: check for oversized images (>34 Megapixel warning)
- Reasonable file sizes (flag individual figures >5MB, total figures >25MB)
- Alt text present in
\includegraphics calls (advisory — accessibility best practice)
\includegraphics uses graphicx package, not deprecated alternatives
Pass 4 — Bibliography Validation
.bbl filename matches corresponding .tex filename
- If
.bib included: .bbl also included (arXiv can process .bib but .bbl is safer)
- arXiv identifiers in references use correct format (
YYMM.NNNNN)
- No extraneous formatting within e-print identifiers
- BibLaTeX
.bbl format version check (examine \RequirePackage version in .bbl)
Pass 5 — Metadata Compliance (check .tex front matter)
- Title: no all-uppercase, no raw Unicode, cryptic macros expanded
- Authors: proper name format, no honorifics, no
et al. truncation
- Abstract: no leading "Abstract" text, within 1920 character limit, no leading whitespace on lines
- Abstract: opaque TeX macros expanded, no formatting commands (
\em, \it)
- If comments metadata present: page count and figure count included (advisory)
Pass 6 — PDF Validation (if compiled PDF available)
- All fonts embedded (check with
pdffonts or equivalent)
- No Type 3 (bitmap) fonts
- Machine readable (not scanned/bitmapped)
- No embedded JavaScript
- No security restrictions preventing text extraction
- Reasonable file size
Pass 7 — 00README.XXX Validation (if present)
- Valid directive syntax (each line:
filename directive or standalone directive)
- Referenced files exist
- DVI-related directives use correct filename (no
.tex extension)
- No conflicting directives
Pass 8 — Ancillary Files (if anc/ directory present)
- No
.tex files in anc/ directory
- No PDFs with embedded JavaScript
- No internal references to
anc/ directory from .tex source
- Reasonable total size
Pass 9 — Common Error Scan
%%BoundingBox at top of PS/EPS files (not at end)
- No
\Bbbk conflicts between newtxmath and amssymb
- No ambiguous double subscript/superscript (
a_x_y → a_{x}_y)
- No concatenated source files
- No Scientific Workplace
.rap files
- No modified versions of standard style files (
epsf.sty, epsfig.sty)
hyperref with complex section names: bookmarks=false or proper PDF string handling
3. Generate Report
Produce a structured report:
# arXiv Preflight Report
**Project:** [directory name]
**Date:** [date]
**Processor:** [detected processor]
**Verdict:** [READY / NEEDS FIXES / BLOCKED]
## Summary
| Category | Pass | Fail | Warn | N/A |
|----------|------|------|------|-----|
| File Organization | | | | |
| TeX Compliance | | | | |
| Figures | | | | |
| Bibliography | | | | |
| Metadata | | | | |
| PDF | | | | |
| 00README | | | | |
| Ancillary Files | | | | |
| Common Errors | | | | |
## Blocking Issues (FAIL)
[Each with file, line number, specific violation, exact fix]
## Warnings (WARN)
[Advisory items that may cause processing issues]
## All Checks
[Full pass/fail/warn/N/A status for every checkpoint]
4. Output
Save report as arxiv-preflight-report.md in the project directory.
Present verdict and blocking issue count. If READY, confirm submission can proceed.
If NEEDS FIXES, list the specific fixes in priority order.
Core Principles
- Binary compliance. arXiv requirements are not suggestions — FAIL means the submission
will be rejected or processing will break. WARN means it may cause issues.
- Exact fixes. Every FAIL includes the specific command, line, or file change needed.
- No false positives. Only flag violations against documented arXiv requirements.
Do not impose style preferences or best practices as failures.
- Processor-aware. All checks account for the detected TeX processor.
PDFLaTeX rules do not apply to DVI-mode submissions and vice versa.
1---2name: arxiv-preflight3description: Pre-submission validation audit for arXiv papers across TeX source, PDF, figures, metadata, bibliography, file organization, and common-error scans. Produces pass/fail report with specific fixes per arXiv requirement. Triggers on: "check my arXiv submission", "validate for arXiv", "arXiv preflight", "ready for arXiv", "arxiv check", "arxiv submission readiness". Companion to manuscript-review (prose), manuscript-provenance (code), arxiv-figures, arxiv-package.4---56# arXiv Preflight Check78**Pipeline position:** Phase 3a (submission readiness). Runs after Phase 29fixes and PDF recompilation. Gate for arxiv-figures and arxiv-package.10See `/manuscript-pipeline` for full execution order.1112## Purpose1314Systematically validate a TeX/LaTeX project (or PDF submission) against all15arXiv submission requirements, producing a structured pass/fail report with16specific fixes for every violation found.1718Companion skills:19- `manuscript-review` — audits prose quality, structure, and claims20- `manuscript-provenance` — audits computational reproducibility21- `arxiv-figures` — optimizes figures for arXiv22- `arxiv-package` — packages the submission tarball2324This skill focuses exclusively on arXiv technical compliance — not prose25quality or scientific content.2627## Workflow2829### 1. Ingest3031Identify the submission directory. Locate:32- Main `.tex` file(s)33- All included files (figures, `.bbl`, `.bst`, style files, subdirectories)34- Any `00README.XXX` file35- Any `anc/` directory36- Compiled PDF (if available)3738```39Read references/guidelines.md40```4142### 2. Validation Passes4344Execute all passes. For each check:45- **PASS** — requirement met46- **FAIL** — violation found (document exact file, line, specific fix)47- **WARN** — advisory (not a blocker but may cause issues)48- **N/A** — not applicable4950---5152**Pass 1 — File Organization**53541. No absolute file paths in any `.tex` file (`\input`, `\includegraphics`, `\include`, `\bibliography`)552. No spaces or special characters (`&`, `\`, `:`) in filenames563. No auxiliary files that should be excluded: `.aux`, `.log`, `.toc`, `.lot`, `.lof`, `.dvi`, `.ps`, `.pdf` (except figure PDFs)574. Required files present: `.bbl` if using BibTeX/BibLaTeX, `.ind` if using makeindex, `.gls`/`.nls` if using glossary/nomenclature585. No hidden files (starting with `.`) except `.tex`-related configs596. No journal templates or referee letters included607. Subdirectory structure: no `\include{}` calls into subdirectories (use `\input{}` instead)618. If multiple `.tex` files with `\documentclass`: verify `00README.XXX` declares `toplevelfile`6263**Pass 2 — TeX/LaTeX Compliance**64651. Processor compatibility: figure formats match processor66 - DVI mode: only `.ps`/`.eps` figures67 - PDFLaTeX: only `.pdf`/`.png`/`.jpg` figures68 - No mixed formats without conditional compilation692. No `psfig` package usage (use `graphicx`)703. No `\today` macro in date fields714. No embedded JavaScript725. `\pdfoutput` testing uses `ifpdf` package, not `\ifx\pdfoutput\undefined`736. No shell-escape dependent packages without workarounds (`minted` → `frozencache=true`)747. No `xr` package for external document references758. No double-spaced "referee" mode formatting769. Caption `\cite` calls use `\protect\cite`7710. `\include` not used for subdirectory files7811. BibLaTeX `.bbl` format version compatible with target TeX Live (3.3 for TL2025)7912. All custom/non-standard style files included in submission8013. No packages outside TeX Live distribution (check against common non-TL packages)8182**Pass 3 — Figure Validation**83841. All referenced figures exist at specified paths852. Figure formats match processor requirements863. No figures reference absolute paths874. No embedded animations, JavaScript, or interactive elements885. PNG files: check for oversized images (>34 Megapixel warning)896. Reasonable file sizes (flag individual figures >5MB, total figures >25MB)907. Alt text present in `\includegraphics` calls (advisory — accessibility best practice)918. `\includegraphics` uses `graphicx` package, not deprecated alternatives9293**Pass 4 — Bibliography Validation**94951. `.bbl` filename matches corresponding `.tex` filename962. If `.bib` included: `.bbl` also included (arXiv can process `.bib` but `.bbl` is safer)973. arXiv identifiers in references use correct format (`YYMM.NNNNN`)984. No extraneous formatting within e-print identifiers995. BibLaTeX `.bbl` format version check (examine `\RequirePackage` version in `.bbl`)100101**Pass 5 — Metadata Compliance** (check `.tex` front matter)1021031. Title: no all-uppercase, no raw Unicode, cryptic macros expanded1042. Authors: proper name format, no honorifics, no `et al.` truncation1053. Abstract: no leading "Abstract" text, within 1920 character limit, no leading whitespace on lines1064. Abstract: opaque TeX macros expanded, no formatting commands (`\em`, `\it`)1075. If comments metadata present: page count and figure count included (advisory)108109**Pass 6 — PDF Validation** (if compiled PDF available)1101111. All fonts embedded (check with `pdffonts` or equivalent)1122. No Type 3 (bitmap) fonts1133. Machine readable (not scanned/bitmapped)1144. No embedded JavaScript1155. No security restrictions preventing text extraction1166. Reasonable file size117118**Pass 7 — 00README.XXX Validation** (if present)1191201. Valid directive syntax (each line: `filename directive` or standalone directive)1212. Referenced files exist1223. DVI-related directives use correct filename (no `.tex` extension)1234. No conflicting directives124125**Pass 8 — Ancillary Files** (if `anc/` directory present)1261271. No `.tex` files in `anc/` directory1282. No PDFs with embedded JavaScript1293. No internal references to `anc/` directory from `.tex` source1304. Reasonable total size131132**Pass 9 — Common Error Scan**1331341. `%%BoundingBox` at top of PS/EPS files (not at end)1352. No `\Bbbk` conflicts between `newtxmath` and `amssymb`1363. No ambiguous double subscript/superscript (`a_x_y` → `a_{x}_y`)1374. No concatenated source files1385. No Scientific Workplace `.rap` files1396. No modified versions of standard style files (`epsf.sty`, `epsfig.sty`)1407. `hyperref` with complex section names: `bookmarks=false` or proper PDF string handling141142---143144### 3. Generate Report145146Produce a structured report:147148```markdown149# arXiv Preflight Report150151**Project:** [directory name]152**Date:** [date]153**Processor:** [detected processor]154**Verdict:** [READY / NEEDS FIXES / BLOCKED]155156## Summary157158| Category | Pass | Fail | Warn | N/A |159|----------|------|------|------|-----|160| File Organization | | | | |161| TeX Compliance | | | | |162| Figures | | | | |163| Bibliography | | | | |164| Metadata | | | | |165| PDF | | | | |166| 00README | | | | |167| Ancillary Files | | | | |168| Common Errors | | | | |169170## Blocking Issues (FAIL)171172[Each with file, line number, specific violation, exact fix]173174## Warnings (WARN)175176[Advisory items that may cause processing issues]177178## All Checks179180[Full pass/fail/warn/N/A status for every checkpoint]181```182183### 4. Output184185Save report as `arxiv-preflight-report.md` in the project directory.186187Present verdict and blocking issue count. If READY, confirm submission can proceed.188If NEEDS FIXES, list the specific fixes in priority order.189190## Core Principles191192- **Binary compliance.** arXiv requirements are not suggestions — FAIL means the submission193 will be rejected or processing will break. WARN means it may cause issues.194- **Exact fixes.** Every FAIL includes the specific command, line, or file change needed.195- **No false positives.** Only flag violations against documented arXiv requirements.196 Do not impose style preferences or best practices as failures.197- **Processor-aware.** All checks account for the detected TeX processor.198 PDFLaTeX rules do not apply to DVI-mode submissions and vice versa.