dsebastien/ai-skill-arxiv · Archived

arxiv-search

Search arXiv for research papers by topic, category, author, or date range.

First seen Apr 18, 2026

Installation

$ npx skills add dsebastien/ai-skill-arxiv --skill arxiv-search

Summary

  • Search arXiv for research papers by topic, category, author, or date range.
  • Returns structured JSON with titles, authors, abstracts, and links - no full text (pair with arxiv-analyze for that).
  • Use when the user says "search arxiv", "find arxiv papers", "arxiv papers on", "latest papers about", or "arxiv research".

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from dsebastien/ai-skill-arxiv.

npx skills add dsebastien/ai-skill-arxiv

Browse all from dsebastien/ai-skill-arxiv

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 5
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseMIT
CompatibilityRequires Python 3.11+ (stdlib only) and internet access to export.arxiv.org

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,380 B
  • docs SUMMARY.md 336 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 68 installs

SKILL.md

arXiv Search

Search the arXiv public API for research papers. Returns structured metadata (title, authors, abstract, arXiv ID, categories, dates, PDF/HTML links) as JSON. For full-text analysis of a specific paper, pair with arxiv-analyze.

When to use

  • User wants to discover papers on a topic
  • User wants recent submissions in an arXiv category
  • User wants to check what an author has published
  • Starting point before analyzing a specific paper

Usage

The script is at scripts/arxiv_search.py. It hits the arXiv API directly and parses the Atom XML into JSON so the model never has to touch XML.

# Topic search
python3 scripts/arxiv_search.py "mechanistic interpretability" --max 20

# Category filter (see arXiv taxonomy: cs.LG, cs.CL, stat.ML, etc.)
python3 scripts/arxiv_search.py --category cs.LG --max 30 --sort-by submittedDate

# Topic + category + date range
python3 scripts/arxiv_search.py "sparse autoencoders" --category cs.LG \
    --from 2025-01-01 --to 2026-04-16 --max 50

# Recency-focused (newest first)
python3 scripts/arxiv_search.py "LLM agents" --sort-by submittedDate --max 20

Flags:

  • --max N — max results (default 20; arXiv API caps at 2000)
  • --category CAT — arXiv category code
  • --from YYYY-MM-DD / --to YYYY-MM-DD — submission date filter
  • --sort-by relevance|lastUpdatedDate|submittedDate — default relevance

Output: JSON on stdout. Each result has id, title, authors[], abstract, categories[], primarycategory, published, updated, absurl, pdfurl, doi, journalref, comment.

Workflow

1. Parse intent

  • Topic search: "find papers on X" → use "X" as query
  • Recent in field: "what's new in cs.LG" → --category cs.LG --sort-by submittedDate
  • Author search: "papers by <name>" → query the name; arXiv indexes author names in all:
  • Combined: topic + time window + category

2. Run the search

Invoke the script. Default --max 20 is a good starting point. Bump to 50 for broad surveys.

3. Present results

Format as a compact table. For each paper:

  • arXiv ID (with abs_url for the link)
  • Title
  • Authors (first 2 + "et al." if more)
  • Published date
  • Primary category
  • 1-sentence abstract summary (don't dump the full abstract)

4. Offer handoffs

Ask if the user wants to:

  • Analyze a specific paper (→ arxiv-analyze)
  • Create a watch for this query (→ arxiv-monitor add)

Output format

### arXiv Search: <query>

| # | arXiv ID | Title | Authors | Date |
|---|----------|-------|---------|------|
| 1 | 2501.11120v1 | Tell me about yourself... | Betley et al. | 2025-01-19 |

**Next:**
- analyze <id> to fetch full text
- watch <name> to track this query ongoingly

Token efficiency

  • 20 results = ~5K tokens (abstracts are the bulk)
  • Ask the user to narrow the query rather than dumping 50 results
  • For briefing only, pipe through jq '.results | map({id, title, authors, published})' before sending to context

arXiv taxonomy quick reference

Common categories (see https://arxiv.org/category_taxonomy for full list):

  • cs.CL — Computation and Language (NLP)
  • cs.LG — Machine Learning
  • cs.AI — Artificial Intelligence
  • cs.CR — Cryptography and Security
  • cs.CY — Computers and Society
  • stat.ML — Statistics: Machine Learning
  • cs.IR — Information Retrieval
  • cs.HC — Human-Computer Interaction

Rate limits

arXiv API: soft limit of 1 request per 3 seconds per IP. This skill issues one request per invocation — well within limits.

Error handling

  • Invalid category or bad query → empty results array. Report "no papers found" and suggest broadening the query.
  • Network error → exit 4, message on stderr.
  • Malformed response → exit 5 (extremely rare; would signal arXiv API changes).

Requirements

  • Python 3.11+ (stdlib only, no pip install needed)