Skip to content

Guide · Agent skill

How to use the Nature Literature Downloader agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The nature-downloader skill teaches an AI agent to look up academic papers by DOI, title, or topic and try to retrieve their full text as PDFs through lawful routes. It is aimed at researchers, students, and teams whose library already provides journal access. After this guide you will know what the skill does, how to install it, how to phrase requests so the agent triggers it, and what it needs to run safely.

Nature Literature DownloaderYuan1z0825/nature-skills · Apache-2.0

Quick start

  1. 1Download and unzip the skill. Download the ZIP from this page and unzip it into ~/.claude/skills/ or into your project's .claude/skills/ folder.
  2. 2Or upload it in the Claude apps. In the Claude apps, open Settings, then Capabilities, then Skills, and upload the ZIP.
  3. 3Install the Python requirements and check Node.js. Make sure Node.js 22 or newer and Python 3 are installed, then install the packages listed in requirements.txt.
  4. 4Configure your library resource URL. Give the agent the library database URL you use, then run the infer and health commands so the access route is saved.
  5. 5Add publisher keys if you have them. Set Elsevier, Springer Nature, or IEEE credentials only if you hold those API keys.
  6. 6Ask for papers in plain language. Name the paper by DOI or exact title and answer the Supporting Information question explicitly.

What the skill makes the agent do

An agent skill is a folder of instructions and scripts that an AI agent reads when a request matches the skill's description. This one covers academic full-text retrieval. The skill's own description says it is for lawful academic full text, CNKI institutional access, English open-access retrieval, publisher API access, institutional browser fallback, and supporting information downloads.

The skill routes each paper through a fixed order. Chinese literature always goes to CNKI. For English papers from Elsevier, Springer Nature, or IEEE with a configured API key, the publisher API is tried first. If that fails, or the publisher is something else, the agent checks legitimate open-access sources such as PMC, Unpaywall, publisher OA pages, and arXiv before any institutional browser route is considered.

  • Open-access copies are checked first for most English papers.
  • Publisher APIs are used with your own keys, if you have them.
  • CNKI is used for Chinese papers, reusing your existing library login.
  • The agent asks before downloading supplementary information (SI).
  • It stops at login pages, CAPTCHAs, and paywalls instead of bypassing them.

Install the nature-downloader skill

Download the skill ZIP from this page and unzip it. There are two ways to make it available to your agent.

For a personal install, unzip the folder into ~/.claude/skills/. To limit it to one project, unzip it into that project's .claude/skills/ folder instead. In the Claude apps you can also upload the ZIP under Settings → Capabilities → Skills.

  • Personal install: ~/.claude/skills/
  • Project install: the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Set up requirements before the first download

The skill runs Node.js and Python code and needs Node.js 22 or newer and Python 3. Python packages are listed in requirements.txt in the skill folder.

CNKI, Web Access, and SI routes also need Chrome running with remote debugging enabled and an authenticated library session, plus the web-access CDP proxy. Publisher API keys for Elsevier, Springer Nature, or IEEE are optional, and you only need them if you want those publishers' APIs.

Library setup is only asked for when a route needs it. Give the agent the library resource URL you normally use, such as your library's database portal or a database page that redirects to login. The agent infers the access route from that URL and saves it. The skill ships with no school presets, so it will not guess your institution's domain.

  • Node.js 22 or newer and Python 3
  • Python packages from requirements.txt
  • Chrome with remote debugging and an authenticated library session, for CNKI, Web Access, and SI routes
  • Optional API keys: Elsevier, Springer Nature, IEEE
python3 scripts/configure_school.py infer "https://example.edu/library/resources" python3 scripts/configure_school.py url "https://example.edu/library/resources" python3 scripts/configure_school.py show python3 scripts/configure_school.py health --force

Add publisher API keys only when you need them

Credentials are configured lazily, the first time a route needs them. Keys are handled in the browser flow and the skill does not export cookies or passwords. You can enter a key interactively or pipe it in with --stdin, and check what is stored with show.

Springer Nature has separate services (openaccess, fulltext, metadata), so set the one you have access to. IEEE uses a full-text endpoint that your IEEE account provides.

python3 scripts/configure_credentials.py set elsevier python3 scripts/configure_credentials.py set springer_nature --service openaccess python3 scripts/configure_credentials.py set ieee --fulltext-endpoint 'https://issued-endpoint.example/articles/{doi}' python3 scripts/configure_credentials.py show

Trigger the skill with natural requests

You do not need to type commands. Ask in plain language, naming the paper by DOI, exact title, or a clear topic. The agent will be asked first whether you want Supporting Information, and you should answer explicitly.

