Agent skill

Arxiv Figures

by Mathews-Tom in Mathews-Tom/armory

Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX).

MITAuto-check passedResearch & Science

Install Arxiv Figures

skills CLI
$ npx skills add Mathews-Tom/armory --skill arxiv-figures -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Mathews-Tom/armory arxiv-figures --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/arxiv-figures .claude/skills/arxiv-figures && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
arxiv-figures
GitHub stars
329
Token cost
~1.5k tokens
SKILL.md length
510 words
Files
2
Skills in repo
80
Repo updated
First seen
Licence
MIT

At a glance

Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX).

  • Works in 6 steps: Inventory → Analyze → Optimize → …
  • : optimize figures for arXiv
  • SKILL.md covers Purpose, Format Rules, Workflow and Tools Reference, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Arxiv Figures is an agent skill from Mathews-Tom/armory. Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Triggers on: "optimize figures for arXiv", "reduce figure size", "convert figures for arXiv", "fix arXiv figures", "figure too large", "arxiv image compression". Companion to arxiv-preflight and arxiv-package.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/cases.yaml`).

It sits in Research & Science, covering Academic paper search. It works with arXiv and LaTeX. The repository describes itself as: Curated, production-grade skills for AI coding agents. Battle-tested workflows for developers who use AI seriously. The licence is MIT.

When your agent uses it

  • : optimize figures for arXiv
  • Reduce figure size
  • Convert figures for arXiv
  • Fix arXiv figures

Example prompts

  • “optimize figures for arXiv”
  • “reduce figure size”
  • “convert figures for arXiv”
  • “/arxiv-figures”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Inventory
  2. Analyze
  3. Optimize
  4. Update TeX Source
  5. Verify
  6. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 4594fb7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Arxiv Figures loads about 1.5k tokens when it runs. Until then it costs about 98 tokens; SKILL.md has 510 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Mathews-Tom/armory at commit 4594fb7, republished under its MIT licence (© Mathews-Tom). 510 words, ~1,533 tokens.

Download SKILL.mdSave it as .claude/skills/arxiv-figures/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
arxiv-figures
description
Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Triggers on: "optimize figures for arXiv", "reduce figure size", "convert figures for arXiv", "fix arXiv figures", "figure too large", "arxiv image compression". Companion to arxiv-preflight and arxiv-package.
metadata.version
1.0.0
metadata.complements
arxiv-preflight, arxiv-package, manuscript-review
metadata.category
review
metadata.tags
arxiv, figures, optimization, latex, submission
metadata.difficulty
intermediate
metadata.phase
ship

arXiv Figure Optimizer

Purpose

Analyze, optimize, and convert figures in a TeX/LaTeX project to meet arXiv requirements and size constraints. Produces correctly formatted, efficiently compressed figures that compile without errors.

Companion skills:

  • arxiv-preflight — full submission validation
  • arxiv-package — tarball packaging

Format Rules

By Processor
ProcessorAcceptedRejected
LaTeX (DVI mode).ps, .eps.pdf, .png, .jpg
PDFLaTeX.pdf, .png, .jpg.ps, .eps
By Content Type
ContentOptimal FormatRationale
PhotographsJPEGLossy compression suits continuous tone
Line drawings / diagramsPDF (vector)Scalable, sharp at any resolution
Plots with text labelsPDF (vector)Text remains crisp and searchable
Screenshots / raster artPNGLossless compression for sharp edges
Mixed photo + textPNG or PDFDepends on dominant content

Workflow

1. Inventory

Scan the project for all figures:

  • Parse \includegraphics calls from all .tex files
  • Identify the TeX processor (DVI vs PDFLaTeX) from document preamble or build config
  • For each figure: record path, format, file size, dimensions (pixels or vector bounds)
  • Flag missing figures, wrong-format figures, oversized figures
2. Analyze

For each figure, determine:

  1. Format compliance — does the format match the processor?
  2. File size — flag individual figures >2MB, total >15MB
  3. Resolution — PNG/JPEG: flag >34 Megapixels (arXiv warning threshold since Feb 2026)
  4. Content type — photograph vs diagram vs plot (determines optimal format)
  5. Redundant metadata — PNG: ICC profiles, alpha channels, EXIF, interlacing
  6. EPS efficiency — verbose PostScript from plotting programs (common with matplotlib, R, MATLAB)
3. Optimize

Apply transformations in order of impact:

Format Conversion (when format violates processor requirements)

bash
# EPS → PDF (for PDFLaTeX)
epstopdf figure.eps
# or
ps2pdf -dEPSCrop figure.eps figure.pdf

# PDF/PNG/JPG → EPS (for DVI mode)
convert figure.png figure.eps

Size Reduction — Vector Figures

bash
# Distill verbose EPS
eps2eps input.eps output.eps
# or convert to PDF
ps2pdf -dEPSCrop input.eps output.pdf

Size Reduction — Raster Figures

bash
# Strip PNG metadata, remove alpha, optimize compression
convert input.png -strip -alpha remove -define png:compression-level=9 output.png

# Reduce oversized PNG resolution (keep ≤300 DPI at print size)
convert input.png -resize 3000x3000\> -strip output.png

# JPEG quality optimization (80-90 is visually lossless for most content)
convert input.jpg -quality 85 -strip output.jpg

# Downsample oversized JPEG
convert input.jpg -resize 3000x3000\> -quality 85 -strip output.jpg

PNG Optimization (avoid arXiv warnings)

  • Remove palette indexing if unnecessary
  • Remove alpha channel if background is solid
  • Strip ICC color profiles
  • Remove metadata chunks
  • Disable interlacing

EPS BoundingBox Fix (prevents Missing number, treated as zero)

  • Verify %%BoundingBox appears near top of file, not only at end
  • If only %%BoundingBox: (atend), extract actual values and place at top
Show full SKILL.md (197 more words)Show less
4. Update TeX Source

If figures were renamed or reformatted:

  1. Update \includegraphics paths
  2. Remove explicit extensions where possible (allows processor flexibility)
  3. Verify \graphicspath settings if used
5. Verify

After optimization:

  1. Attempt local compilation to verify all figures render
  2. Compare visual output of optimized vs original figures
  3. Report size reduction per figure and total
6. Report
markdown
# Figure Optimization Report

**Processor:** [detected]
**Total figures:** [count]
**Size before:** [total MB]
**Size after:** [total MB]
**Reduction:** [percentage]

## Changes Made

| Figure | Original | Optimized | Size Before | Size After | Action |
|--------|----------|-----------|-------------|------------|--------|
| fig1 | fig1.eps | fig1.pdf | 12.3 MB | 0.4 MB | EPS→PDF conversion |
| fig2 | fig2.png | fig2.png | 8.1 MB | 1.2 MB | Strip metadata, downsample |

## Warnings

[Any remaining issues — e.g., figures still above thresholds]

Tools Reference

ToolInstallUse Case
ImageMagick (convert)System packageFormat conversion, resizing, stripping
Ghostscript (ps2pdf, eps2eps)System packageEPS/PS optimization and conversion
epstopdfTeX LiveEPS → PDF conversion
pdfcropTeX LiveTrim PDF whitespace
optipngSystem packagePNG lossless optimization
pngquantSystem packagePNG lossy size reduction
jpegoptimSystem packageJPEG lossless optimization

Core Principles

  • Never degrade visual quality below print-readable. Optimization means removing waste (metadata, unnecessary resolution, verbose encoding), not destroying information.
  • Match format to processor. A figure in the wrong format blocks compilation. This is the highest priority fix.
  • Preserve vector where possible. Converting vector to raster is a one-way quality loss. Only do this when the vector version is pathologically large (>10MB) and cannot be distilled.
  • Report everything. The user decides which optimizations to accept. Show before/after sizes and explain each transformation.

© Mathews-Tom, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/arxiv-figures of Mathews-Tom/armory.

  • SKILL.md
  • evals/cases.yaml

Open the folder on GitHubat commit 4594fb7

Compare with similar skills

Arxiv Figures next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Arxiv Figures compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Arxiv Figures this skillMathews-Tom/armory329—~1.5kAutomated safety check: PassMIT
Read arXiv Paperkarpathy/nanochat59k1 repos~494Automated safety check: PassMIT
Citation Managementneflibata-feng/MyArxiv-Agent12619 repos~8.1kAutomated safety check: NotesMIT
Literature Review AgentAr9av/PaperOrchestra6791 repos~5.2kAutomated safety check: PassCustom licence
Academic Searchustc-ai4science/academic-search668—~1.1kAutomated safety check: PassMIT
Arxiv MCP Serverblazickjp/arxiv-mcp-server3.2k—~353Automated safety check: PassApache-2.0

Similar skills

  • Read arXiv Paper

    karpathy/nanochat

    Fetches the TeX source of an arXiv paper from its URL, reads it and writes a markdown summary tied to the nanochat project.

    59k GitHub starsUsed in 1 repo~494 tokens
    Research & ScienceAuto-check passed
  • Citation Management

    neflibata-feng/MyArxiv-Agent

    Comprehensive citation management for academic research. An agent skill from neflibata-feng/MyArxiv-Agent.

    126 GitHub starsUsed in 19 repos~8.1k tokens
    Research & ScienceAuto-check: notes
  • Literature Review Agent

    Ar9av/PaperOrchestra

    Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). An agent skill from Ar9av/PaperOrchestra.

    679 GitHub starsUsed in 1 repo~5.2k tokens
    Research & ScienceAuto-check passed
  • Academic Search

    ustc-ai4science/academic-search

    A skill your agent uses when the user asks to search or review academic papers, retrieve scholarly metadata or citation counts, validate or deduplicate scholarly records, find an author's…

    668 GitHub stars~1.1k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Arxiv MCP Server

    blazickjp/arxiv-mcp-server

    A skill your agent uses when finding, comparing, reading, or monitoring arXiv papers, including requests for abstracts, citation graphs, original LaTeX, section-level technical details, or…

    3.2k GitHub stars~353 tokensUpdated 2 days ago
    Research & ScienceAuto-check passed
  • Nature Academic Search

    wp-a/nature-academic-search

    A skill your agent uses when users ask to 找文献、做文献检索、查论文、查临床试验、核验引用、去重文献、设计 PubMed/MeSH 检索式、追踪上下游引文、解析 DOI/PMID/PMCID/arXiv/OpenAlex/Semantic Scholar/NCT ID, 或导出 RIS、BibTeX、NBIB、ENW;also use for…

    304 GitHub stars~1.4k tokensUpdated 9 days ago
    Research & ScienceAuto-check passed

More from Mathews-Tom/armory

All 80 skills in this repo
  • Architecture Reviewer

    Mathews-Tom/armory

    Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports.

    329 GitHub stars~4.6k tokensUpdated 5 days ago
    Auto-check passed
  • Concept To Image

    Mathews-Tom/armory

    Turn concepts into static HTML visuals exported as PNG or SVG files via HTML/CSS/SVG.

    329 GitHub stars~2.6k tokensUpdated 5 days ago
    Auto-check passed
  • Watch

    Mathews-Tom/armory

    A skill your agent uses when analyzing an existing video URL or local recording: "watch this video", "analyze youtube video", "summarize this video", "youtube transcript", "find this moment", "what…

    329 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check passed
  • Code Refiner

    Mathews-Tom/armory

    Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.

    329 GitHub stars~3.1k tokensUpdated 5 days ago
    Auto-check passed
  • Concept To Video

    Mathews-Tom/armory

    Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition.

    329 GitHub stars~4.9k tokensUpdated 5 days ago
    Auto-check passed
  • Decision Map

    Mathews-Tom/armory

    Maps the unresolved architecture, policy, and scope decisions that must be answered before planning can start: one durable decision ticket per question on the issue tracker, typed and blocker-linked…

    329 GitHub stars~2.7k tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Arxiv Figures

What does Arxiv Figures do?

Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX). Arxiv Figures is an agent skill from Mathews-Tom/armory. Optimize and prepare figures for arXiv submission: format conversion (EPS/PDF/PNG/JPG), size reduction, metadata stripping, processor compatibility (DVI vs PDFLaTeX).

When should I use Arxiv Figures?

Arxiv Figures fits situations like: : optimize figures for arXiv; reduce figure size; convert figures for arXiv; fix arXiv figures.

How do I install Arxiv Figures in Claude Code?

Run `npx skills add Mathews-Tom/armory --skill arxiv-figures -a claude-code`. Or copy the skill folder (skills/arxiv-figures in Mathews-Tom/armory) into .claude/skills/arxiv-figures in your project. Claude Code loads it when a task matches its description.

How do I install Arxiv Figures in Codex?

Run `npx skills add Mathews-Tom/armory --skill arxiv-figures -a codex`. Or copy the skill folder (skills/arxiv-figures in Mathews-Tom/armory) into .agents/skills/arxiv-figures in your project. Codex loads it when a task matches its description.

Can I use Arxiv Figures in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mathews-Tom/armory --skill arxiv-figures -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/arxiv-figures, .gemini/skills/arxiv-figures, .github/skills/arxiv-figures and .opencode/skills/arxiv-figures in your project.

What does Arxiv Figures need to run?

SKILL.md names no scripts, command-line tools or credentials: Arxiv Figures is instructions for the agent only.

Does Arxiv Figures access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Arxiv Figures safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Arxiv Figures use?

Arxiv Figures is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Arxiv Figures use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Arxiv Figures?

Skills that share tags, products or a category with Arxiv Figures: Read arXiv Paper (karpathy/nanochat, 59k stars), Citation Management (neflibata-feng/MyArxiv-Agent, 126 stars), Literature Review Agent (Ar9av/PaperOrchestra, 679 stars) and Academic Search (ustc-ai4science/academic-search, 668 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Arxiv Figures?

Mathews-Tom (a GitHub user) maintains it in Mathews-Tom/armory, which has 329 GitHub stars. The repository holds 80 skills in this directory. The repository was last updated on October 6, 2026.

Source: Mathews-Tom/armory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.