arxiv-preflight
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 claimsmanuscript-provenance— audits computational reproducibilityarxiv-figures— optimizes figures for arXivarxiv-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
.texfile(s) - All included files (figures,
.bbl,.bst, style files, subdirectories) - Any
00README.XXXfile - 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
.texfile (\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:
.bblif using BibTeX/BibLaTeX,.indif using makeindex,.gls/.nlsif 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
.texfiles with\documentclass: verify00README.XXXdeclarestoplevelfile
Pass 2 — TeX/LaTeX Compliance
- Processor compatibility: figure formats match processor
- DVI mode: only
.ps/.epsfigures - PDFLaTeX: only
.pdf/.png/.jpgfigures - No mixed formats without conditional compilation
- DVI mode: only
- No
psfigpackage usage (usegraphicx) - No
\todaymacro in date fields - No embedded JavaScript
\pdfoutputtesting usesifpdfpackage, not\ifx\pdfoutput\undefined- No shell-escape dependent packages without workarounds (
minted→frozencache=true) - No
xrpackage for external document references - No double-spaced "referee" mode formatting
- Caption
\citecalls use\protect\cite \includenot used for subdirectory files- BibLaTeX
.bblformat 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
\includegraphicscalls (advisory — accessibility best practice) \includegraphicsusesgraphicxpackage, not deprecated alternatives
Pass 4 — Bibliography Validation
.bblfilename matches corresponding.texfilename- If
.bibincluded:.bblalso included (arXiv can process.bibbut.bblis safer) - arXiv identifiers in references use correct format (
YYMM.NNNNN) - No extraneous formatting within e-print identifiers
- BibLaTeX
.bblformat version check (examine\RequirePackageversion 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
pdffontsor 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 directiveor standalone directive) - Referenced files exist
- DVI-related directives use correct filename (no
.texextension) - No conflicting directives
Pass 8 — Ancillary Files (if anc/ directory present)
- No
.texfiles inanc/directory - No PDFs with embedded JavaScript
- No internal references to
anc/directory from.texsource - Reasonable total size
Pass 9 — Common Error Scan
%%BoundingBoxat top of PS/EPS files (not at end)- No
\Bbbkconflicts betweennewtxmathandamssymb - No ambiguous double subscript/superscript (
a_x_y→a_{x}_y) - No concatenated source files
- No Scientific Workplace
.rapfiles - No modified versions of standard style files (
epsf.sty,epsfig.sty) hyperrefwith complex section names:bookmarks=falseor 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.
More from mathews-tom/armory
humanize
Detects and removes AI-generated writing patterns while preserving meaning and facts. Triggers on: "humanize text", "make this sound human", "remove AI patterns", "rewrite to sound natural", "make this less AI", "de-slop this", "not sound like ChatGPT", "human pass".
56devils-advocate
Challenges AI-generated plans, code, and designs via pre-mortem, inversion, and Socratic questioning to surface blind spots and failure modes. Triggers on: "challenge this", "devils advocate", "stress test this plan", "poke holes in this", "what am I missing".
54adr-writer
Generates Architecture Decision Records capturing context, rationale, alternatives, and consequences in numbered status-tracked format. Triggers on: "write an ADR", "document this decision", "architecture decision record", "decision record", "design decision", "ADR for".
52pr-review
Diff-based PR review across code quality, test coverage, silent failures, type design, and comment quality with severity-ranked findings. Triggers on: "review my PR", "review this code", "check my changes", "audit this PR", "code review". NOT for pre-landing gate, use pre-landing-review.
51feasibility-assessor
Evaluates whether a business idea is technically buildable and financially viable. Covers unit economics (CAC, LTV), revenue modeling, break-even, and go/no-go verdicts. Triggers on: "feasibility assessment", "viability analysis", "unit economics", "build vs buy", "go/no-go decision", "ROI projection".
50api-docs-generator
Audits and enhances FastAPI and REST API documentation: missing descriptions, response codes, examples, docstrings, Pydantic models, OpenAPI spec. Triggers on: "generate API docs", "document this API", "OpenAPI for", "FastAPI docs", "document endpoints", "swagger docs".
50