# Arxiv Catchup

> Fetches new arXiv cs.AI papers published since the last processed date, processes each paper's HTML version via the arxiv-article skill, and advances the date checkpoint. Use when the user says /arxiv-catchup, catch up on arXiv, or wants to read recent AI papers.

- **Type:** Skill
- **Install:** `agentstack add skill-tomzx-agents-arxiv-catchup`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [tomzx](https://agentstack.voostack.com/s/tomzx)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [tomzx](https://github.com/tomzx)
- **Source:** https://github.com/tomzx/agents/tree/main/skills/arxiv-catchup

## Install

```sh
agentstack add skill-tomzx-agents-arxiv-catchup
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# arXiv Catchup

Fetches cs.AI papers from arXiv published since the last checkpoint date, calls **arxiv-article** for each (via parallel subagents), then advances the checkpoint to today.

## Prerequisites

`ARXIV_DIRECTORY` must be set to the directory where archived articles are stored (e.g., `~/arxiv-articles`). If the variable is unset, stop and ask the user to set it.

```bash
echo "${ARXIV_DIRECTORY:?ARXIV_DIRECTORY is not set}"
```

## State file

`~/.arxiv-catchup/state.yaml`

```yaml
last_date: "YYYY-MM-DD"
```

- If the file does not exist, ask the user what start date to use before proceeding.
- The date is always in `YYYY-MM-DD` format.
- After all articles are processed, update the file with today's date.

## Steps

### 1. Read the last-processed date

```bash
mkdir -p ~/.arxiv-catchup
cat ~/.arxiv-catchup/state.yaml 2>/dev/null
```

If the file does not exist or is empty, ask the user:

> "No catchup state found. From what date should I start? (YYYY-MM-DD)"

Wait for the user's answer, then use it as `last_date`.

### 2. Fetch the catchup page

```bash
curl -L --silent --max-time 60 \
  -A "Mozilla/5.0 (compatible; research-bot/1.0)" \
  -o /tmp/arxiv_catchup.html \
  "https://arxiv.org/catchup/cs.AI/{last_date}"
```

If the response is empty or the status is non-200, report the error and stop without updating state.

### 3. Extract HTML article links

The catchup page contains three sections: **New submissions**, **Cross-lists**, and **Replacements**. Ignore all articles under the Replacements section.

Parse the HTML to collect links from New submissions and Cross-lists only. In the page source, replacement entries appear after a heading such as `Replacements` or `replaced`. Discard any `/html/` links that appear after that heading.

Extract links following the pattern `/html/{arxiv_id}`:

```bash
grep -oP '(?]+' /tmp/arxiv_catchup.html | sort -u
```

Collect the deduplicated list. If the list is still empty after both attempts, report that no HTML-version links were found and stop.

### 4. Report what was found

Print a brief header before processing:

```
Found {N} articles to process (since {last_date}): {new} new, {cross} cross-lists.
```

### 5. Process each article in parallel

Dispatch one subagent per article URL, all in parallel. Each subagent runs the **arxiv-article** skill for its assigned URL. Collect all summaries and print them as they arrive.

### 6. Clean up

```bash
rm -f /tmp/arxiv_catchup.html
```

### 7. Update state

After all subagents complete, write today's date:

```bash
echo "last_date: \"$(date +%Y-%m-%d)\"" > ~/.arxiv-catchup/state.yaml
```

### 8. Final report

```
Processed {N} articles ({M} newly archived, {K} already cached).
Checkpoint advanced: {last_date} → {today}.
Archives: $ARXIV_DIRECTORY
```

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [tomzx](https://github.com/tomzx)
- **Source:** [tomzx/agents](https://github.com/tomzx/agents)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-tomzx-agents-arxiv-catchup
- Seller: https://agentstack.voostack.com/s/tomzx
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
