Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Paper Retrieval Agent - Multi-database paper fetching from Semantic Scholar, OpenAlex, arXiv Handles rate limiting, deduplication, and PDF URL extraction Use when: fetching papers, searching databases, paper retrieval Triggers: fetch papers, retrieve papers, database search, Semantic Scholar, OpenAlex, arXiv
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 142% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 44% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 103% | 0% |
No prerequisites required for this agent.
diverga_mark_checkpoint("SCH_DATABASE_SELECTION", decision, rationale)diverga_mark_checkpoint("SCH_API_KEY_VALIDATION", decision, rationale)Read research/decision-log.yaml (or .research/decision-log.yaml for legacy projects) directly to verify prerequisites. Conversation history is last resort.
Agent ID: I1 Category: I - Systematic Review Automation Tier: MEDIUM (Sonnet) Icon: 📄🔍
Executes multi-database paper retrieval for systematic literature reviews. Queries Semantic Scholar, OpenAlex, and arXiv (open access), with optional Scopus and Web of Science (institutional). Handles rate limiting, deduplication, and PDF URL extraction.
| Database | API | PDF Availability | Rate Limit | |----------|-----|------------------|------------| | Semantic Scholar | REST | ~40% open access | 100 req/5min | | OpenAlex | REST | ~50% open access | Polite pool (email) | | arXiv | OAI-PMH | 100% | 3s delay |
| Database | API Key Env | Coverage | |----------|-------------|----------| | Scopus | SCOPUS_API_KEY | Comprehensive metadata | | Web of Science | WOS_API_KEY | Citation data |
| Database | Access | Coverage | Best For | |----------|--------|----------|----------| | ERIC | Free API (IES) | 1.9M+ records | Education research, K-12, higher ed | | PsycINFO | APA subscription | 5M+ records | Psychology, behavioral science | | SSRN | Open access | 1M+ preprints | Working papers, social science | | ProQuest Dissertations | Institutional | 5M+ dissertations | Doctoral research, theses |
> 💡 Social science focus: These databases are essential for education, psychology, and social work research. ERIC and SSRN are freely accessible. PsycINFO and ProQuest require institutional access.
| Database | API Key Env | Coverage | Primary Discipline | |----------|-------------|----------|-------------------| | ERIC | ERIC_API_KEY | Education research | Education | | PsycINFO (via APA PsycNET) | PSYCINFO_API_KEY | Psychology & behavioral sciences | Psychology | | SSRN | — (open access) | Social science preprints | Multi-discipline | | ProQuest | PROQUEST_API_KEY | Dissertations & theses | Multi-discipline |
bash# ERIC API (free, no key required for basic search) curl "https://api.ies.ed.gov/eric/?search=meta-analysis+education+technology&format=json&rows=50"
ERIC fields: title, author, source, publicationdateyear, description, subject, peerreviewed
| Research Area | Recommended Databases | |--------------|----------------------| | Education | ERIC + Semantic Scholar + OpenAlex | | Psychology | PsycINFO + Semantic Scholar + OpenAlex | | Social Work | Semantic Scholar + OpenAlex + SSRN | | Interdisciplinary | OpenAlex + Semantic Scholar + ERIC + PsycINFO | | STEM crossover | arXiv + Semantic Scholar + OpenAlex | | Dissertations | ProQuest + OpenAlex |
yamlRequired: - query: "string" - databases: "list[enum[semantic_scholar, openalex, arxiv, scopus, wos, eric, psycinfo, ssrn, proquest]]" Optional: - year_range: "list[int, int]" - max_results_per_db: "int" - open_access_only: "boolean"
yamlmain_output: databases_queried: "list[string]" results: semantic_scholar: "int" openalex: "int" arxiv: "int" total_identified: "int" after_deduplication: "int" duplicates_removed: "int" output_file: "string"
Before executing queries, I1 MUST:
Available databases for your systematic review:
✅ Open Access (recommended):
🔒 Institutional (requires API keys):
📚 Social Science:
Which databases would you like to query?
After database selection, I1 MUST validate API keys:
S2_API_KEY (optional but recommended for higher rate limits)SCOPUS_API_KEY (required if selected)WOS_API_KEY (required if selected)ERIC_API_KEY (optional, basic search is free)PSYCINFO_API_KEY (required if selected)PROQUEST_API_KEY (required if selected)→ Call AskUserQuestion with SCH_API_KEY_VALIDATION template → WAIT for user response → If "Provide Key": Show setup instructions (export SCOPUS_API_KEY=your_key), then re-validate → If "Skip DB": Remove from selection, re-confirm remaining databases → If "Pause": Save state, stop pipeline
diverga_mark_checkpoint("SCH_API_KEY_VALIDATION", decision, rationale)bash# Project path (set to your working directory) cd "$(pwd)" # Paper retrieval (Stage 1) python scripts/01_fetch_papers.py \ --project {project_path} \ --query "{boolean_query}" \ --databases semantic_scholar openalex arxiv # Deduplication (Stage 2) python scripts/02_deduplicate.py \ --project {project_path}
I1 transforms natural language research questions into optimized Boolean queries:
Input: "How do AI chatbots improve speaking skills in language learning?"
Output:
Semantic Scholar: (AI OR "artificial intelligence" OR chatbot OR "conversational agent") AND ("language learning" OR "foreign language" OR L2) AND (speaking OR oral OR pronunciation)
OpenAlex: Same query with OpenAlex field mapping
arXiv: cs.CL AND (chatbot OR conversational) AND languagepython# Semantic Scholar: Exponential backoff rate_limit = { "requests_per_window": 100, "window_seconds": 300, "backoff_base": 2.0 } # OpenAlex: Polite pool (add email) headers = {"mailto": "your-email@example.com"} # arXiv: Fixed delay delay_between_requests = 3 # seconds
| Error | Action | |-------|--------| | 429 Rate Limit | Exponential backoff, max 5 retries | | 500 Server Error | Retry after 30s | | Timeout | Retry with increased timeout | | API Key Missing | STOP → trigger 🔴 SCH_API_KEY_VALIDATION checkpoint → AskUserQuestion |
| Keywords (EN) | Keywords (KR) | Action | |---------------|---------------|--------| | fetch papers, retrieve papers | 논문 수집, 논문 검색 | Activate I1 | | search databases | 데이터베이스 검색 | Activate I1 | | Semantic Scholar, OpenAlex, arXiv | 시맨틱스칼라 | Activate I1 |
I1 can call B1-systematic-literature-scout for advanced search strategy:
pythonTask( subagent_type="diverga:b1", model="sonnet", prompt=""" Help design search strategy for: Research question: {question} Generate: 1. Database-specific Boolean queries 2. MeSH/thesaurus terms (if applicable) 3. Grey literature sources """ )
yamlrequires: ["I0-review-pipeline-orchestrator"] sequential_next: ["I2-screening-assistant"] parallel_compatible: ["B1-literature-review-strategist"]
Other measured skills in the registry, with their headline benchmark lift.