skills/arxiv-package/SKILL.md
Package a TeX/LaTeX project into a clean tarball or zip for arXiv upload: file selection, build-artifact exclusion, 00README.XXX generation, ancillary file organization, archive validation. Triggers on: "package for arXiv", "create arXiv tarball", "bundle submission", "zip for arXiv", "prepare arXiv upload", "arXiv submission archive". Companion to arxiv-preflight and arxiv-figures.
npx skillsauth add mathews-tom/armory arxiv-packageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Assemble a TeX/LaTeX project into a clean, correctly structured .tar.gz or
.zip archive ready for arXiv upload. Handles file selection, artifact
exclusion, directory structure, 00README generation, and validation of the
final package.
Companion skills:
arxiv-preflight — validate before packagingarxiv-figures — optimize figures before packagingScan the project directory. Classify every file:
INCLUDE — Required
.tex file(s)\input/\include targets (recursively trace)\includegraphics targets.bbl files (pre-processed bibliography).ind files (pre-processed index).gls/.nls files (glossary/nomenclature).sty, .cls, .bst files not in TeX Live00README.XXX (if present)anc/ directory contents (ancillary files)EXCLUDE — Build Artifacts
.aux, .log, .toc, .lot, .lof, .out, .nav, .snm, .vrb.dvi, .ps, .pdf (except figure PDFs and ancillary PDFs).synctex, .synctex.gz, .fls, .fdb_latexmk.blg, .ilg, .glg, .nlg (log files from bib/index/glossary processing)*.bak, *~, *.swp, *.swo (editor backups).DS_Store, Thumbs.db, desktop.ini (OS artifacts)EXCLUDE — Should Not Submit
.sty needed for compilation)Makefile, latexmkrc) — not needed by arXiv.git/, .svn/, version control directories.vscode/, .idea/, .texpadtmp/)FLAG — Needs Decision
.bib files (include alongside .bbl or omit — arXiv processes both).tex files with \documentclass (needs 00README.XXX with toplevelfile)Create or update the 00README.XXX file when needed:
# Auto-generated by arxiv-package
# Main TeX file (only if ambiguous — multiple \documentclass files)
main.tex toplevelfile
# Files to exclude from processing
cover-letter.pdf ignore
notes.txt ignore
# Optional directives
# nostamp
# nohypertex
Only generate if:
.tex files contain \documentclass (declare toplevelfile)ignore directivesnostamp or other directivesBefore creating the archive:
\input/\include targets resolve to files in the package\includegraphics targets resolve to files in the package\bibliography targets have corresponding .bbl filesanc/ directory contains no .tex files# From project root, create tar.gz excluding unwanted files
tar czf submission.tar.gz \
--exclude='*.aux' --exclude='*.log' --exclude='*.toc' \
--exclude='*.lot' --exclude='*.lof' --exclude='*.out' \
--exclude='*.nav' --exclude='*.snm' --exclude='*.vrb' \
--exclude='*.dvi' --exclude='*.synctex*' \
--exclude='*.fls' --exclude='*.fdb_latexmk' \
--exclude='*.blg' --exclude='*.ilg' --exclude='*.glg' \
--exclude='*.bak' --exclude='*~' --exclude='*.swp' \
--exclude='.git' --exclude='.svn' \
--exclude='.DS_Store' --exclude='Thumbs.db' \
--exclude='.vscode' --exclude='.idea' \
[list of files/directories to include]
# Or create zip
zip -r submission.zip [files] \
-x '*.aux' -x '*.log' -x '*.toc' ...
Prefer explicit file inclusion over directory-wide inclusion with exclusions. This prevents accidental inclusion of sensitive or unnecessary files.
After creation:
# arXiv Package Report
**Archive:** submission.tar.gz
**Compressed size:** [size]
**Uncompressed size:** [size]
**File count:** [count]
## Contents
| File | Size | Type |
|------|------|------|
| main.tex | 45 KB | Source |
| references.bbl | 12 KB | Bibliography |
| fig1.pdf | 380 KB | Figure |
| anc/data.csv | 1.2 MB | Ancillary |
## Excluded
| File | Reason |
|------|--------|
| main.aux | Build artifact |
| main.log | Build artifact |
| referee-response.pdf | Not for submission |
## 00README.XXX
[Contents if generated]
## Verification
- [ ] Archive extracts cleanly
- [ ] All source references resolve
- [ ] Compilation succeeds (if tested)
- [ ] No sensitive files included
.tar.gz preferred over .zip (standard in academic TeX workflows).tar (gzipped) and .zip.tar.gz inside a .zip).env, credentials, personal notes, referee
correspondence before packaging.testing
Create, review, and restyle data visualizations using Edward Tufte principles: high data-ink ratio, direct labels, range-frame axes, small multiples, accessible color, responsive charts, and honest comparisons. Triggers on: "create a chart", "style this chart", "review this graph", "Tufte chart", "data visualization", "Recharts", "Plotly", "matplotlib", "Chart.js", "ECharts", "D3". Use when generating or critiquing charts, dashboards, sparklines, and data tables.
testing
Manages dependent branch stacks and stacked pull requests using safe Git topology rules. Triggers on: "create stacked PRs", "publish this stack", "sync my PR stack", "rebase this stack", "merge the stack", "retarget child PRs", "split this branch into stacked PRs", "validate this stack", "cleanup stacked branches". Use when local branches or one source branch need to become a dependency-ordered PR stack with correct parent bases, validation, synchronization, merge order, and cleanup.
development
Scaffolds per-repository agent context so coding agents share the same issue tracker rules, triage label vocabulary, domain glossary, ADR layout, and handoff conventions. Triggers on: "set up project context", "configure agent docs", "create CONTEXT.md", "setup agent workflow", "agent issue tracker setup", "triage labels", "domain glossary for agents". Use when a repo needs durable context files before planning, triage, debugging, TDD, architecture review, or multi-agent implementation.
testing
Produces phased task boards from feature requests: dependency-mapped work items, parallelization flags, risk flags, edge cases, test matrices. Triggers on: "decompose this feature", "task breakdown with dependencies", "phased implementation plan", "work breakdown structure". NOT for effort estimates, use estimate-calibrator.