Skip to content
Automation
Skill

/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

From plugin
aris
19k87 skills1 agent1 command

Claude Code

$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill semantic-scholar --agent claude-code

SKILL.md

semantic-scholar.SKILL.md
name: semantic-scholar
description: 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.
argument-hint: "query-or-paper-id"
allowed-tools: Bash(*), Read, Write

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.
  • **S2_FETCHER** — canonical name `semantic_scholar_fetch.py`, resolved per

[`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2 (Policy D1 — primary + fallback cascade). If unresolved (canonical chain exhausted), fall back to the inline Python alternative documented in Step 2.

  • **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

Resolve `$S2_FETCHER` via the canonical strict-safe chain (see [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2):

cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
    ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
    ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
S2_FETCHER=".aris/tools/semantic_scholar_fetch.py"
[ -f "$S2_FETCHER" ] || S2_FETCHER="tools/semantic_scholar_fetch.py"
[ -f "$S2_FETCHER" ] || { [ -n "${ARIS_REPO:-}" ] && S2_FETCHER="$ARIS_REPO/tools/semantic_scholar_fetch.py"; }
[ -f "$S2_FETCHER" ] || S2_FETCHER=""

**Standard search** (default — relevance-ranked):

python3 "$S2_FETCHER" 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):

python3 "$S2_FETCHER" search-bulk "QUERY" --max MAX_RESULTS \
  --sort citationCount:desc \
  --fields-of-study "Computer Science" \
  --year "2020-"

If `$S2_FETCHER` is empty (Policy D1 cascade), 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:

python3 "$S2_FETCHER" 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:

Read more
@wanshuiyin
Ships witharis

· · · · · · · · 💬 Join Community · 🌱 ARIS is a methodology, not a platform. What matters is the research workflow — take it wherever you go.

19k87 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19.1k
Star history of wanshuiyin/Auto-claude-code-research-in-sleep on GitHub, a chart by star-history.com

Other skills on aris.

ablation-planner

ablation-planner

Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.

@wanshuiyin@wanshuiyinInstall Skill
alphaxiv

alphaxiv

Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this…

@wanshuiyin@wanshuiyinInstall Skill
analyze-results

analyze-results

Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results",…

@wanshuiyin@wanshuiyinInstall Skill
arxiv

arxiv

Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv",…

@wanshuiyin@wanshuiyinInstall Skill
auto-paper-improvement-loop

auto-paper-improvement…

Autonomously improve a generated paper via GPT-6-Astra xhigh review → implement fixes → recompile, for 2 rounds. Use when user…

@wanshuiyin@wanshuiyinInstall Skill
auto-review-loop-llm

auto-review-loop-llm

Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables.…

@wanshuiyin@wanshuiyinInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about semantic-scholar.

Which coding agents can use semantic-scholar?
semantic-scholar installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.