/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
$ npx -y skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill semantic-scholar --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/semantic-scholar
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
semantic-scholar.SKILL.mdname: 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
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:
· · · · · · -orange?style=flat) · · 💬 Join Community · 💡 Use ARIS as a skill-based workflow in Claude Code / Codex CLI / Cursor / Trae / Antigravity / GitHub Copilot CLI / OpenClaw, or get the full experience with the standalone ARIS-Code CLI — enjoy any
Other skills on auto-claude-code-research-in-sleep.
- /ablation-planner
Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
Open skill - /alphaxiv
Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this paper", "summarize paper", pastes an arXiv/AlphaXiv URL, or provides a bare arXiv ID for quick understanding - not for broad literature search.
Open skill - /analyze-results
Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results", "compare", or needs to interpret experimental data.
Open skill - /arxiv
Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv", "arxiv search", "get paper pdf", or wants to find and save papers from arXiv to the local paper library.
Open skill - /auto-paper-improvement-loop
Autonomously improve a generated paper via GPT-5.6-Sol xhigh review → implement fixes → recompile, for 2 rounds. Use when user says \"改论文\", \"improve paper\", \"论文润色循环\", \"auto improve\", or wants to iteratively polish a generated paper.
Open skill - /auto-review-loop-llm
Autonomous research review loop using any OpenAI-compatible LLM API. Configure via llm-chat MCP server or environment variables. Trigger with "auto review loop llm" or "llm review".
Open skill

