oa-pdf-retrieval
Use when downloading an open-access paper PDF with verified provenance (allowlisted host, license, sha256) via paper_find_oa_pdf and paper_download_oa_pdf ; do NOT use for mere metadata lookup or citation graphs (use scholarly-literature-review), or for biomedical ranking (use biomedical-paper-triage) ; returns downloaded PDF path with access classification.
- License 许可
- MIT
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- oa-pdf-retrieval
- description
- Use when downloading an open-access paper PDF with verified provenance (allowlisted host, license, sha256) via paper_find_oa_pdf and paper_download_oa_pdf ; do NOT use for mere metadata lookup or citation graphs (use scholarly-literature-review), or for biomedical ranking (use biomedical-paper-triage) ; returns downloaded PDF path with access classification.
03 SKILL.md 正文
Open-Access PDF Retrieval
When a paper is only free-to-read (publisher or PMC landing page) or behind a subscription, this skill does NOT download it — it cites the landing page instead. The hard download gate is enforced in server code, not just convention.
When to use
- You need a verifiable record of where a PDF came from (allowlisted host), under what license, with a sha256 checksum and byte count.
- You need to know, honestly, whether a paper is downloadable open access versus only free-to-read versus paywalled — and act correctly on each category.
The MCP tools it uses
This skill is backed by the Scholarly Access MCP server (canonical code and README at C:/Users/Prekzursil/source/agent-skills-toolchain/tools/scholarly-access-mcp/). The two primary tools:
Supporting tools you may call first to classify or normalize:
paper_access_status(identifier | doi | arxiv)— category in oa_pdf, free_to_read_not_redistributable, subscription, unavailable, unknown, plus provenance. Use this to decide whether downloading is even appropriate.paper_resolve(identifier)— normalize a DOI/PMID/arXiv/title to canonical metadata and ids before retrieval.
The workflow steps
- Resolve and classify first. Call
paper_access_status(orpaper_resolvethen status) on the identifier. Read the returned category. - Branch on the category honestly:
oa_pdf— proceed to step 3.free_to_read_not_redistributable— STOP. Do NOT download. Cite the landing-page provenance the tool returned. The item is readable on a publisher or PMC page but not legally fetchable.subscription— STOP. Do NOT download. Cite the paper only.
- Find the OA PDF URL. Call
paper_find_oa_pdfwith the DOI or arXiv id. Capture the returnedurl,license, andsource. - Download through the gate. Call
paper_download_oa_pdfwith the allowlistedurl, your chosendest_dirandfilename, and thelicenseandsourcefrom step 3. Do not hand it a URL from any other origin. - Record provenance. From the tool result, record the saved path, sha256, byte count, license, and source.
Concrete examples
Downloadable open access (arXiv) — full happy path:
paper_find_oa_pdf(arxiv="1706.03762")returns an allowlisted arXiv PDF URL plus license, for "Attention Is All You Need".paper_download_oa_pdf(url=<that arXiv url>, dest_dir=..., filename="attention.pdf", license=..., source="arxiv")writes roughly a 2.1 MB PDF and returns its sha256.
Downloadable open access (publisher OA):
paper_access_status(doi="10.1371/journal.pone.0000308")returnsoa_pdfwith a PLOS open-access URL — safe to find and download.
Correctly NOT downloaded (paywalled / free-to-read):
Limitations
free_to_read_not_redistributableitems are intentionally never downloaded — open or cite the landing page instead.- A few sources need API keys (read by env-var NAME only). A missing key means that source is silently skipped, never an error:
UNPAYWALL_EMAIL,CORE_API_KEY,NCBI_API_KEY,SEMANTIC_SCHOLAR_API_KEY(keyless works),ELSEVIER_API_KEY. - A too-vague title may resolve as unresolved; provide a DOI/PMID/arXiv id when possible.
Tested invocation
# 1. Classify honestly
paper_access_status(doi="10.1371/journal.pone.0000308")
-> category="oa_pdf", PLOS open-access URL + provenance
# 2.
paper_find_oa_pdf(arxiv="1706.03762")
-> { url: <allowlisted arXiv PDF url>, license, source, evidence:[...] }
# 3.
paper_download_oa_pdf(url=<that arXiv url>, dest_dir="C:/tmp", filename="attention.pdf",
license=<from step 2>, source="arxiv")
-> { path, sha256, bytes: ~2_100_000, license, source }
04 同仓库更多 Skills
clarify-requirements
Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.
openmm-md
Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein / protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.
visual-review
Take screenshots of web pages and UI using Playwright for visual review and iteration
status
Diagnostic status report — shows metaswarm installation state, project setup, and potential issues
start
Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work
setup
Interactive project setup — detects your project, configures metaswarm, writes project-local files