> Search for scientific papers, preprints, and publications on arXiv. Extract metadata, abstracts, and download full-text PDFs or HTML versions of papers. Use when the user asks to find research papers, literature, or specific arXiv IDs.
Install with the open skills CLI (global, non-interactive — available in every Claude Code session):
npx skills add google-deepmind/science-skills --skill "literature-search-arxiv" -g -a claude-code -yOr manually — clone and copy the skill directory (SKILL.md + companion files):
git clone --depth 1 https://github.com/google-deepmind/science-skills /tmp/science-skills && cp -r /tmp/science-skills/skills/literature_search_arxiv ~/.claude/skills/literature-search-arxivThis skill is a directory: SKILL.md is the entry point; the files below ship with it.
---
name: literature-search-arxiv
description: >
Search for scientific papers, preprints, and publications on arXiv. Extract
metadata, abstracts, and download full-text PDFs or HTML versions of papers.
Use when the user asks to find research papers, literature, or specific arXiv
IDs.
---
# arXiv Search and Retrieval
## Prerequisites
1. **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure
`uv` is installed and on PATH.
2. **User Notification**: If .licenses/literature_search_arxiv_LICENSE.txt does
not already exist in the workspace root directory then (1) prominently
notify the user to check the terms at
https://info.arxiv.org/help/api/index.html and to always check the license
of the papers retrieved by the skill for any restrictions, then (2) create
the file recording the notification text and timestamp.
## Core Rules
- **Terms of Use**: You MUST respect arXiv's Terms of Use.
- Maximum 1 request every 3 seconds.
- The provided utility scripts handle rate limiting automatically. Always
use these scripts rather than writing your own curl/python requests.
- If this skill is used, ensure this is mentioned in the output AND list the
URLs of all papers that were used in producing the output.
## Utility Scripts
**1. Search and Extract Metadata**
Search arXiv and return a clean JSON array of matching papers.
```bash
uv run scripts/search_arxiv.py --query "au:einstein AND ti:relativity" \
--max_results 5 2>/dev/null > /tmp/arxiv_search_results.json
```
> **Important**: The tool outputs a large JSON result to stdout. Requesting 100+
> results will produce a massive JSON that might exceed your context length.
> Limit `--max_results` (e.g., 5-10) or paginate carefully using `--start`.
> Always redirect output to a file and parse it separately, otherwise terminal
> output will be truncated.
*Returned Metadata:* JSON results include `id`, `title`, `summary`, `published`,
`authors`, `pdf_url`, `primary_category`, `doi`, `journal_ref`, and `comment`.
Note: the `doi` field only contains DOI information in case the paper has an
external DOI and if only an arXiv-issued DOI exists, this is DOI is not
returned.
*Options:*
- `--query`: Search string. See
[references/query_syntax.md](references/query_syntax.md) for advanced
syntax.
- `--id_list`: Comma-separated list of arXiv IDs to fetch directly (e.g.,
`1706.03762v5`).
- `--start`: Pagination offset (default 0).
- `--max_results`: Number of results to return (default 10).
- `--sort_by`: `relevance`, `lastUpdatedDate`, or `submittedDate`. (Use
`--sort_by submittedDate --sort_order descending` for the most recent
papers).
- `--sort_order`: `ascending` or `descending`.
**2. Download Paper (PDF or HTML)**
Download the full text of a paper to your local workspace for reading.
```bash
uv run scripts/download_paper.py --id 1706.03762 --format pdf --output attention.pdf
```
*Options:*
- `--id`: The arXiv ID (e.g., `1706.03762` or `1706.03762v5`).
- `--format`: `pdf` or `html`. Note: HTML is only available for newer papers.
- `--output`: Filepath to save the downloaded document.
> **Important**: when downloading papers, make sure you download them to a
> location where you do not overwrite other files and do not clutter existing
> directory structure.
**3. Download Paper Source (tar.gz)**
Download the LaTeX source files of a paper to your local workspace. Note that
not all papers have source available.
```bash
uv run scripts/download_paper_source.py --id 2010.11645 --output source.tar.gz
```
*Options:*
- `--id`: The arXiv ID (e.g., `2010.11645`).
- `--output`: Filepath to save the downloaded tar.gz file.
> **Caution**: Care should be exercised when untar'ing the downloaded file for
> security and to avoid cluttering your filesystem, as archives may contain many
> files or unexpected directory structures.
>
> **Safe Extraction Requirements**: NEVER extract directly into your working
> directory! Always extract into a dedicated new directory: `bash mkdir
> paper_source && tar -xzf source.tar.gz -C paper_source`
## Reference
- **Advanced Query Syntax**: See
[references/query_syntax.md](references/query_syntax.md) for prefixes (au,
ti, abs), booleans, and date filtering.
## Workflow
1. Search for papers using `search_arxiv.py`. Review the JSON summaries.
2. If full text is needed, use `download_paper.py` to fetch the PDF or HTML.
3. If downloading a PDF, verify the PDF is not empty or corrupted.
4. Read the downloaded file using standard file reading tools.
Build fully-integrated 3-statement models (IS, BS, CF) in Excel with working capital schedules, D&A roll-forwards, debt schedule, and the plugs that make cash and retained earnings tie. Pairs with excel-author.
Airtable REST API via curl. Records CRUD, filters, upserts.
Search arXiv papers by keyword, author, category, or ID.