agentleFS
Mathews-TomMathews-Tom/armory/skills/arxiv-preflight/SKILL.md

arxiv-preflight

Skill340 starsChanged 7 months agoMITView on GitHub

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.

We split this skill into the rules it gives an agent

32 rules. About 0 are common, 19 are distinctive, and 13 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈19

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 13

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All included files (figures, .bbl, .bst, style files, subdirectories)

    line 41
  2. Very specific:

    No absolute file paths in any .tex file (\input, \includegraphics, \include, \bibliography)

    line 62
  3. Very specific:

    No spaces or special characters (&, \, :) in filenames

    line 63
  4. Very specific:

    No auxiliary files that should be excluded: .aux, .log, .toc, .lot, .lof, .dvi, .ps, .pdf (except figure PDFs)

    line 64
  5. Very specific:

    No hidden files (starting with .) except .tex-related configs

    line 66
  6. Distinctive:

    No journal templates or referee letters included

    line 67
  7. Very specific:

    If multiple .tex files with \documentclass: verify 00README.XXX declares toplevelfile

    line 69
  8. Distinctive:

    No mixed formats without conditional compilation

    line 76
  9. Very specific:

    No shell-escape dependent packages without workarounds (minted → frozencache=true)

    line 81
  10. Distinctive:

    No double-spaced "referee" mode formatting

    line 83
  11. Distinctive:

    All custom/non-standard style files included in submission

    line 87
  12. Distinctive:

    No packages outside TeX Live distribution (check against common non-TL packages)

    line 88
  13. Distinctive:

    All referenced figures exist at specified paths

    line 92
  14. Distinctive:

    No figures reference absolute paths

    line 94
  15. Distinctive:

    No embedded animations, JavaScript, or interactive elements

    line 95
  16. Very specific:

    If .bib included: .bbl also included (arXiv can process .bib but .bbl is safer)

    line 104
  17. Distinctive:

    No extraneous formatting within e-print identifiers

    line 106
  18. Distinctive:

    If comments metadata present: page count and figure count included (advisory)

    line 115
  19. Very specific:

    All fonts embedded (check with pdffonts or equivalent)

    line 119
  20. Distinctive:

    No Type 3 (bitmap) fonts

    line 120
  21. Distinctive:

    No security restrictions preventing text extraction

    line 123
  22. Distinctive:

    No PDFs with embedded JavaScript

    line 136
  23. Very specific:

    No internal references to anc/ directory from .tex source

    line 137
  24. Very specific:

    No ambiguous double subscript/superscript (a_x_y → a_{x}_y)

    line 144
  25. Distinctive:

    No concatenated source files

    line 145
  26. Very specific:

    No Scientific Workplace .rap files

    line 146
  27. Very specific:

    No modified versions of standard style files (epsf.sty, epsfig.sty)

    line 147
  28. Distinctive:

    If NEEDS FIXES, list the specific fixes in priority order.

    line 196
  29. Distinctive:

    Exact fixes: Every FAIL includes the specific command, line, or file change needed.

    line 202
  30. Distinctive:

    No false positives: Only flag violations against documented arXiv requirements.

    line 203
  31. Distinctive:

    Do not impose style preferences or best practices as failures.

    line 204
  32. Distinctive:

    Processor-aware: All checks account for the detected TeX processor.

    line 205

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. No absolute file paths in any .tex file (\input, \includegraphics, \include, \bibliography)
  2. No spaces or special characters (&, \, :) in filenames
  3. No auxiliary files that should be excluded: .aux, .log, .toc, .lot, .lof, .dvi, .ps, .pdf (except figure PDFs)
  4. Required files present: .bbl if using BibTeX/BibLaTeX, .ind if using makeindex, .gls/.nls if using glossary/nomenclature
  5. No hidden files (starting with .) except .tex-related configs
  6. No journal templates or referee letters included
  7. Subdirectory structure: no \include{} calls into subdirectories (use \input{} instead)
  8. If multiple .tex files with \documentclass: verify 00README.XXX declares toplevelfile

Pass 2 — TeX/LaTeX Compliance

  1. Processor compatibility: figure formats match processor
    • DVI mode: only .ps/.eps figures
    • PDFLaTeX: only .pdf/.png/.jpg figures
    • No mixed formats without conditional compilation
  2. No psfig package usage (use graphicx)
  3. No \today macro in date fields
  4. No embedded JavaScript
  5. \pdfoutput testing uses ifpdf package, not \ifx\pdfoutput\undefined
  6. No shell-escape dependent packages without workarounds (minted → frozencache=true)
  7. No xr package for external document references
  8. No double-spaced "referee" mode formatting
  9. Caption \cite calls use \protect\cite
  10. \include not used for subdirectory files
  11. BibLaTeX .bbl format version compatible with target TeX Live (3.3 for TL2025)
  12. All custom/non-standard style files included in submission
  13. No packages outside TeX Live distribution (check against common non-TL packages)

Pass 3 — Figure Validation

  1. All referenced figures exist at specified paths
  2. Figure formats match processor requirements
  3. No figures reference absolute paths
  4. No embedded animations, JavaScript, or interactive elements
  5. PNG files: check for oversized images (>34 Megapixel warning)
  6. Reasonable file sizes (flag individual figures >5MB, total figures >25MB)
  7. Alt text present in \includegraphics calls (advisory — accessibility best practice)
  8. \includegraphics uses graphicx package, not deprecated alternatives

Pass 4 — Bibliography Validation

  1. .bbl filename matches corresponding .tex filename
  2. If .bib included: .bbl also included (arXiv can process .bib but .bbl is safer)
  3. arXiv identifiers in references use correct format (YYMM.NNNNN)
  4. No extraneous formatting within e-print identifiers
  5. BibLaTeX .bbl format version check (examine \RequirePackage version in .bbl)

Pass 5 — Metadata Compliance (check .tex front matter)

  1. Title: no all-uppercase, no raw Unicode, cryptic macros expanded
  2. Authors: proper name format, no honorifics, no et al. truncation
  3. Abstract: no leading "Abstract" text, within 1920 character limit, no leading whitespace on lines
  4. Abstract: opaque TeX macros expanded, no formatting commands (\em, \it)
  5. If comments metadata present: page count and figure count included (advisory)

Pass 6 — PDF Validation (if compiled PDF available)

  1. All fonts embedded (check with pdffonts or equivalent)
  2. No Type 3 (bitmap) fonts
  3. Machine readable (not scanned/bitmapped)
  4. No embedded JavaScript
  5. No security restrictions preventing text extraction
  6. Reasonable file size

Pass 7 — 00README.XXX Validation (if present)

  1. Valid directive syntax (each line: filename directive or standalone directive)
  2. Referenced files exist
  3. DVI-related directives use correct filename (no .tex extension)
  4. No conflicting directives

Pass 8 — Ancillary Files (if anc/ directory present)

  1. No .tex files in anc/ directory
  2. No PDFs with embedded JavaScript
  3. No internal references to anc/ directory from .tex source
  4. Reasonable total size

Pass 9 — Common Error Scan

  1. %%BoundingBox at top of PS/EPS files (not at end)
  2. No \Bbbk conflicts between newtxmath and amssymb
  3. No ambiguous double subscript/superscript (a_x_y → a_{x}_y)
  4. No concatenated source files
  5. No Scientific Workplace .rap files
  6. No modified versions of standard style files (epsf.sty, epsfig.sty)
  7. 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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.