wentorai/research-claw

searching-literature

Scopus relevance search (main) enriched with OpenAlex abstracts and OA links, via the rp_* tools pipeline

First seen Jul 17, 2026

Installation

$ npx skills add wentorai/research-claw --skill searching-literature

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from wentorai/research-claw · top by installs.

npx skills add wentorai/research-claw

Browse all from wentorai/research-claw

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 851
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,803 B
  • docs SUMMARY.md 133 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

Searching Scientific Literature

RC native tools — this skill's pipeline ships as four built-in RC tools. Call them directly; do not shell out to any rp.py script or write curl:
- rpsearch({ query, limit?, minyear? }) — Scopus relevance search enriched with OpenAlex abstracts + OA PDF links. The Elsevier key is built in.
- rp_abstracts({ dois }) — batch abstracts + OA links for a DOI list (OpenAlex, no key).
- rp_cite({ doi, direction?, limit? }) — citation traversal (direction: both / backward / forward).
- rp_fulltext({ doi, out? }) — OA full text (Elsevier ScienceDirect OA → OpenAlex OA fallback); pass out to also save the text to a file.

Results return inline as JSON (there is no --json <file> flag). To persist a result set, save the returned JSON with the workspace file tools.

Overview

Discovery runs on one backbone: Scopus (relevance-ranked, all-publisher coverage, real citation counts), with OpenAlex layered on only to supply the data Scopus's personal-key tier withholds (abstracts, OA full-text links). Both are driven by the the rp_* tools tool — you do not hand-write curl.

Core principle: Scopus decides what and in what order; OpenAlex fills in abstracts.

Key entitlement reality (tested): a personal Scopus API key exposes the STANDARD
search view only — title, DOI, EID, citation count, year, OA flag. It does not
return abstracts, references, or forward citations. That is why abstracts come from
OpenAlex and citation traversal lives in traversing-citations (also OpenAlex). Do
not try to pull abstracts/refs from Scopus; the calls 403.

How to Search

1. Build the Scopus query

Scopus query syntax (richer than plain keywords — use it):

  • TITLE-ABS-KEY( ... ) — search title, abstract, keywords (the default workhorse)
  • AND / OR / AND NOT — boolean
  • W/n — proximity (e.g. BTK W/3 selectivity)
  • PUBYEAR > 2018 — date constraint
  • DOCTYPE(ar) — article type (ar=article, re=review)

Examples:

TITLE-ABS-KEY(("BTK" OR "Bruton tyrosine kinase") AND inhibitor AND (selectivity OR "off-target"))
TITLE-ABS-KEY("CRISPR" AND cardiomyocyte) AND PUBYEAR > 2019

2. Run the search

rp_search "TITLE-ABS-KEY(BTK inhibitor selectivity)" \
    --limit 50 --min-year 2015

This single command:

  1. Pages Scopus by relevancy (citation counts included).
  2. Batch-fetches OpenAlex by DOI (50/call) to attach abstract, oastatus, oapdf_url.
  3. Writes candidate records ready for scoring.

Each record:

{
  "scopus_id": "85...", "eid": "2-s2.0-85...", "doi": "10.1016/...",
  "title": "...", "year": "2023", "cited_by": 42, "oa": true,
  "source": "Journal of Medicinal Chemistry",
  "abstract": "We report ...", "openalex_id": "W...",
  "oa_status": "gold", "oa_pdf_url": "https://..."
}

3. Report

Announce: 🔎 Scopus: N papers · M with abstracts (OpenAlex). Then hand the candidate list to evaluating-paper-relevance for scoring.

Coverage Notes (honest limits)

  • Abstract gaps: OpenAlex lacks abstracts for some closed papers (notably parts of

Elsevier/ACS). Expect roughly 50–80% abstract coverage. Papers with "abstract": "" must be scored from title + journal + citation count only, or deferred — never silently dropped. Flag them: ⚠️ No abstract (score from title).

  • Scopus quota: 20,000 search results/week on the personal key. The pipeline paginates

25/call, so a 50-result search costs 2 calls. Budget accordingly for large sweeps.

  • No Scopus abstracts/refs/fulltext-search on this key — by design, see above.

Quick Reference

Task Command
Search + enrich rp_search "<scopus query>" --limit N
Narrow add AND, PUBYEAR > Y, DOCTYPE(ar), more specific TITLE-ABS-KEY
Broaden use OR, drop constraints, add synonyms

Common Mistakes

  • Hand-writing curl to Scopus → use the rp_* tools; it handles paging, rate limits, caching.
  • Expecting abstracts from Scopus → they come from OpenAlex; some will be missing.
  • Dropping abstract-less papers → score them from title/citations or defer, don't hide them.
  • Ignoring the weekly quota → 20k Scopus results/week; don't burn it on over-broad sweeps.

Next Steps

After search: score with evaluating-paper-relevance; expand high scorers with traversing-citations.