
Arxiv Search
- 1.1k installs
- 56 repo stars
- Updated January 21, 2026
- yorkeccak/scientific-skills
arxiv-search provides documented workflows for Search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search.
About
The arxiv-search skill search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search. # arXiv Search Search the complete arXiv database of preprints across physics, mathematics, computer science, and quantitative biology using natural language queries powered by Valyu's semantic search API. ## Why This Skill is Powerful - **No API Parameter Parsing**: Just pass natural language queries directly - no need to construct complex search parameters - **Semantic Search**: Understands the meaning of your query, not just keyword matching - **Full-Text Access**: Returns complete article content, not just abstracts - **Image Links**: Includes figures and images from papers - **Comprehensive Coverage**: Access to all of arXiv's preprint archive across multiple disciplines ## Requirements 1. Node.js 18+ (uses built-in fetch) 2. Valyu API key from https://platform.valyu.ai ($10 free credits) ## CRITICAL: Script Path Resolution The `scripts/search` commands in this documentation are relative to this skill's installation directory.
- **No API Parameter Parsing**: Just pass natural language queries directly - no need to construct complex search paramete
- **Semantic Search**: Understands the meaning of your query, not just keyword matching
- **Full-Text Access**: Returns complete article content, not just abstracts
- **Image Links**: Includes figures and images from papers
- **Comprehensive Coverage**: Access to all of arXiv's preprint archive across multiple disciplines
Arxiv Search by the numbers
- 1,119 all-time installs (skills.sh)
- +7 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #281 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
- Security screen: HIGH risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
arxiv-search capabilities & compatibility
- Capabilities
- **no api parameter parsing**: just pass natural · **semantic search**: understands the meaning of · **full text access**: returns complete article c · **image links**: includes figures and images fro · **comprehensive coverage**: access to all of arx
- Use cases
- documentation · planning
What arxiv-search says it does
# arXiv Search Search the complete arXiv database of preprints across physics, mathematics, computer science, and quantitative biology using natural language queries powered by Valyu's semantic search
Node.js 18+ (uses built-in fetch) 2.
npx skills add https://github.com/yorkeccak/scientific-skills --skill arxiv-searchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.1k |
|---|---|
| repo stars | ★ 56 |
| Security audit | 2 / 3 scanners passed |
| Last updated | January 21, 2026 |
| Repository | yorkeccak/scientific-skills ↗ |
How do I use arxiv-search for the task described in its SKILL.md triggers?
Search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search.
Who is it for?
Teams invoking arxiv-search when the user request matches documented triggers and prerequisites.
Skip if: Skip when cached docs are missing, the request is a negative trigger, or another sibling skill owns the workflow.
When should I use this skill?
Search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search.
What you get
Step-by-step guidance grounded in arxiv-search documentation and reference files.
- arXiv preprint search result sets
Files
arXiv Search
Search the complete arXiv database of preprints across physics, mathematics, computer science, and quantitative biology using natural language queries powered by Valyu's semantic search API.
Why This Skill is Powerful
- No API Parameter Parsing: Just pass natural language queries directly - no need to construct complex search parameters
- Semantic Search: Understands the meaning of your query, not just keyword matching
- Full-Text Access: Returns complete article content, not just abstracts
- Image Links: Includes figures and images from papers
- Comprehensive Coverage: Access to all of arXiv's preprint archive across multiple disciplines
Requirements
1. Node.js 18+ (uses built-in fetch) 2. Valyu API key from https://platform.valyu.ai ($10 free credits)
CRITICAL: Script Path Resolution
The scripts/search commands in this documentation are relative to this skill's installation directory.
Before running any command, locate the script using:
ARXIV_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/arxiv-search/*/scripts/*" -type f 2>/dev/null | head -1)Then use the full path for all commands:
$ARXIV_SCRIPT "quantum entanglement" 15API Key Setup Flow
When you run a search and receive "setup_required": true, follow this flow:
1. Ask the user for their API key: "To search arXiv, I need your Valyu API key. Get one free ($10 credits) at https://platform.valyu.ai"
2. Once the user provides the key, run:
scripts/search setup <api-key>3. Retry the original search.
Example Flow:
User: Search arXiv for transformer architecture papers
→ Response: {"success": false, "setup_required": true, ...}
→ Claude asks: "Please provide your Valyu API key from https://platform.valyu.ai"
→ User: "val_abc123..."
→ Claude runs: scripts/search setup val_abc123...
→ Response: {"success": true, "type": "setup", ...}
→ Claude retries: scripts/search "transformer architecture papers" 10
→ Success!When to Use This Skill
- Searching preprints across physics, mathematics, and computer science
- Finding research before peer review publication
- Cross-disciplinary research combining fields
- Staying current with rapid developments in AI and theoretical physics
- Prior art searching for new ideas
- Tracking emerging research trends
Output Format
{
"success": true,
"type": "arxiv_search",
"query": "quantum entanglement",
"result_count": 10,
"results": [
{
"title": "Article Title",
"url": "https://arxiv.org/abs/...",
"content": "Full article text with figures...",
"source": "arxiv",
"relevance_score": 0.95,
"images": ["https://example.com/figure1.jpg"]
}
],
"cost": 0.025
}Processing Results
With jq
# Get article titles
scripts/search "query" 10 | jq -r '.results[].title'
# Get URLs
scripts/search "query" 10 | jq -r '.results[].url'
# Extract full content
scripts/search "query" 10 | jq -r '.results[].content'Common Use Cases
AI/ML Research
# Find recent machine learning papers
scripts/search "large language model architectures" 50Physics Research
# Search for quantum physics papers
scripts/search "topological quantum computation" 20Mathematics
# Find math papers
scripts/search "representation theory and Lie algebras" 15Computer Science
# Search for CS theory papers
scripts/search "distributed systems consensus algorithms" 25Error Handling
All commands return JSON with success field:
{
"success": false,
"error": "Error message"
}Exit codes:
0- Success1- Error (check JSON for details)
API Endpoint
- Base URL:
https://api.valyu.ai/v1 - Endpoint:
/search - Authentication: X-API-Key header
Architecture
scripts/
├── search # Bash wrapper
└── search.mjs # Node.js CLIDirect API calls using Node.js built-in fetch(), zero external dependencies.
Adding to Your Project
If you're building an AI project and want to integrate arXiv Search directly into your application, use the Valyu SDK:
Python Integration
from valyu import Valyu
client = Valyu(api_key="your-api-key")
response = client.search(
query="your search query here",
included_sources=["valyu/valyu-arxiv"],
max_results=20
)
for result in response["results"]:
print(f"Title: {result['title']}")
print(f"URL: {result['url']}")
print(f"Content: {result['content'][:500]}...")TypeScript Integration
import { Valyu } from "valyu-js";
const client = new Valyu("your-api-key");
const response = await client.search({
query: "your search query here",
includedSources: ["valyu/valyu-arxiv"],
maxResults: 20
});
response.results.forEach((result) => {
console.log(`Title: ${result.title}`);
console.log(`URL: ${result.url}`);
console.log(`Content: ${result.content.substring(0, 500)}...`);
});See the Valyu docs for full integration examples and SDK reference.
#!/bin/bash
# arXiv Search CLI wrapper
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPT_PATH="${SCRIPT_DIR}/search"
# Special commands for discoverability
case "$1" in
--path|--location|--where)
echo "$SCRIPT_PATH"
exit 0
;;
--script-dir)
echo "$SCRIPT_DIR"
exit 0
;;
esac
node "${SCRIPT_DIR}/search.mjs" "$@"
#!/usr/bin/env node
/**
* arXiv Search via Valyu API
* Full-text search across arXiv preprints with semantic search capabilities
*/
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
import { homedir } from 'os';
import { join } from 'path';
const VALYU_API_BASE = 'https://api.valyu.ai/v1';
const CONFIG_DIR = join(homedir(), '.valyu');
const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
/**
* Get API key from multiple sources (in order of priority):
* 1. Environment variable (VALYU_API_KEY)
* 2. Config file (~/.valyu/config.json)
*/
function getApiKey() {
if (process.env.VALYU_API_KEY) {
return process.env.VALYU_API_KEY;
}
if (existsSync(CONFIG_FILE)) {
try {
const config = JSON.parse(readFileSync(CONFIG_FILE, 'utf-8'));
if (config.apiKey) {
return config.apiKey;
}
} catch (e) {
// Ignore parse errors
}
}
return null;
}
/**
* Save API key to config file
*/
function saveApiKey(apiKey) {
if (!existsSync(CONFIG_DIR)) {
mkdirSync(CONFIG_DIR, { recursive: true });
}
let config = {};
if (existsSync(CONFIG_FILE)) {
try {
config = JSON.parse(readFileSync(CONFIG_FILE, 'utf-8'));
} catch (e) {
// Start fresh if parse fails
}
}
config.apiKey = apiKey;
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2));
return true;
}
/**
* Return setup required response
*/
function setupRequiredResponse() {
return {
success: false,
setup_required: true,
message: "Valyu API key not configured. Get your free API key ($10 credits) at https://platform.valyu.ai"
};
}
/**
* Search arXiv via Valyu API
*/
async function searchArxiv(query, maxResults = 10) {
const apiKey = getApiKey();
if (!apiKey) {
return setupRequiredResponse();
}
try {
const response = await fetch(`${VALYU_API_BASE}/search`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': apiKey
},
body: JSON.stringify({
query: query,
search_type: 'proprietary',
included_sources: ['valyu/valyu-arxiv'],
limit: maxResults
})
});
const data = await response.json();
if (!response.ok) {
return {
success: false,
error: data.detail || data.message || `HTTP ${response.status}`,
status: response.status
};
}
return {
success: true,
type: 'arxiv_search',
query: query,
result_count: data.results?.length || 0,
results: data.results || [],
cost: data.cost || 0
};
} catch (error) {
return {
success: false,
error: error.message
};
}
}
/**
* Setup command - save API key
*/
function setup(apiKey) {
if (!apiKey) {
return {
success: false,
error: "API key required. Usage: search setup <api-key>"
};
}
saveApiKey(apiKey);
return {
success: true,
type: 'setup',
message: "API key saved to ~/.valyu/config.json"
};
}
// Main CLI handler
const [,, command, ...args] = process.argv;
(async () => {
let result;
if (command === 'setup') {
result = setup(args[0]);
} else {
// Treat first arg as query, second as maxResults
const query = command || '';
const maxResults = args[0] ? parseInt(args[0], 10) : 10;
if (!query) {
result = {
success: false,
error: "Query required. Usage: search <query> [maxResults]"
};
} else {
result = await searchArxiv(query, maxResults);
}
}
console.log(JSON.stringify(result, null, 2));
process.exit(result.success ? 0 : 1);
})();
Related skills
FAQ
What does arxiv-search do?
Search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search.
When should I use arxiv-search?
Search arXiv physics, math, and computer science preprints using natural language queries. Powered by Valyu semantic search.
What are common prerequisites?
--- name: arxiv-search description: Search arXiv physics, math, and computer science preprints using natural language queries.
Is Arxiv Search safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.