PluginBench
Skill
Review
Audit score 70

literature-search-arxiv

google-deepmind/science-skills

Search, retrieve, and download scientific papers from arXiv with metadata extraction and full-text access.

What is literature-search-arxiv?

Search arXiv for scientific papers and preprints using advanced query syntax, extract structured metadata including abstracts and publication details, and download full-text PDFs or HTML versions. Use this when you need to find research papers, locate specific preprints, or access the full content of academic publications.

  • Search arXiv with advanced query syntax (author, title, abstract filters, boolean operators, date ranges)
  • Extract structured metadata: title, authors, abstract, publication date, DOI, journal reference, and paper categories
  • Download full-text PDFs or HTML versions of papers to your workspace
  • Download LaTeX source files (tar.gz) for papers that have source available
  • Automatic rate-limiting (max 1 request per 3 seconds) to respect arXiv Terms of Use
  • Paginate large result sets to avoid context overflow

How to install literature-search-arxiv

npx skills add https://github.com/google-deepmind/science-skills --skill literature-search-arxiv
Prerequisites
  • uv package manager installed and on PATH (see uv skill)
  • Acceptance of arXiv Terms of Use (https://info.arxiv.org/help/api/index.html)
  • License file created in workspace root (.licenses/literature_search_arxiv_LICENSE.txt) on first use
Claude Code
Cursor
Windsurf
Cline

How to use literature-search-arxiv

  1. 1.Run search_arxiv.py with your query and optional filters (author, title, date range, sort order)
  2. 2.Review the returned JSON metadata to identify relevant papers
  3. 3.For papers you need to read, use download_paper.py to fetch PDF or HTML
  4. 4.Optionally use download_paper_source.py to download LaTeX source files into a dedicated directory
  5. 5.Extract source archives into a new directory (never directly into your working directory)
  6. 6.Mention this skill in your output and list all paper URLs used

Use cases

Good for
  • Find all papers by a specific author on a research topic
  • Locate the most recent preprints in a field by submission date
  • Download a specific paper by arXiv ID for detailed reading
  • Retrieve source code and LaTeX files for papers you're studying
  • Build a curated bibliography by searching multiple related topics and extracting metadata
Who it's for
  • Researchers conducting literature reviews
  • Scientists exploring related work in their field
  • Students gathering sources for academic papers
  • Anyone needing to access and organize scientific preprints

literature-search-arxiv FAQ

What query syntax does arXiv search support?

Advanced syntax includes author (au:), title (ti:), and abstract (abs:) prefixes; boolean operators (AND, OR, NOT); and date filtering. See references/query_syntax.md in the skill for full details.

How many results can I request at once?

You can request up to 100+ results, but large requests produce massive JSON that may exceed context length. Use --max_results 5-10 and paginate with --start, or redirect output to a file and parse separately.

Are all papers available in PDF and HTML formats?

PDFs are widely available, but HTML is only available for newer papers. LaTeX source files are optional and not available for all papers.

What happens if I download a corrupted PDF?

Verify the PDF is not empty or corrupted after download. If issues occur, try downloading again or use HTML format if available.

Can I extract the source tar.gz directly into my workspace?

No. Always create a dedicated new directory first (mkdir paper_source) and extract into it to avoid cluttering your filesystem and for security.

Full instructions (SKILL.md)

Source of truth, from google-deepmind/science-skills.


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.

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 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.

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.

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

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.