arxiv
Search and retrieve academic papers from arXiv using their free REST API.
Skill by openaeon
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/openaeon-arxiv
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, writing, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/arxiv
What's inside
- Skill name
arxiv- Description
- Search and retrieve academic papers from arXiv using their free REST API. No API key needed. Search by keyword, author, category, or ID. Combine with web_fetch or the ocr-and-documents skill to read full paper content.
- License
- MIT
- Instructions
- 274 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Files (2)
- SKILL.md
- search_arxiv.py · scripts/
SKILL.md (first lines)
# arXiv Research
Search and retrieve academic papers from arXiv via their free REST API. No API key, no dependencies — just curl.
## Quick Reference
| Action | Command |
| --------------------- | -------------------------------------------------------------------------------- |
| Search papers | `curl "https://export.arxiv.org/api/query?search_query=all:QUERY&max_results=5"` |
| Get specific paper | `curl "https://export.arxiv.org/api/query?id_list=2402.03300"` |
| Read abstract (web) | `web_fetch(urls=["https://arxiv.org/abs/2402.03300"])` |
| Read full paper (PDF) | `web_fetch(urls=["https://arxiv.org/pdf/2402.03300"])` |
## Searching Papers
The API returns Atom XML. Parse with `grep`/`sed` or pipe through `python3` for clean output.
### Basic search
```bash
curl -s "https://export.arxiv.org/api/query?search_query=all:GRPO+reinforcement+learning&max_results=5"
```
### Clean output (parse XML to readable format)
```bash
curl -s "https://export.arxiv.org/api/query?search_query=all:GRPO+reinforcement+learning&max_results=5&sortBy=submittedDate&sortOrder=descending" | python3 -c "
import sys, xml.etree.ElementTree as ET
ns = {'a': 'http://www.w3.org/2005/Atom'}
root = ET.parse(sys.stdin).getroot()
for i, entry in enumerate(root.findall('a:entry', ns)):
title = entry.find('a:title', ns).text.strip().replace('\n', ' ')
arxiv_id = entry.find('a:id', ns).text.strip().split('/abs/')[-1]
published = entry.find('a:published', ns).text[:10]
authors = ', '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))
summary = entry.find('a:summary', ns).text.strip()[:200]
cats = ', '.join(c.get('term') for c in entry.findall('a:category', ns))
print(f'{i+1}. [{arxiv_id}] {title}')
print(f' Authors: {authors}')
print(f' Published: {published} | Categories: {cats}')
print(f' Abstract: {summary}...')
print(f' PDF: https://arxiv.org/pdf/{arxiv_id}')
print()
"
```
## Search Query Syntax
| Prefix | Searches | Example |
| ------ | ---------- | ---------------------------- |
| `all:` | All fields | `all:transformer+attention` |
| `ti:` | Title | `ti:large+language+models` |
| `au:` | Author | `au:vaswani` |
| `abs:` | Abstract | `abs:reinforcement+learning` |
| `cat:` | Category | `cat:cs.AI` |
| `co:` | Comment | `co:accepted+NeurIPS` |
### Boolean operators
```
# AND (default when using +)
search_query=all:transformer+attention
# OR
search_query=all:GPT+OR+all:BERT
# AND NOT
search_query=all:language+model+ANDNOT+all:vision
# Exact phrase
search_query=ti:"chain+of+thought"
# Combined
search_query=au:hinton+AND+cat:cs.LG
```
## Sort and Pagination
| Parameter | Options |
| ------------- | ----------------------------------------------- |
| `sortBy` | `relevance`, `lastUpdatedDate`, `submittedDate` |
| `sortOrder` | `ascending`, `descending` |
| `start` | Result offset (0-based) |
| `max_results` | Number of results (default 10, max 30000) |
```bash
# Latest 10 papers in cs.AI
curl -s "https://export.arxiv.org/api/query?search_query=cat:cs.AI&sortBy=submittedDate&sortOrder=descending&max_results=10"
```
## Fetching Specific Papers
```bash
# By arXiv ID
curl -s "https://export.arxiv.org/api/query?id_list=2402.03300"
# Multiple papers
curl -s "https://export.arxiv.org/api/query?id_list=2402.03300,2401.12345,2403.00001"
```
## BibTeX Generation
After fetching metadata for a paper, generate a BibTeX entry:
{% raw %}
```bash
curl -s "https://export.arxiv.org/api/query?id_list=1706.03762" | python3 -c "
import sys, xml.etree.ElementTree as ET
ns = {'a': 'http://www.w3.org/2005/Atom', 'arxiv': 'http://arxiv.org/schemas/atom'}
root = ET.parse(sys.stdin).getroot()
entry = root.find('a:entry', ns)
if entry is None: sys.exit('Paper not found')
title = entry.find('a:title', ns).text.strip().replace('\n', ' ')
authors = ' and '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))
year = entry.find('a:published', ns).text[:4]
raw_id = entry.find('a:id', ns).text.strip().split('/abs/')[-1]
cat = entry.find('arxiv:primary_category', ns)
primary = cat.get('term') if cat is not None else 'cs.LG'From openaeon/OpenAEON, MIT.
More from openaeon/OpenAEON
- 0.585score
ocr-and-documents
openaeon
Extract text from PDFs and scanned documents.
SkillCFreshness: C★ 90Claude Code +9 - 0.583score
healthcheck
openaeon
Host security hardening and risk-tolerance configuration for OpenAEON deployments.
SkillCFreshness: C★ 90Claude Code +9 - 0.583score
memory-manager
openaeon
Skill for implementing the 3-step Memory-First Protocol (Research, Response, Learning).
SkillCFreshness: C★ 90Claude Code +9 - 0.583score
jupyter-live-kernel
openaeon
Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb.
SkillCFreshness: C★ 90Claude Code +9 - 0.563score
1password
openaeon
Set up and use 1Password CLI (op).
SkillCFreshness: C★ 90Claude Code +9 - 0.558score
apple-notes
openaeon
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes).
SkillCFreshness: C★ 90Claude Code +9 - 0.558score
coding-agent
openaeon
Delegate coding tasks to Codex, Claude Code, or Pi agents via background process.
SkillCFreshness: C★ 90Claude Code +9 - 0.558score
acp-router
openaeon
Route plain-language requests for Pi, Claude Code, Codex, OpenCode, Gemini CLI, or ACP harness work into either OpenAEON ACP runtime sessions or direct…
SkillCFreshness: C★ 90Claude Code +9 - 0.558score
bluebubbles
openaeon
Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration).
SkillCFreshness: C★ 90Claude Code +9 - 0.555score
prose
openaeon
OpenProse VM skill pack.
SkillCFreshness: C★ 90Claude Code +9 - 0.552score
blogwatcher
openaeon
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
SkillCFreshness: C★ 90Claude Code +9 - 0.552score
blucli
openaeon
BluOS CLI (blu) for discovery, playback, grouping, and volume.
SkillCFreshness: C★ 90Claude Code +9
Signals
- Stars
- 90
- Forks
- 22
- Open issues
- 6
- Last commit (this folder)
- May 19, 2026 (5 months ago)
- Last release
- May 18, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/openaeon/OpenAEON
- Website
- docs.openaeon.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from openaeon
- 0.585score
ocr-and-documents
openaeon
Extract text from PDFs and scanned documents.
SkillCFreshness: C★ 90Claude Code +9 - 0.583score
memory-manager
openaeon
Skill for implementing the 3-step Memory-First Protocol (Research, Response, Learning).
SkillCFreshness: C★ 90Claude Code +9 - 0.583score
jupyter-live-kernel
openaeon
Use a live Jupyter kernel for stateful, iterative Python execution via hamelnb.
SkillCFreshness: C★ 90Claude Code +9 - 0.583score
healthcheck
openaeon
Host security hardening and risk-tolerance configuration for OpenAEON deployments.
SkillCFreshness: C★ 90Claude Code +9 - 0.563score
1password
openaeon
Set up and use 1Password CLI (op).
SkillCFreshness: C★ 90Claude Code +9 - 0.558score
bluebubbles
openaeon
Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration).
SkillCFreshness: C★ 90Claude Code +9
Cite this page
arxiv skill. Agent Mart. https://agentmart.dev/skills/openaeon-arxiv (last updated 2026-10-24)