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.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add FridrichMethod/awesome-skills --skill literature_search_arxiv --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Literature Search Arxiv?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/fridrichmethod-literature-search-arxiv)More formats (shields.io, HTML) on the badges page.
---
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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!