Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/mkurman-literature-search-arxiv/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 228% | 0% |
| case-16 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-18 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-12 | ✓→✗ | ▼ Worse | -18% | 0% |
uv: Read the uv skill and follow its Setup instructions to ensureuv is installed and on PATH.
this skill 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.
use these scripts rather than writing your own curl/python requests.
URLs of all papers that were used in producing the output.
1. Search and Extract Metadata
Search arXiv and return a clean JSON array of matching papers.
bashuv 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. Seereferences/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.
bashuv 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.
bashuv 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
references/query_syntax.md for prefixes (au, ti, abs), booleans, and date filtering.
search_arxiv.py. Review the JSON summaries.download_paper.py to fetch the PDF or HTML.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 20,776 | 5,692 | -73% | 1 | 1 | 0% | 3,457 | 1,452 | -58% | 0 | 0 | — |
case-02 | fail→fail | 19,199 | 6,735 | -65% | 1 | 1 | 0% | 3,751 | 1,471 | -61% | 0 | 0 | — |
case-12 | pass→fail | 12,115 | 7,828 | -35% | 1 | 1 | 0% | 1,905 | 1,571 | -18% | 0 | 0 | — |
case-03 | fail→fail | 17,057 | 6,433 | -62% | 1 | 1 | 0% | 3,246 | 1,500 | -54% | 0 | 0 | — |
case-04 | pass→fail | 11,649 | 7,552 | -35% | 1 | 1 | 0% | 1,823 | 1,751 | -4% | 0 | 0 | — |
case-05 | pass→pass | 15,566 | 18,813 | +21% | 1 | 1 | 0% | 2,575 | 3,857 | +50% | 0 | 0 | — |
case-06 | fail→fail | 11,167 | 9,332 | -16% | 1 | 1 | 0% | 2,101 | 1,652 | -21% | 0 | 0 | — |
case-07 | fail→fail | 12,042 | 6,965 | -42% | 1 | 1 | 0% | 2,006 | 1,513 | -25% | 0 | 0 | — |
case-08 | pass→pass | 11,370 | 7,768 | -32% | 1 | 1 | 0% | 1,829 | 1,822 | -0% | 0 | 0 | — |
case-09 | fail→fail | 7,774 | 8,511 | +9% | 1 | 1 | 0% | 1,368 | 1,720 | +26% | 0 | 0 | — |
case-10 | pass→pass | 11,178 | 19,763 | +77% | 1 | 1 | 0% | 1,889 | 4,618 | +144% | 0 | 0 | — |
case-11 | pass→pass | 9,939 | 17,221 | +73% | 1 | 1 | 0% | 1,640 | 2,878 | +75% | 0 | 0 | — |
case-13 | fail→pass | 4,859 | 7,920 | +63% | 1 | 1 | 0% | 740 | 2,425 | +228% | 0 | 0 | — |
case-14 | pass→fail | 6,552 | 4,661 | -29% | 1 | 1 | 0% | 1,089 | 1,929 | +77% | 0 | 0 | — |
case-15 | pass→fail | 4,090 | 6,704 | +64% | 1 | 1 | 0% | 706 | 1,556 | +120% | 0 | 0 | — |
case-16 | fail→pass | 12,250 | 4,283 | -65% | 1 | 1 | 0% | 2,100 | 1,876 | -11% | 0 | 0 | — |
case-17 | fail→fail | 9,359 | 3,409 | -64% | 1 | 1 | 0% | 1,681 | 1,604 | -5% | 0 | 0 | — |
case-18 | fail→pass | 8,894 | 5,307 | -40% | 1 | 1 | 0% | 1,636 | 1,556 | -5% | 0 | 0 | — |
case-19 | pass→fail | 10,997 | 6,174 | -44% | 1 | 1 | 0% | 2,148 | 1,379 | -36% | 0 | 0 | — |
case-20 | fail→pass | 9,997 | 6,031 | -40% | 1 | 1 | 0% | 1,837 | 2,198 | +20% | 0 | 0 | — |
case-21 | pass→fail | 12,263 | 6,245 | -49% | 1 | 1 | 0% | 2,025 | 1,512 | -25% | 0 | 0 | — |
case-22 | pass→pass | 10,180 | 5,872 | -42% | 1 | 1 | 0% | 1,527 | 2,103 | +38% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 11 counted toward the lift figure. The other 11 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -9 percentage points is the difference between those two pass rates over the 11 comparable cases. 10 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.