openalex
Skill4 starsChanged 8 months agoMITView on GitHub
Use when the user asks about academic literature, research papers, scholarly works, authors, citations, institutions, journals, or any academic metadata. Trigger when users want to search for papers, find author profiles, track citations, discover related works, or explore academic topics. Also use when users mention DOIs, ORCIDs, h-index, publication venues, or research metrics.
- Reads credentials
- Installs packages
6 other projects use a version of this.
Adopted by
Most recently taken up by
- talhaMah56/claude_skillstheir own version, first seen Sep 12, 2026
- wanshuiyin/Auto-claude-code-research-in-sleeptheir own version, first seen Jul 15, 2026
- raja21068/AutoResearchtheir own version, first seen May 5, 2026
- Out-bloodspavin173/openalex-skillword for word, first seen Apr 28, 2026
- yy/claude-scholartheir own version, first seen Apr 3, 2026
- oksure/openalex-research-mcptheir own version, first seen Mar 9, 2026
Other versions6 projects use a version of this.
Word for word · 1
- Out-bloodspavin173/openalex-skill★ 3100% same
Edited · 0
None found.
Wrote their own version · 5
- wanshuiyin/Auto-claude-code-research-in-sleep★ 19ksame name
- oksure/openalex-research-mcp★ 55same name
- yy/claude-scholar★ 39same name
- raja21068/AutoResearch★ 2same name
- talhaMah56/claude_skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
24 rules. 0 are common, 9 are distinctive, and 15 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
15
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use the openalex CLI to retrieve academic metadata from the OpenAlex API.
- Distinctive: line 13
Search for academic papers or scholarly works
- Distinctive: line 17
Look up metadata by DOI, ORCID, or OpenAlex ID
- Distinctive: line 22
First time using this skill?: Read references/setup.md for installation and API key configuration.
- Very specific: line 31
If openalex is not installed yet, install it first:
- Distinctive: line 154
Default filename is based on DOI or OpenAlex ID (sanitized for filesystem safety).
- Very specific: line 227
If cited-by or references returns a 404, verify the work first with openalex works get <id-or-doi>.
- Very specific: line 299
Default format is
summary: - no need to specify unless you want something else - Very specific: line 300
Use <entity> fields command to discover available field paths before querying
- Very specific: line 301
Use --field projection to extract specific data efficiently
- Very specific: line 302
Use --select for network efficiency when you know which fields you need
- Very specific: line 304
Use --per-page to control result count (default varies by endpoint)
- Very specific: line 305
Use --all to auto-follow cursor pagination for list-style commands
- Very specific: line 310
If author work lookup returns nothing, use author.orcid instead of author.id
- Very specific: line 311
If cited-by or references fails with 404, verify the work first with works get
- Very specific: line 313
Check rate limits with: openalex rate-limit
- Distinctive: line 364
If a command fails:
- Very specific: line 365
Check the entity type is correct (works, authors, etc.)
- Very specific: line 366
Verify ID format (OpenAlex IDs start with W/A/S/I/T/P/F/C)
- Very specific: line 367
Check filter syntax (use : not =)
- Distinctive: line 369
If search results are empty, retry with broader keywords
- Distinctive: line 370
If author lookup fails, verify ORCID format (bare value, not URL)
- Distinctive: line 371
Use DOI direct lookup when you know the exact paper
- Distinctive: line 372
If a work helper 404s, the identifier may be valid in shape but absent in OpenAlex
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
OpenAlex CLI Skill
Use the openalex CLI to retrieve academic metadata from the OpenAlex API.
When to Use
Invoke this skill when the user needs to:
- Search for academic papers or scholarly works
- Find information about authors, institutions, or journals
- Track citations (who cited a paper, what a paper references)
- Discover related works or research topics
- Look up metadata by DOI, ORCID, or OpenAlex ID
- Analyze publication trends or research metrics
Initial Setup
First time using this skill? Read references/setup.md for installation and API key configuration.
Prerequisites
The CLI must be built and available. Check with:
openalex --helpIf openalex is not installed yet, install it first:
npm install -g openalex-skill
openalex --helpFor installation, persistent API key setup, and first-run verification, see references/setup.md.
Core Commands
Entity Types
OpenAlex organizes data into 8 entity types:
works- research papers, articles, preprintsauthors- researchers and their profilessources- journals, conferences, repositoriesinstitutions- universities, research centerstopics- research areas and subjectspublishers- academic publishersfunders- funding organizationsconcepts- (legacy) subject classifications
OpenAlex ID Format
ID format: OpenAlex IDs start with W (e.g., W2626778328). The summary format displays reusable IDs on a secondary line:
- Attention Is All You Need (2017 | cited 6519)
id: W2741809807 | authors: Vaswani et al | doi: https://doi.org/10.48550/arXiv.1706.03762Get ID from search results:
openalex works search "paper title" --per-page 1
# Copy the `id: Wxxxx` from the output⚠️ ID usage restrictions:
cited-by,references, andrelatedsupport both DOI and OpenAlex ID- bare DOIs like
10.1038/nature12373anddoi:10.1038/nature12373are normalized automatically for work lookups and helpers - OpenAlex IDs are still the most reusable follow-up identifiers when chaining multiple commands
Common Operations
Search for papers:
openalex works search "your query" --per-page 5Get specific work by ID or DOI:
openalex works get W2741809807
openalex works get https://doi.org/10.1038/nature12373
openalex works get 10.1038/nature12373Find author:
openalex authors search "Author Name" --per-page 3Get author by ORCID:
openalex authors get https://orcid.org/0000-0002-3141-5845Track citations:
# Papers that cite this work
openalex works cited-by W2741809807 --per-page 5
openalex works cited-by 10.1038/nature12373 --per-page 5
openalex works cited-by https://doi.org/10.1038/nature12373 --per-page 5
# Papers this work references
openalex works references W2741809807 --per-page 5
openalex works references https://doi.org/10.1038/nature12373 --per-page 5
# Related works
openalex works related W2741809807 --per-page 5
openalex works related https://doi.org/10.1038/nature12373 --per-page 5Filter and sort:
openalex works list \
--filter publication_year:2024 \
--filter is_oa:true \
--sort cited_by_count:desc \
--per-page 10Autocomplete (for non-works entities):
openalex institutions autocomplete "tsinghua"
openalex authors autocomplete "einstein"Group by field:
openalex works group --by publication_year \
--filter author.id:A5070829652Download full-text PDF:
# Download the best available open access PDF for a work
openalex works download https://doi.org/10.48550/arXiv.1706.03762
openalex works download 10.48550/arXiv.1706.03762
# Specify output filename
openalex works download W2741809807 -o paper.pdf
# Overwrite existing file
openalex works download W2741809807 --overwriteThe download command tries multiple sources in order:
primary_location.pdf_urlbest_oa_location.pdf_urlopen_access.oa_urlprimary_location.landing_page_urlbest_oa_location.landing_page_url- Any
locations[].pdf_urlorlocations[].landing_page_url
Default filename is based on DOI or OpenAlex ID (sanitized for filesystem safety).
Output Formats
The CLI defaults to summary format. For detailed format options, see references/output-formats.md.
Quick reference:
summary(default) - Concise one-line format, ~2KB for 5 resultsdetail- Human-readable with inline lists for repeated fieldsjson- Full structured payload, ~40KB-268KB per querybibtex- BibTeX entries for work records--field <path>- Client-side projection to extract specific fields--select <field>- Server-side selection to reduce network payload
Common patterns:
# Extract specific fields
openalex works get W2741809807 --field title --field abstract
# Export a work as BibTeX
openalex works get 10.1038/nature12373 --format bibtex
# Combine server-side + client-side for efficiency
openalex works search "crispr" --select title --select cited_by_count \
--field title --field cited_by_countNote: --field abstract and --select don't combine well; use --field abstract alone when you need abstract text.
Workflow Patterns
Pattern 1: Quick Paper Search
# Start with summary to browse
openalex works search "graph neural networks" --per-page 5
# If user wants details on a specific paper, use detail format
openalex works get W2741809807 --format detail
# Or extract specific fields with inline author display
openalex works get W2741809807 \
--format detail \
--field title --field abstract --field authorships.author.display_namePattern 2: Author Research
# Find author
openalex authors search "Jacob Andreas" --per-page 3
# Get author details by ORCID to resolve stable identifier
openalex authors get https://orcid.org/0000-0002-3141-5845
# Then use author.orcid filter to get their works
openalex works list --filter author.orcid:0000-0002-3141-5845 \
--sort cited_by_count:desc --per-page 10
# Or use resolved author.id if available
openalex works list --filter author.id:A5070829652 \
--sort cited_by_count:desc --per-page 10Pattern 3: Citation Analysis
# Search for a paper, note the ID from the secondary line
openalex works search "attention is all you need" --per-page 3
# Use the ID (e.g., W2741809807) or DOI for citation commands
openalex works cited-by W2741809807 --per-page 10
openalex works references W2741809807 --per-page 10If cited-by or references returns a 404, verify the work first with openalex works get <id-or-doi>.
A valid-looking W... id can still be missing upstream.
Pattern 4: Topic Exploration
# Search for survey papers on a topic
openalex works search "LLM tool use survey" \
--filter publication_year:>2023 \
--filter type:review \
--sort cited_by_count:desc \
--per-page 5Pattern 5: Field Discovery and Extraction
# First, discover available fields
openalex works fields
# Then extract exactly what you need with detail format
openalex works search "retrieval augmented generation" --per-page 3 \
--format detail \
--field title \
--field abstract \
--field publication_year \
--field cited_by_count \
--field authorships.author.display_namePattern 6: Handling Noisy or Empty Results
Search too broad? Add filters:
openalex works search "self-adaptive agent framework" \
--filter publication_year:>2022 \
--filter type:article \
--per-page 5Have a DOI? Use direct lookup:
openalex works get https://doi.org/10.1038/nature12373Pattern 7: Download Full-Text Papers
# Download by DOI or OpenAlex ID
openalex works download https://doi.org/10.48550/arXiv.1706.03762
openalex works download W2626778328 -o paper.pdf --overwriteDownload tries multiple sources in order: primary_location.pdf_url, best_oa_location.pdf_url, open_access.oa_url, then landing pages.
--select caveats:
- OpenAlex
selectonly supports root-level fields groupandautocompletedo not supportselectabstractandabstract_inverted_indexare not selectable upstream
ORCID format matters:
# Wrong: using full ORCID URL in filter
openalex works list --filter author.orcid:https://orcid.org/0000-0002-3141-5845
# Correct: bare ORCID value
openalex works list --filter author.orcid:0000-0002-3141-5845
# But ORCID URL works for 'authors get'
openalex authors get https://orcid.org/0000-0002-3141-5845Tips
- Default format is
summary- no need to specify unless you want something else - Use
<entity> fieldscommand to discover available field paths before querying - Use
--fieldprojection to extract specific data efficiently - Use
--selectfor network efficiency when you know which fields you need - Combine
--selectand--fieldfor optimal performance and presentation - Use
--per-pageto control result count (default varies by endpoint) - Use
--allto auto-follow cursor pagination for list-style commands - Filters use
:syntax:field:value,field:>value,field:<value - Sort uses
:syntax:field:ascorfield:desc - DOIs and OpenAlex IDs are interchangeable in most commands
- ORCID filters use bare ORCID value, not the
https://orcid.org/URL form - If author work lookup returns nothing, use
author.orcidinstead ofauthor.id - If
cited-byorreferencesfails with 404, verify the work first withworks get - For some preprint or repository records, the queried DOI and the record DOI may differ; use
detailorjsonwhen provenance matters - Check rate limits with:
openalex rate-limit
Configuration Commands
The CLI supports persistent configuration for API keys and other settings.
View current configuration:
openalex config showSet API key (recommended):
openalex config set api-key your_key_hereOther config options:
openalex config set base-url https://api.openalex.org
openalex config set mailto you@example.comView config file path:
openalex config pathRemove a setting:
openalex config unset api-keyConfiguration is stored in ~/.openalex-skill/config.json. Environment variables (OPENALEX_API_KEY, OPENALEX_BASE_URL, OPENALEX_MAILTO) override stored config.
Common Filters
For works:
publication_year:2024orpublication_year:>2020is_oa:true(open access)type:articleortype:reviewauthor.id:A5070829652author.orcid:0000-0002-3141-5845- institution-related filters are passed through as-is; verify the exact OpenAlex path with
--format jsonif needed primary_location.source.id:S123456(journal)
For authors:
last_known_institutions.id:I123456works_count:>100
Error Handling
If a command fails:
- Check the entity type is correct (
works,authors, etc.) - Verify ID format (OpenAlex IDs start with W/A/S/I/T/P/F/C)
- Check filter syntax (use
:not=) - Try with
--format jsonto see full error details - If search results are empty, retry with broader keywords
- If author lookup fails, verify ORCID format (bare value, not URL)
- Use DOI direct lookup when you know the exact paper
- If a work helper 404s, the identifier may be valid in shape but absent in OpenAlex
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

