# Literature Review

Find, verify, and synthesize scientific literature, from "what's the seminal paper for...

- Repository: https://github.com/aipoch/open-science (5414 stars)
- Category: Data and ML
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add aipoch/open-science --skill literature-review -g -a claude-code -y`
Codex: `npx skills add aipoch/open-science --skill literature-review -g -a codex -y`
Cursor: `npx skills add aipoch/open-science --skill literature-review -g -a cursor -y`
Gemini CLI: `npx skills add aipoch/open-science --skill literature-review -g -a gemini-cli -y`

## Description

Find, verify, and synthesize scientific literature, from "what's the seminal paper for X" through full multi-source reviews. Covers grounding claims in real retrieved sources, avoiding fabricated citations, handling retractions, and calibrating confidence to evidence strength.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Literature review

A literature question has two halves: finding the papers a domain expert would point to, and turning them into something more useful than a reading list, a synthesis that says what's established, what's contested, what's new, and where the holes are. Both halves can fail quietly and look like competent output until someone checks.

## Setup (any agent, no API key)

This is a **pure skill**, `kernel.py` is deterministic Python (plain HTTP/stdlib calls to CrossRef and OpenAlex) and _you_ (the base model) do all the reasoning: the finding, the synthesis, the prose. There is no `host` runtime and no LLM API. Load the helpers once per session in a Python cell:

```python
exec(open("<this skill's directory>/kernel.py").read())
```

Nothing auto-loads it outside Claude Science. Then call the helpers directly, `verify_dois`, `crossref_lookup`, `search_openalex`, `expand_citations`, `extract_dois`, `style_pass`. If a helper name is not defined, you haven't exec'd `kernel.py`.

Configuration is via environment variables, not a host, no LLM key is involved:

- `OPENALEX_API_KEY`, required for the OpenAlex-backed steps (`search_openalex`, `expand_citations`); free at https://openalex.org/settings/api.
- `HOST_USER_EMAIL`, optional contact email for the CrossRef/doi.org polite pool (falls back to `git config user.email`; never sent to OpenAlex).

## Read the request for what it's actually asking

"What's the paper for X" wants one or two specific citations; "what's the evidence on X" wants a synthesis; "compare A and B" wants a comparison, not two adjacent summaries; "where are the gaps" wants the gaps, with the survey as supporting material. A two-word lay query wants you to choose the scope a domain expert would default to and say so up front, "I'll take this as asking about human RCT evidence; the animal literature is separate." Ask a clarifier only when the answer would genuinely change what you do.

## Grounding: retrieve first, then write

The rest: https://github.com/aipoch/open-science/blob/HEAD/resources/skills/literature-review/SKILL.md