When you already have a legitimate open-access PDF link, you can give it to the agent. For an exact title where you only want open-access copies, the agent uses an OA-only search with no SI.

  • "Download the full text PDF for DOI 10.xxxx/xxxxx and save it in my thesis folder."
  • "Find an open-access PDF for the paper titled '<exact title>'. Do not include supplementary files."
  • "Get the CNKI full text for this Chinese paper title and save the PDF."
  • "Batch download these 12 DOIs and tell me where each file came from."
node scripts/batch_download.mjs --title "<exact title>" --open-access --no-si --out "<project>"

Understand the SI and format rules

Before any PDF, CAJ, HTML, XML, archive, or attachment is downloaded, the agent must know whether you want Supporting Information. The downloader runs with exactly one of --si or --no-si. Without a flag it stops with si_confirmation_required and creates no output folder.

If you ask for PDF only, the agent needs a real PDF link or a PDF response. If none exists it reports no_authorized_pdf_found or pdf_fetch_failed. It will not save a CAJ file, an HTML page, or a login page under a .pdf name.

  • Use --si to include supporting files, --no-si to exclude them.
  • Successful PDFs are marked open_access_downloaded in the manifest.
  • Each download records its source, so batch collections stay auditable.

Safety notes: scripts and network access

This skill runs scripts and uses the network. It executes Node.js and Python code on your machine and can drive a Chrome session where you are logged in to your library. Only use it on a machine where you are comfortable running local scripts.

The skill is built to avoid bypassing access controls. It does not get around paywalls, logins, CAPTCHAs, or two-factor checks, and it does not read or export browser cookies, passwords, or session files. Papers that need an institutional login you do not have will be reported as missing, not worked around.

Avoid this skill on sensitive machines or in environments where a browser carrying institutional credentials should not be automated. Also note that a logged-in browser profile matters: if the controlled browser is a fresh profile with no login, the agent should ask you to authenticate in that browser rather than treat it as a permission problem.

  • Runs scripts and uses the network
  • Does not bypass paywalls, logins, CAPTCHAs, or two-factor verification
  • Does not export cookies, passwords, localStorage, or session files

Tips for better results

Give exact titles or DOIs where you can, since topic searches return more ambiguous matches. If a publisher API key is configured but returns no full text, the agent will try open-access sources first and will ask once before using institutional Web Access. Keep the output folder per project so the manifest for each batch stays together.

If the config is stored elsewhere, for tests or isolated profiles you can point the skill at another folder with the LIT_DL_CONFIG_DIR variable. The default config file is ~/.config/lit-dl/school.json.

  • Prefer exact DOIs or titles over vague topics.
  • Keep one output folder per batch so manifests stay together.
  • Check school configuration with the health command after changing library URLs.
LIT_DL_CONFIG_DIR=/path/to/configdir

What people use it for

  • Pulling open-access PDFs for a literature review from a list of DOIs.
  • Retrieving CNKI full text for Chinese papers through an existing university library login.
  • Building a batch collection of papers with a record of where each file came from.
  • Downloading a publisher's full text with your own Elsevier, Springer Nature, or IEEE API key.

Frequently asked questions

Is the nature-downloader skill free to use?

The source does not state a price or licence terms for using the skill beyond the Apache-2.0 licence noted for the repository. Publisher API keys are optional and come from the publisher, and access to paywalled papers depends on your own institution's subscriptions.

What do I need to install nature-downloader?

You need Node.js 22 or newer and Python 3, plus the Python packages in requirements.txt. For CNKI, Web Access, and SI routes you also need Chrome with remote debugging enabled, an authenticated library session, and the web-access CDP proxy.

Can this skill download paywalled papers?

No. The skill does not bypass paywalls, logins, CAPTCHAs, or two-factor verification. It only retrieves papers available through open access, publisher APIs you hold keys for, CNKI, or your own institution's authorized browser session.

Where do I put the skill folder?

Unzip it into ~/.claude/skills/ for a personal install, or into a project's .claude/skills/ folder to limit it to that project. In the Claude apps, upload the ZIP under Settings, then Capabilities, then Skills.

Is it safe to let an agent run this on my computer?

It runs Node.js and Python scripts and can control a Chrome window where you are logged in to your library. Only use it if you are comfortable running local scripts, and avoid it on machines where browsers with institutional credentials should not be automated.

What should I do if a paper is not downloaded?

The agent reports the reason, such as no authorized PDF found or a failed PDF fetch, and records it in the manifest. If your library login is not active in the controlled browser, sign in there and retry, since the skill relies on your existing session.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Choose this skill if your university library already gives you journal access and you want an agent to retrieve PDFs for DOI or title lists, with a clear record of each source. Skip it if you expect to get paywalled papers without institutional access, or if you cannot safely run scripts and let automation drive a logged-in browser.

Download the skill