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
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:
- — audits prose quality, structure, and claims
- — audits computational reproducibility
- — optimizes figures for arXiv
- — 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 file(s)
- All included files (figures, , , style files, subdirectories)
- Any file
- Any 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 file (, , , )
- No spaces or special characters (, , ) in filenames
- No auxiliary files that should be excluded: , , , , , , , (except figure PDFs)
- Required files present: if using BibTeX/BibLaTeX, if using makeindex, / if using glossary/nomenclature
- No hidden files (starting with ) except -related configs
- No journal templates or referee letters included
- Subdirectory structure: no calls into subdirectories (use instead)
- If multiple files with : verify declares
Pass 2 — TeX/LaTeX Compliance
- Processor compatibility: figure formats match processor
- DVI mode: only / figures
- PDFLaTeX: only // figures
- No mixed formats without conditional compilation
- No package usage (use )
- No macro in date fields
- No embedded JavaScript
- testing uses package, not
- No shell-escape dependent packages without workarounds ( → )
- No package for external document references
- No double-spaced "referee" mode formatting
- Caption calls use
- not used for subdirectory files
- BibLaTeX 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 calls (advisory — accessibility best practice)
- uses package, not deprecated alternatives
Pass 4 — Bibliography Validation
- filename matches corresponding filename
- If included: also included (arXiv can process but is safer)
- arXiv identifiers in references use correct format ()
- No extraneous formatting within e-print identifiers
- BibLaTeX format version check (examine version in )
Pass 5 — Metadata Compliance (check
front matter)
- Title: no all-uppercase, no raw Unicode, cryptic macros expanded
- Authors: proper name format, no honorifics, no truncation
- Abstract: no leading "Abstract" text, within 1920 character limit, no leading whitespace on lines
- Abstract: opaque TeX macros expanded, no formatting commands (, )
- If comments metadata present: page count and figure count included (advisory)
Pass 6 — PDF Validation (if compiled PDF available)
- All fonts embedded (check with 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: or standalone directive)
- Referenced files exist
- DVI-related directives use correct filename (no extension)
- No conflicting directives
Pass 8 — Ancillary Files (if
directory present)
- No files in directory
- No PDFs with embedded JavaScript
- No internal references to directory from source
- Reasonable total size
Pass 9 — Common Error Scan
- at top of PS/EPS files (not at end)
- No conflicts between and
- No ambiguous double subscript/superscript ( → )
- No concatenated source files
- No Scientific Workplace files
- No modified versions of standard style files (, )
- with complex section names: or proper PDF string handling
3. Generate Report
Produce a structured report:
markdown
# arXiv Preflight Report
**Project:** [directory name]
**Date:** [date]
**Processor:** [detected processor]
**Verdict:** [READY / NEEDS FIXES / BLOCKED]
## Summary
|----------|------|------|------|-----|
| 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.