skills/semantic-scholar/SKILL.md
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.
npx skillsauth add wanshuiyin/Auto-claude-code-research-in-sleep semantic-scholarInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search topic or paper ID: $ARGUMENTS
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.
semantic_scholar_fetch.py, resolved per
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.--fields-of-study "Computer Science,Engineering"--publication-types JournalArticle,ConferenceOverrides (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
Parse $ARGUMENTS for directives:
10.1109/TWC.2024.1234567f9314fd99be5f2b1b3efcfab87197d578160d553ARXIV:2006.10685CorpusId: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:descIf 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.
Resolve $S2_FETCHER via the canonical strict-safe chain (see
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
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:
--venuerequires exact venue names (e.g. "IEEE Transactions on Signal Processing"), not partial matches like "IEEE". Avoid using--venuein automated flows — prefer--publication-types+--fields-of-study.
When a single paper ID is requested:
python3 "$S2_FETCHER" paper "PAPER_ID"
Where PAPER_ID can be:
10.1109/TSP.2021.3071210ARXIV:2006.10685CorpusId:219792180f9314fd99be5f2b1b3efcfab87197d578160d553For each result, check externalIds.ArXiv:
/arxiv.Present results as a table:
| # | 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:
https://doi.org/DOI (for IEEE/ACM papers, this is the canonical link)openAccessPdf.url is non-empty, show itexternalIds.ArXiv exists, note the arXiv IDFor each paper (or top 5 if many results):
## [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"]
Required when research-wiki/ exists in the project; skip silently
otherwise. When the wiki dir exists, resolve $WIKI_SCRIPT per the
canonical chain at
shared-references/wiki-helper-resolution.md
(Variant B — warn-and-skip). For results with an externalIds.ArXiv
field, use --arxiv-id; for venue-only papers (no arXiv mirror —
common for IEEE/ACM), fall back to manual metadata:
if [ -d research-wiki/ ]; then
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
ARIS_REPO="${ARIS_REPO:-$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null)}"
WIKI_SCRIPT=".aris/tools/research_wiki.py"
[ -f "$WIKI_SCRIPT" ] || WIKI_SCRIPT="tools/research_wiki.py"
[ -f "$WIKI_SCRIPT" ] || { [ -n "${ARIS_REPO:-}" ] && WIKI_SCRIPT="$ARIS_REPO/tools/research_wiki.py"; }
[ -f "$WIKI_SCRIPT" ] || {
echo "WARN: research_wiki.py not found; semantic-scholar results delivered, wiki ingest skipped. Fix: bash tools/install_aris.sh, export ARIS_REPO, or cp <ARIS-repo>/tools/research_wiki.py tools/." >&2
WIKI_SCRIPT=""
}
[ -n "$WIKI_SCRIPT" ] && for each paper in results:
if paper.externalIds.ArXiv:
python3 "$WIKI_SCRIPT" ingest_paper research-wiki/ \
--arxiv-id "<ArXiv>"
else:
python3 "$WIKI_SCRIPT" ingest_paper research-wiki/ \
--title "<title>" --authors "<authors joined by , >" \
--year <year> --venue "<venue>" \
[--external-id-doi "<externalIds.DOI>"]
fi
The helper handles slug / dedup / page / index / log — do not
handwrite papers/<slug>.md. See
shared-references/integration-contract.md.
Backfill with /research-wiki sync --arxiv-ids <id1>,<id2>,... for
arXiv-available papers.
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)Wiki-ingested N papers (if research-wiki/ was present)Suggest follow-up skills:
/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
--fields-of-study and --publication-types unless user says - fields: all. Without filters, S2 returns cross-discipline noise (linguistics, psychology, etc.).citationCount prominently and use it to rank/prioritize results.venue and publicationVenue.type (journal vs conference) — this helps users assess paper quality.SEMANTIC_SCHOLAR_API_KEY env var for higher limits (free at https://www.semanticscholar.org/product/api#api-key-form)./arxiv or /research-lit "topic" - sources: web as fallback.research
Generate a structured paper outline from review conclusions and experiment results. Use when user says \"写大纲\", \"paper outline\", \"plan the paper\", \"论文规划\", or wants to create a paper plan before writing.
research
Generate a structured paper outline from review conclusions and experiment results. Use when user says "写大纲", "paper outline", "plan the paper", "论文规划", or wants to create a paper plan before writing.
development
Get a deep critical review of research from an external reviewer backend (Codex or manual). 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
Turn a vague research direction into a problem-anchored, elegant, frontier-aware, implementation-oriented method plan via iterative GPT-5.5 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.