domains / research / openalex-academic-search / openalex
Both copies target OpenAlex, but they prescribe different tools and workflows. The first copy is a Python fetcher skill (openalex_fetch.py) with a strict resolution chain, optional .env API key, and filters like min-citations and type. The second copy is a Node CLI skill (openalex-skill) with entity types, ID formats, cited-by/references/related, autocomplete, group-by, PDF download, and output formats (summary/detail/json/bibtex). Neither is a reproduction of the other; crowning one would hide a real alternative implementation and a set of capabilities the other lacks.
| Repository | Path |
|---|---|
| wanshuiyin/Auto-claude-code-research-in-sleep | skills/openalex/SKILL.md |
| brycewang-stanford/Auto-Empirical-Research-Skills | skills/59-shiquda-openalex-skill/openalex/SKILL.md |
| Role | Repository | Path |
|---|---|---|
| peer | wanshuiyin/Auto-claude-code-research-in-sleep | skills/openalex/SKILL.md |
| peer | brycewang-stanford/Auto-Empirical-Research-Skills | skills/59-shiquda-openalex-skill/openalex/SKILL.md |
| adapter | wanshuiyin/Auto-claude-code-research-in-sleep | skills/skills-codex/openalex/SKILL.md |
# OpenAlex Academic Search Search academic papers, authors, institutions, and citations via the OpenAlex API. ## When to Use Use this skill when the user wants to: - Search for academic papers or scholarly works - Find author, institution, or journal information - Track citations (cited-by, references, related) - Look up metadata by DOI, ORCID, or OpenAlex ID - Analyze publication trends or research metrics - Download open-access PDFs ## Setup ### Option A: Python Fetcher (wanshuiyin style) 1. Install Python 3.7+ and requests: ```bash pip install requests ``` 2. Optional: Create `.claude/.env` with `OPENALEX_API_KEY` and `OPENALEX_EMAIL`. 3. Resolve `openalex_fetch.py` via the canonical chain (`.aris/tools/`, `tools/`, `$ARIS_REPO/tools/`). ### Option B: Node CLI (brycewang-stanford style) 1. Install the CLI: ```bash npm install -g openalex-skill openalex --help ``` 2. Configure API key per `references/setup.md` if needed. ## Core Commands ### Search Works **Python fetcher:** ```bash python3 "$OPENALEX_FETCHER" search "QUERY" --max 10 ``` **Node CLI:** ```bash openalex works search "QUERY" --per-page 5 ``` ### Filters and Sort **Python fetcher overrides (append to arguments):** - `— max: 20` — return up to 20 results - `— year: 2023-` — papers from 2023 onward - `— year: 2020-2023` — papers from 2020 to 2023 - `— type: article` — only journal articles - `— type: preprint` — only preprints - `— open-access` — only open access papers - `— min-citations: 50` — minimum 50 citations - `— sort: citations` — sort by citation count - `— sort: date` — sort by publication date **Node CLI filters:** ```bash openalex works list \ --filter publication_year:2024 \ --filter is_oa:true \ --sort cited_by_count:desc \ --per-page 10 ``` ### Get Specific Work **Python fetcher:** ```bash python3 "$OPENALEX_FETCHER" work "10.1109/TWC.2024.1234567" ``` **Node CLI:** ```bash openalex works get W2741809807 openalex works get https://doi.org/10.1038/nature12373 openalex works get 10.1038/nature12373 ``` ### Citation Tracking (Node CLI only) ```bash # Papers that cite this work openalex works cited-by W2741809807 --per-page 5 # Papers this work references openalex works references W2741809807 --per-page 5 # Related works openalex works related W2741809807 --per-page 5 ``` ### Author and Institution Lookup (Node CLI only) ```bash openalex authors search "Author Name" --per-page 3 openalex authors get https://orcid.org/0000-0002-3141-5845 openalex institutions autocomplete "tsinghua" ``` ### Group By (Node CLI only) ```bash openalex works group --by publication_year \ --filter author.id:A5070829652 ``` ### Download PDF (Node CLI only) ```bash openalex works download https://doi.org/10.48550/arXiv.1706.03762 openalex works download W2741809807 -o paper.pdf ``` ## Output Formats (Node CLI) - `summary` (default) — Concise one-line format - `detail` — Human-readable with inline lists - `json` — Full structured payload - `bibtex` — BibTeX entries - `--field <path>` — Client-side projection - `--select <field>` — Server-side selection ## Conflicts - **wanshuiyin/Auto-claude-code-research-in-sleep** uses a Python helper script with a strict resolution chain and requires `pip install requests`; **brycewang-stanford/Auto-Empirical-Research-Skills** uses a Node CLI installed via `npm` and does not require Python. - **wanshuiyin/Auto-claude-code-research-in-sleep** supports `min-citations` and work-type filters; **brycewang-stanford/Auto-Empirical-Research-Skills** does not document these but supports entity types, autocomplete, group-by, and PDF download. - **wanshuiyin/Auto-claude-code-research-in-sleep** uses `.claude/.env` for API key; **brycewang-stanford/Auto-Empirical-Research-Skills** references a separate setup document. - **wanshuiyin/Auto-claude-code-research-in-sleep** has a fixed `MAX_RESULTS` default of 10; **brycewang-stanford/Auto-Empirical-Research-Skills** uses `--per-page` with no fixed default in the skill text.