Receber por email
← Voltar para o catálogo

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.

15kestrelas
Atualizado há 2 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add wanshuiyin/Auto-claude-code-research-in-sleep

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/semantic-scholar-wanshuiyin/svg)](https://www.skillteca.com.br/skills/semantic-scholar-wanshuiyin)

Skills relacionadas

Ver todas de Pesquisa e Web →

Alerta por categoria

Receba novas skills de Pesquisa e Web toda segunda

1 email curto, só com as skills novas de Pesquisa e Web. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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
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:

| # | 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):

## [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: Update Research Wiki (if active)

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](../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> -
Compartilhar X LinkedIn