Individual skill
nature-downloader
Use when a user needs lawful academic full text, CNKI institutional access, English OA retrieval, publisher API access, institutional browser fallback, or supporting information downloads.
skills/nature-downloader/SKILL.md
Source commit b6ae2cac022f4aac094d50f2938a3474ba315fbc
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 53,329
- Repository last updated
- Nov 10, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- codex-skills Repository topic
- nature Repository topic
- nature-skills Repository topic
- research Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitattributesasset · 139 bytes.gitignoreasset · 132 bytesLICENSEasset · 1,065 bytesREADME.mddoc · 7,311 bytesREADME_EN.mddoc · 7,040 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesSKILL.mdcore · 26,505 bytesagents/openai.yamlasset · 260 bytesassets/banner.jpgasset · 84,684 bytesdata/publishers.jsonasset · 947 bytesdata/school.schema.jsonasset · 3,334 bytesdata/schools.yamlasset · 271 bytesdocs/nature-downloader-reference-research-2026-07-15.mddoc · 21,863 bytesdocs/superpowers/plans/2026-06-21-nature-downloader-merge.mddoc · 2,964 bytesexamples/carsi-retry-template.tsvasset · 406 bytesexamples/manifest-template.tsvasset · 494 bytesexamples/publisher-verification-template.tsvasset · 425 bytesmanifest.yamlasset · 1,719 bytesreferences/delivery-verification-and-failures.mddoc · 7,529 bytesreferences/institutional-browser-workflow.mddoc · 12,486 bytesrequirements.txtdoc · 64 bytesscripts/batch_download.mjsruns · 36,282 bytesscripts/browser_pdf_downloader.mjsruns · 5,499 bytesscripts/cdp_open_url.mjsruns · 1,773 bytesscripts/configure_credentials.pyruns · 8,731 bytesscripts/configure_school.pyruns · 4,500 bytesscripts/extract_pdf_text.pyruns · 2,889 bytesscripts/lib/anti-bot.mjsruns · 34,116 bytesscripts/lib/cdp-utils.mjsruns · 5,277 bytesscripts/lib/cnki.mjsruns · 15,060 bytesscripts/lib/credentials.mjsruns · 2,753 bytesscripts/lib/direct-download.mjsruns · 2,170 bytesscripts/lib/manifest.mjsruns · 1,265 bytesscripts/lib/metadata.mjsruns · 2,148 bytesscripts/lib/open-access-provider.mjsruns · 4,999 bytesscripts/lib/open-access.mjsruns · 4,925 bytesscripts/lib/pdf-utils.mjsruns · 7,895 bytesscripts/lib/provider-registry.mjsruns · 365 bytesscripts/lib/provider-utils.mjsruns · 1,909 bytesscripts/lib/publisher-providers.mjsruns · 6,077 bytesscripts/lib/routing.mjsruns · 2,658 bytesscripts/lib/school-config.mjsruns · 1,016 bytesscripts/lib/settings.mjsruns · 501 bytesscripts/lib/status-codes.mjsruns · 7,057 bytesscripts/lib/wos-supporting-information.mjsruns · 9,156 bytesscripts/retry_elsevier_api.mjsruns · 801 bytessrc/config.pyruns · 5,334 bytessrc/health_check.pyruns · 4,383 bytessrc/schools_loader.pyruns · 3,703 bytessrc/validators.pyruns · 6,180 bytessrc/wizard.pyruns · 23,905 bytestests/python/test_config_credentials.pyruns · 1,285 bytestests/python/test_config_wizard.pyruns · 7,390 bytestests/python/test_credential_validation.pyruns · 3,290 bytestests/python/test_springer_services.pyruns · 5,164 bytestests/unit/batch-cli.test.mjsruns · 3,216 bytestests/unit/cnki.test.mjsruns · 2,656 bytestests/unit/credentials.test.mjsruns · 1,179 bytestests/unit/direct-download-collision.test.mjsruns · 1,990 bytestests/unit/generic-package.test.mjsruns · 1,799 bytestests/unit/manifest.test.mjsruns · 1,027 bytestests/unit/metadata.test.mjsruns · 1,032 bytestests/unit/open-access-provider.test.mjsruns · 4,707 bytestests/unit/open-access.test.mjsruns · 2,833 bytestests/unit/pdf-utils-atomic-write.test.mjsruns · 2,508 bytestests/unit/provider-utils.test.mjsruns · 1,426 bytestests/unit/publisher-providers.test.mjsruns · 5,390 bytestests/unit/routing.test.mjsruns · 3,995 bytestests/unit/school-config.test.mjsruns · 1,229 bytestests/unit/springer-services.test.mjsruns · 6,747 bytestests/unit/status-codes.test.mjsruns · 8,246 bytestests/unit/wos-supporting-information.test.mjsruns · 9,374 bytes
Read excerpt
# Nature Literature Downloader
This skill routes literature through lawful open-access, publisher-API, CNKI institutional, and browser-based institutional providers. `scripts/batch_download.mjs` is the orchestration entry point; school configuration, publisher credentials, metadata/OA resolution, provider downloads, content validation, and manifests are separate modules.
Verified routes are examples, not defaults. Every institution should start from the user's actual library resource URL, because resource portals, CAS callbacks, EZproxy, WebVPN, IP-authenticated database pages, and database detail pages reveal the live authorization path more reliably than a school name.
> **SI confirmation gate — do this first.** Before downloading any PDF, CAJ, HTML, XML, archive, or attachment, ask whether the user wants Supporting Information. An explicit request for SI counts as yes; an explicit request for正文 only counts as no. Otherwise ask once for the whole batch. Run the downloader with exactly one of `--si` or `--no-si`. Without either flag the script returns `si_confirmation_required` and does not create the output directory.
> **Main workflow.** Normalize the DOI/title and identify language and publisher before routing. Chinese literature always uses CNKI. For English Elsevier, Springer Nature, and IEEE articles with usable provider credentials, try the publisher API first and do not require an OA determination after a successful API download. If that API attempt fails, automatically check legitimate OA sources. Other English publishers check OA first, then use the institutional Web Access route when OA is unavailable.
```text
规范化 DOI/题名并识别语言、出版商
├─ 中文文献:直接走 CNKI
└─ 英文文献