Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Arxiv Submission Package

ASecurity

Prepare an arXiv submission package from a LaTeX paper. Cleans the source, builds a tarball, and extracts metadata for upload.

10 stars
0 votes
0 copies
0 views
Added 9/24/2026
researchgobashgit

Security Analysis

A100/100

Scanned 9/29/2026

$npx -y skills add FOURTEEN1416/academic-agent-toolkit --skill arxiv-submission-package --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Arxiv Submission Package?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Arxiv Submission Package
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fourteen1416-arxiv-submission-package/badge)](https://www.skillsdirectory.com/skills/fourteen1416-arxiv-submission-package)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: arxiv-submission-package
user_invocable: true
description: "Prepare an arXiv submission package from a LaTeX paper. Cleans the source, builds a tarball, and extracts metadata for upload."
---

# arxiv-prep — arXiv Submission Preparation

Automate the tedious steps of preparing a LaTeX paper for arXiv upload. Creates a clean copy, removes cruft, verifies compilation, and produces a ready-to-upload tarball.

## When to Use

- "prep for arxiv", "make an arxiv package", "I need to upload this to arxiv"
- After the paper is finalized and ready for submission
- Complements `paper-presubmit-checks` (content quality) — this skill handles packaging

## Workflow

### Phase 1: Pre-clean (judgment calls)

#### 1. Find the paper

Same search logic as paper-presubmit-checks:
1. User-provided path
2. `paper/current/main.tex`
3. `paper/main.tex`
4. `main.tex`
5. Glob for `**/*.tex` with `\begin{document}`

Identify the **paper directory** (parent of the main `.tex` file). All subsequent operations are relative to this directory.

#### 2. Optionally run paper-presubmit-checks

Ask the user: "Want me to run the paper-presubmit-checks first?" Skip if they say they already did.

#### 3. Check for supplements

Scan for separate supplement/appendix `.tex` files (e.g., `supp.tex`, `appendix.tex`, `si.tex`). If found, ask the user whether to:
- **Merge** into the main file via `\appendix` (arXiv prefers single-PDF submissions)
- **Keep separate** (will be included as ancillary files)

#### 4. Review style files

Grep for journal-specific language that should be removed for arXiv:
- "Submitted to", "Under review at", "Accepted by"
- Journal-specific class options (e.g., `review`, `preprint` mode toggles)
- Copyright/license statements that conflict with arXiv's license

Flag these and ask before changing.

### Phase 2: Automated cleaning

#### 5. Optimize bibliography

Run `bib_optimizer` to remove unused citations and reorder entries to match their order of appearance in the text:

```bash
uvx bib_optimizer bibopt <main.tex> <references.bib> <references_cleaned.bib>
```

- If the paper has a **supplement with its own `.bib`** (e.g., `si.tex`/`supp.tex` using `si_references.bib`), run `bibopt` separately for each:
  ```bash
  uvx bib_optimizer bibopt <si.tex> <si_references.bib> <si_references_cleaned.bib>
  ```
- If the supplement **shares the main `.bib`**, run `bibopt` on each `.tex` file separately against the same `.bib`, then merge the two outputs (concatenate and deduplicate entries by cite key):
  ```bash
  uvx bib_optimizer bibopt <main.tex> <references.bib> <references_main.bib>
  uvx bib_optimizer bibopt <si.tex> <references.bib> <references_si.bib>
  ```
  Then merge with `bibtool` (deduplicates by cite key):
  ```bash
  bibtool -d references_main.bib references_si.bib -o references_cleaned.bib
  ```
  If `bibtool` is not available, concatenate both files and manually remove any duplicate `@type{key,` entries (keep the first occurrence).
- Update the `\bibliography{...}` command in each `.tex` file to point to the cleaned file.
- The original `.bib` is never modified.

If `bib_optimizer` is not available, skip this step — the `.bib` will still be handled in step 7.

#### 6. Run arxiv-latex-cleaner

```bash
uvx arxiv-latex-cleaner <paper-dir> --resize_images --im_size 500 --compress_pdf
```

This creates a `<paper-dir>_arXiv/` directory with a cleaned copy. The original is untouched. The `--compress_pdf` flag reduces embedded PDF figure sizes, helping stay under arXiv's 50 MB limit.

If `arxiv-latex-cleaner` is not available, fall back to manual cleaning:
- Copy the paper directory
- Remove `.git/`, `__pycache__/`, `.DS_Store`
- Remove commented-out text blocks (lines starting with `%` that aren't TeX directives)
- Remove unused `.tex` files not referenced by `\input` or `\include`

#### 7. Post-cleaner fixes in `_arXiv/`

Apply these fixes to the cleaned copy:

- **4-pass trick**: Add `\typeout{get arXiv to do 4 passes}` on the line after `\end{document}` — this ensures arXiv runs enough LaTeX passes to resolve all references
- **Ensure `.bbl` exists**: Check if a `.bbl` file exists. If not, compile with `pdflatex` + `bibtex`/`biber` to generate it. arXiv needs the `.bbl`, not the `.bib`
- **Ask before deleting `.bib`**: If `.bbl` exists, ask the user whether to remove `.bib` files (reduces package size; arXiv uses `.bbl` directly)
- **Clean aux files**: Remove `.aux`, `.log`, `.out`, `.blg`, `.fls`, `.fdb_latexmk`, `.synctex.gz`, `.toc`, `.lof`, `.lot`, `.nav`, `.snm`, `.vrb`. Do **not** use `latexmk -CA` here — it also removes `.bbl`, which arXiv needs
- **Remove `.git/`** if it exists in the copy

### Phase 3: Verify & package

#### 8. Test compilation

Run in the `_arXiv/` directory:

```bash
pdflatex -interaction=nonstopmode main.tex
pdflatex -interaction=nonstopmode main.tex
pdflatex -interaction=nonstopmode main.tex
```

(Three passes to resolve references.) Report:
- **Errors**: any lines with `!` — these are blockers
- **Warnings**: undefined references, missing citations, overfull hboxes
- If compilation fails, report the error but continue to the next steps

#### 9. Extract clean metadata

Parse the `.tex` file to extract metadata for copy-paste into the arXiv submission form:
- **Title**: from `\title{...}` — strip LaTeX commands, math mode, line breaks
- **Abstract**: from `\begin{abstract}...\end{abstract}` — strip LaTeX commands
- **Authors**: from `\author{...}` — extract names, strip affiliations/footnotes
- **Comments**: suggest standard format. If the paper has supplementary material, use: "Main text: X pages, X figures. Supplementary Information: X pages, X figures". Otherwise: "X pages, X figures"

Present this in a clean, copy-pasteable format.

#### 10. Create tarball

```bash
cd <paper-dir>_arXiv && tar -cvf ../arxiv-submission.tar *
```

- Warn if the tarball exceeds 50 MB (arXiv's limit is ~50 MB for source)
- Report the file count and size
- Note: arXiv also accepts `.tar.gz` — use gzip if close to the limit

#### 11. Final summary

Present:
- Package location and size
- Clean metadata (title, abstract, authors, comments)
- Compilation status (clean / warnings / errors)
- Remaining manual steps:
  - Upload `arxiv-submission.tar` at https://arxiv.org/submit
  - Select primary subject area and cross-list categories
  - Paste metadata into the form
  - Set license (usually CC BY 4.0 or arXiv perpetual non-exclusive)
  - Share the submission password with co-authors

## Rules

- **Never modify the original paper directory** — all changes happen in the `_arXiv/` copy
- Ask before destructive operations (deleting `.bib`, merging supplements)
- If any step fails, continue with the remaining steps and report all issues at the end
- Keep the final summary concise and actionable

Attribution

FOURTEEN1416FOURTEEN1416
View sourceSee grades on GitHubMore from FOURTEEN1416 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Competitor Analysis

This skill provides comprehensive analysis of competitor SEO and GEO strategies, revealing what's working in your market and identifying opportunities to outperform the competition.

1823 votes

Deep Research

Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 8 modes: full research, quick brief, paper review, lit-review, fact-check, three-way literature scan, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report co...

502942 votes

Paperclip Distill

Use when an operation issue is a Paperclip cursor-window, distill, or backfill — `operationType: "distill"` or `"backfill"` and the body references a Paperclip source bundle for a project or root issue. Turn raw Paperclip activity into a wiki-insightful project page, decisions log, and history note. This skill exists specifically to replace the stiff, datestamp-heavy templated output that the deterministic distiller produces.

953191 votes

Academic Pipeline

Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory, coverage-bounded integrity checks, two-stage peer review, and auditable quality-assurance artifacts. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end p...

502941 votes

Literature Review

Assistance with writing literature reviews by searching for academic sources via Semantic Scholar, OpenAlex, Crossref and PubMed APIs. Use when the user needs to find papers on a topic, get details for specific DOIs, or draft sections of a literature review with proper citations.

6511 votes
View all in research →