semantic-scholar
Search published venue papers (IEEE, ACM, Springer, etc.) via Semantic Scholar API. Complements /arxiv (preprints) with citation counts, venue metadata, and TLDR. Use when user says "search semantic scholar", "find IEEE papers", "find journal papers", "venue papers", "citation search", or wants published literature beyond arXiv preprints.
Best use case
semantic-scholar is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Search published venue papers (IEEE, ACM, Springer, etc.) via Semantic Scholar API. Complements /arxiv (preprints) with citation counts, venue metadata, and TLDR. Use when user says "search semantic scholar", "find IEEE papers", "find journal papers", "venue papers", "citation search", or wants published literature beyond arXiv preprints.
Teams using semantic-scholar should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/semantic-scholar/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How semantic-scholar Compares
| Feature / Agent | semantic-scholar | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Search published venue papers (IEEE, ACM, Springer, etc.) via Semantic Scholar API. Complements /arxiv (preprints) with citation counts, venue metadata, and TLDR. Use when user says "search semantic scholar", "find IEEE papers", "find journal papers", "venue papers", "citation search", or wants published literature beyond arXiv preprints.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# Semantic Scholar Paper Search Search topic or paper ID: $ARGUMENTS ## Role & Positioning This skill is the **published venue** counterpart to `/arxiv`: | Skill | Source | Best for | |-------|--------|----------| | `/arxiv` | arXiv API | Latest preprints, cutting-edge unrefereed work | | `/semantic-scholar` | Semantic Scholar API | **Published** journal/conference papers (IEEE, ACM, Springer, etc.) with citation counts, venue info, TLDR | **Do NOT duplicate arXiv's job.** If results contain an `externalIds.ArXiv` field, the paper is also on arXiv — note this but do not re-fetch from arXiv. ## Constants - **MAX_RESULTS = 10** — Default number of search results. - **FETCH_SCRIPT** — `tools/semantic_scholar_fetch.py` relative to the project root. Fall back to inline Python if not found. - **DEFAULT_FILTERS** — For general research queries, apply these by default to reduce noise: - `--fields-of-study "Computer Science,Engineering"` - `--publication-types JournalArticle,Conference` > Overrides (append to arguments): > - `/semantic-scholar "topic" - max: 20` — return up to 20 results > - `/semantic-scholar "topic" - type: journal` — only journal articles > - `/semantic-scholar "topic" - type: conference` — only conference papers > - `/semantic-scholar "topic" - min-citations: 50` — only highly-cited papers > - `/semantic-scholar "topic" - year: 2022-` — papers from 2022 onward > - `/semantic-scholar "topic" - fields: all` — remove default field-of-study filter > - `/semantic-scholar "topic" - sort: citations` — bulk search sorted by citation count > - `/semantic-scholar "DOI:10.1109/..."` — fetch a single paper by DOI ## Workflow ### Step 1: Parse Arguments Parse `$ARGUMENTS` for directives: - **Query or ID**: main search term, or a paper identifier: - DOI: `10.1109/TWC.2024.1234567` - Semantic Scholar ID: `f9314fd99be5f2b1b3efcfab87197d578160d553` - ArXiv: `ARXIV:2006.10685` - Corpus: `CorpusId:219792180` - **`- max: N`**: override MAX_RESULTS - **`- type: journal|conference|review|all`**: map to `--publication-types` - **`- min-citations: N`**: map to `--min-citations` - **`- year: RANGE`**: map to `--year` (e.g. `2022-`, `2020-2024`) - **`- fields: FIELDS`**: override `--fields-of-study` (use `all` to remove filter) - **`- sort: citations|date`**: use `search-bulk` with `--sort citationCount:desc` or `publicationDate:desc` If the argument matches a DOI pattern (`10.XXXX/...`), a Semantic Scholar ID (40-char hex), or a prefixed ID (`ARXIV:...`, `CorpusId:...`), skip search and go directly to Step 3. ### Step 2: Search Papers Locate the fetch script: ```bash SCRIPT=$(find tools/ -name "semantic_scholar_fetch.py" 2>/dev/null | head -1) [ -z "$SCRIPT" ] && SCRIPT=$(find ~/.claude/skills/semantic-scholar/ -name "semantic_scholar_fetch.py" 2>/dev/null | head -1) ``` **Standard search** (default — relevance-ranked): ```bash python3 "$SCRIPT" search "QUERY" --max MAX_RESULTS \ --fields-of-study "Computer Science,Engineering" \ --publication-types JournalArticle,Conference ``` **Bulk search** (when `- sort:` is specified, or MAX_RESULTS > 100): ```bash python3 "$SCRIPT" search-bulk "QUERY" --max MAX_RESULTS \ --sort citationCount:desc \ --fields-of-study "Computer Science" \ --year "2020-" ``` If `semantic_scholar_fetch.py` is not found, fall back to inline Python using `urllib` against `https://api.semanticscholar.org/graph/v1/paper/search`. **Recommended filter combos** (from testing): | Goal | Flags | |------|-------| | High-quality journal papers | `--publication-types JournalArticle --min-citations 10` | | CS/EE papers, recent | `--fields-of-study "Computer Science,Engineering" --year "2022-"` | | Foundational / high-impact | `search-bulk --sort citationCount:desc --fields-of-study "Computer Science"` | | Conference papers only | `--publication-types Conference` | > **Note**: `--venue` requires exact venue names (e.g. "IEEE Transactions on Signal Processing"), not partial matches like "IEEE". Avoid using `--venue` in automated flows — prefer `--publication-types` + `--fields-of-study`. ### Step 3: Fetch Details for a Specific Paper When a single paper ID is requested: ```bash python3 "$SCRIPT" paper "PAPER_ID" ``` Where PAPER_ID can be: - DOI: `10.1109/TSP.2021.3071210` - ArXiv: `ARXIV:2006.10685` - CorpusId: `CorpusId:219792180` - S2 ID: `f9314fd99be5f2b1b3efcfab87197d578160d553` ### Step 4: De-duplicate Against arXiv For each result, check `externalIds.ArXiv`: - If present → paper is also on arXiv. Note this in output but do NOT re-fetch via `/arxiv`. - If absent → paper is **venue-only** (e.g. IEEE without preprint). This is the unique value of this skill. ### Step 5: Present Results Present results as a table: ```text | # | Title | Venue | Year | Citations | Authors | Type | |---|-------|-------|------|-----------|---------|------| | 1 | Deep Learning Enabled... | IEEE Trans. Signal Process. | 2021 | 1364 | Xie et al. | Journal | ``` For each paper, also show: - **DOI link**: `https://doi.org/DOI` (for IEEE/ACM papers, this is the canonical link) - **Open Access PDF**: if `openAccessPdf.url` is non-empty, show it - **TLDR**: if available, show the one-line summary - **Also on arXiv**: if `externalIds.ArXiv` exists, note the arXiv ID ### Step 6: Detailed Summary For each paper (or top 5 if many results): ```markdown ## [Title] - **Venue**: [venue name] ([publicationVenue.type]: journal/conference) - **Year**: [year] | **Citations**: [citationCount] - **Authors**: [full author list] - **DOI**: [doi link] - **Fields**: [fieldsOfStudy] - **TLDR**: [tldr.text if available] - **Abstract**: [abstract] - **Open Access**: [openAccessPdf.url or "Not available"] - **Also on arXiv**: [ArXiv ID if exists, else "No"] ``` ### Step 7: Final Output Summarize what was done: - `Found N published papers for "query"` - `Filters applied: [publication types, fields, year range, etc.]` - `N papers are venue-only (not on arXiv)` Suggest follow-up skills: ```text /arxiv "topic" - search arXiv preprints (complements this search) /research-lit "topic" - multi-source review: Zotero + local PDFs + arXiv + S2 /novelty-check "idea" - verify novelty against literature ``` ## Key Rules - **Default to filtered search**: Always apply `--fields-of-study` and `--publication-types` unless user says `- fields: all`. Without filters, S2 returns cross-discipline noise (linguistics, psychology, etc.). - **Citation count is gold**: S2's citation data is its main advantage over arXiv. Always show `citationCount` prominently and use it to rank/prioritize results. - **Venue metadata matters**: Show `venue` and `publicationVenue.type` (journal vs conference) — this helps users assess paper quality. - **DOI is the canonical ID for published papers**: Always show DOI links for IEEE/ACM/Springer papers. - **Rate limiting**: S2 API without key is heavily rate-limited (~1 req/s, strict cooldown). If HTTP 429 occurs, wait and retry. Recommend users set `SEMANTIC_SCHOLAR_API_KEY` env var for higher limits (free at https://www.semanticscholar.org/product/api#api-key-form). - **TLDR may be null**: Some publishers (notably IEEE) elide the TLDR field. Fall back to showing the first sentence of the abstract. - **openAccessPdf may be empty**: Many IEEE papers are closed access. Always provide the DOI link as fallback. - If the S2 API is unreachable, suggest using `/arxiv` or `/research-lit "topic" - sources: web` as fallback.
Related Skills
vast-gpu
Rent, manage, and destroy GPU instances on vast.ai. Use when user says "rent gpu", "vast.ai", "rent a server", "cloud gpu", or needs on-demand GPU without owning hardware.
system-profile
Profile a target (script, process, GPU, memory, interconnect) using external tools and code instrumentation. Produces structured performance reports with actionable recommendations. Use when user says "profile", "benchmark", "bottleneck", or wants performance analysis.
training-check
Periodically check WandB metrics during training to catch problems early (NaN, loss divergence, idle GPUs). Avoids wasting GPU hours on broken runs. Use when training is running and you want automated health checks.
serverless-modal
Run GPU workloads on Modal — training, fine-tuning, inference, batch processing. Zero-config serverless: no SSH, no Docker, auto scale-to-zero. Use when user says "modal run", "modal training", "modal inference", "deploy to modal", "need a GPU", "run on modal", "serverless GPU", or needs remote GPU compute.
run-experiment
Deploy and run ML experiments on local, remote, Vast.ai, or Modal serverless GPU. Use when user says "run experiment", "deploy to server", "跑实验", or needs to launch training jobs.
result-to-claim
Use when experiments complete to judge what claims the results support, what they don't, and what evidence is still missing. Codex MCP evaluates results against intended claims and routes to next action (pivot, supplement, or confirm). Use after experiments finish — before writing the paper or running ablations.
research-review
Get a deep critical review of research from GPT via Codex MCP. Use when user says "review my research", "help me review", "get external review", or wants critical feedback on research ideas, papers, or experimental results.
research-refine
Turn a vague research direction into a problem-anchored, elegant, frontier-aware, implementation-oriented method plan via iterative GPT-5.4 review. Use when the user says "refine my approach", "帮我细化方案", "decompose this problem", "打磨idea", "refine research plan", "细化研究方案", or wants a concrete research method that stays simple, focused, and top-venue ready instead of a vague or overbuilt idea.
research-refine-pipeline
Run an end-to-end workflow that chains `research-refine` and `experiment-plan`. Use when the user wants a one-shot pipeline from vague research direction to focused final proposal plus detailed experiment roadmap, or asks to "串起来", build a pipeline, do it end-to-end, or generate both the method and experiment plan together.
research-pipeline
Full research pipeline: Workflow 1 (idea discovery) → implementation → Workflow 2 (auto review loop). Goes from a broad research direction all the way to a submission-ready paper. Use when user says "全流程", "full pipeline", "从找idea到投稿", "end-to-end research", or wants the complete autonomous research lifecycle.
research-lit
Search and analyze research papers, find related work, summarize key ideas. Use when user says "find papers", "related work", "literature review", "what does this paper say", or needs to understand academic papers.
rebuttal
Workflow 4: Submission rebuttal pipeline. Parses external reviews, enforces coverage and grounding, drafts a safe text-only rebuttal under venue limits, and manages follow-up rounds. Use when user says "rebuttal", "reply to reviewers", "ICML rebuttal", "OpenReview response", or wants to answer external reviews safely.