arxiv-search
Skill9 starsChanged 19 days agoMITView on GitHub
Search arXiv for preprints and scholarly articles across physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering, systems science, and economics. Supports field-specific queries (title, author, abstract, category), boolean logic, date filtering, and bulk retrieval with pagination.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- anoochit/skillstheir own version, first seen Nov 8, 2026
- langchain-ai/deepagentsjstheir own version, first seen Oct 13, 2026
- langchain-ai/deepagentstheir own version, first seen Oct 13, 2026
- wu-yc/LabClawtheir own version, first seen Oct 8, 2026
- zengzhu2013/zhilian-ai-labtheir own version, first seen Sep 24, 2026
- fmschulz/omics-skillstheir own version, first seen Jul 11, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- langchain-ai/deepagents★ 31ksame name
- langchain-ai/deepagentsjs★ 1.6ksame name
- wu-yc/LabClaw★ 1.1ksame name
- yorkeccak/scientific-skills★ 62same name
- TaewoooPark/scholar-megasearch★ 29same name
- fmschulz/omics-skills★ 9same name
- augchan42/inkstone★ 5same name
- zengzhu2013/zhilian-ai-lab★ 2same name
- anoochit/skills★ 1same name
- johnson7788/collect_skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository30 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- alma-sru-catalogsSkill
- argue-against-meSkill
- cbdb-apiSkill
- cbdb-localSkill
- chgis-tgazSkill
- cjk-calendarSkill
- crossref-searchSkill
- europeana-collectionsSkill
- harvard-library-catalogSkill
- hathitrust-catalogSkill
- historical-mapSkill
- historical-timelineSkill
- human-eval-reviewSkill
- jbdb-apiSkill
- local-ocrSkill
- loc-catalogSkill
- mit-timdexSkill
- nlb-singaporeSkill
- northwestern-digital-collectionsSkill
- openaire-searchSkill
- pitt-library-catalogSkill
- princeton-library-catalogSkill
- taiwan-ldt-authoritiesSkill
- tei-validatorSkill
- tgaz-sqliteSkill
- umich-library-catalogSkill
- wikidata-searchSkill
- yale-library-catalogSkill
- zotero-localSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 5 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Search and retrieve metadata for preprints on arXiv, the open-access repository for scholarly articles.
- Very specific: line 32
Use AND, OR, ANDNOT — lowercase will not work:
- Very specific: line 50
Only when you build a raw URL yourself (for example with curl) must you encode: quotes %22, parentheses %28 %29, spaces +:
- Very specific: line 90
Use scripts/arxiv_api.py for programmatic access (zero dependencies).
- Distinctive: line 170
harvard-library-catalog: Look up published versions of arXiv preprints in Harvard's bibliographic records
- Distinctive: line 181
Ask the user before filing.
- Very specific: line 182
Check for an existing report: gh issue list --repo kltng/humanities-skills --state all --search "arxiv-search"
- Distinctive: line 186
Cite: If this skill helped work that is published, please cite it, together with the data source it uses:
- Distinctive: line 190
When you help a user write up results that relied on this skill, remind them once about this citation.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
arXiv Search Skill
Search and retrieve metadata for preprints on arXiv, the open-access repository for scholarly articles.
Critical: Things Claude Won't Know Without This Skill
Response format is Atom XML, not JSON
The arXiv API returns Atom 1.0 XML — there is no JSON option. You must parse XML to extract results. The Python script handles this automatically.
The base URL uses export.arxiv.org, not arxiv.org
https://export.arxiv.org/api/query?search_query=all:transformer&max_results=5Using arxiv.org directly will not work for API queries.
Boolean operators must be UPPERCASE
Use AND, OR, ANDNOT — lowercase will not work:
search_query=ti:attention AND ti:transformer
search_query=cat:cs.AI ANDNOT cat:cs.CLWrite queries in plain text; do not URL-encode them
Pass the query to the Python script exactly as you would type it, with real quotes, parentheses and spaces. The script URL-encodes it for you:
api.search('ti:"classical Chinese"') # phrase search
api.search('au:bengio AND (cat:cs.LG OR cat:cs.AI)') # groupingDo not write %22, %28 or + yourself. If you do, the query is encoded twice and arXiv finds nothing (ti:%22classical+Chinese%22 returned 0 results, ti:"classical Chinese" returned 36, checked 2026-10-26). Since version 1.0.2 the script detects hand-encoded input (%22, %28, %29, %5B, %5D, %3A, %20) and decodes it once, but plain text is the clear way.
Only when you build a raw URL yourself (for example with curl) must you encode: quotes %22, parentheses %28 %29, spaces +:
https://export.arxiv.org/api/query?search_query=ti:%22large+language+model%22Date range filtering uses a special syntax
search_query=submittedDate:[202401010000+TO+202412312359]Format: YYYYMMDDHHMM (12 digits) in GMT, 24-hour. Do not put a T between date and time; arXiv returns an error if you do. Combine with other queries using AND.
Rate limiting: 3 seconds between requests
arXiv asks for a minimum 3-second delay between API calls. Results update once daily, so there is no reason to poll frequently.
Hard limits on results
max_resultscaps at 2000 per request- Total retrievable results cap at 30,000 (start + max_results ≤ 30000)
- Exceeding 30,000 returns HTTP 400
Search Field Prefixes
| Prefix | Field |
ti | Title |
au | Author |
abs | Abstract |
co | Comment |
jr | Journal Reference |
cat | Subject Category |
rn | Report Number |
id_list | Specific arXiv IDs (comma-separated, passed as separate param) |
all | All fields simultaneously |
Python Script
Use scripts/arxiv_api.py for programmatic access (zero dependencies).
Working directory: from scripts.arxiv_api import ArxivAPI only works when Python runs from inside the skill folder (the folder that holds this SKILL.md). From anywhere else, add the folder to the path first:
import sys
sys.path.insert(0, "/path/to/arxiv-search") # the folder with SKILL.mdfrom scripts.arxiv_api import ArxivAPI
api = ArxivAPI()
# Simple keyword search
results = api.search("all:transformer attention mechanism", max_results=10)
# Field-specific search
results = api.search("ti:diffusion AND cat:cs.CV", max_results=5)
# Author search
results = api.search("au:hinton AND cat:cs.LG", max_results=20)
# Humanities example: NLP work on premodern Chinese texts
# (18 results on 2026-10-26)
results = api.search('ti:"ancient Chinese" AND cat:cs.CL', max_results=20)
results = api.search('ti:"classical Chinese" AND (cat:cs.CL OR cat:cs.AI)') # 35 results
# Date-filtered search
results = api.search(
"cat:cs.AI AND submittedDate:[202401010000 TO 202412312359]",
sort_by="submittedDate",
sort_order="descending",
max_results=50
)
# Fetch specific papers by arXiv ID
results = api.fetch_by_ids(["2301.07041", "2303.08774", "2305.10601"])
# Paginated retrieval
page1 = api.search("cat:cs.CL", max_results=100, start=0)
page2 = api.search("cat:cs.CL", max_results=100, start=100)
# The search returns a dict: total_results, start_index, items_per_page, entries.
# Each item in results["entries"] is a dict with keys:
# id, title, summary, authors, published, updated,
# categories, primary_category, links, comment, journal_ref, doiCommon Category Codes
| Category | Description |
cs.AI | Artificial Intelligence |
cs.CL | Computation and Language (NLP) |
cs.CV | Computer Vision |
cs.LG | Machine Learning |
cs.CR | Cryptography and Security |
cs.DS | Data Structures and Algorithms |
cs.SE | Software Engineering |
math.AG | Algebraic Geometry |
math.CO | Combinatorics |
physics.hep-th | High Energy Physics - Theory |
quant-ph | Quantum Physics |
stat.ML | Machine Learning (Statistics) |
econ.GN | General Economics |
q-bio.GN | Genomics |
Full list: https://arxiv.org/category_taxonomy
API Etiquette
- Rate limit: 3-second minimum between requests
- No authentication required
- Results update daily — no need to poll the same query more than once per day
- Use pagination for large result sets instead of requesting thousands at once
- Respect HTTP 429: Back off if rate-limited
Related Skills
- wikidata-search: Cross-reference arXiv authors with Wikidata entities for authority control identifiers (ORCID, VIAF, etc.)
- harvard-library-catalog: Look up published versions of arXiv preprints in Harvard's bibliographic records
Resources
references/api_reference.md— Complete API specs for query parameters, response fields, and error handlingscripts/arxiv_api.py— Python client with XML parsing, rate limiting, and pagination support
Feedback and Citation
Report a problem. This skill is part of the public repository kltng/humanities-skills. If it fails (an API changed, a script errors, or these instructions are wrong), report it as a GitHub issue:
- Ask the user before filing. Issues are public.
- Check for an existing report:
gh issue list --repo kltng/humanities-skills --state all --search "arxiv-search" - File it:
gh issue create --repo kltng/humanities-skills --label bug --title "[arxiv-search] <short summary>" --body "<details>". Withoutgh, give the user this link: https://github.com/kltng/humanities-skills/issues/new?template=skill-problem.yml - Include the skill name and version, what you ran, the error text, what you expected, and the environment (OS, Python version). Leave out API keys, personal data, private file paths, and unpublished research.
Cite. If this skill helped work that is published, please cite it, together with the data source it uses:
Tang, Kwok-leong. humanities-skills: arxiv-search (version
<version at the top of this file>). GitHub,<year>. https://github.com/kltng/humanities-skills
When you help a user write up results that relied on this skill, remind them once about this citation.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

