← Back to Skills Marketplace
agents365-ai

Paper Fetch

by Agents365.ai · GitHub ↗ · v0.5.0 · MIT-0
cross-platform ✓ Security Clean
180
Downloads
1
Stars
1
Active Installs
5
Versions
Install in OpenClaw
/install paper-fetch
Description
Use when the user wants to download a paper PDF from a DOI, title, or URL via legal open-access sources. Tries Unpaywall, arXiv, bioRxiv/medRxiv, PubMed Cent...
Usage Guidance
This skill appears coherent and implements the documented OA lookup/download chain. Before installing, consider: (1) set UNPAYWALL_EMAIL if you want Unpaywall queries to include contact info (not a secret); (2) if you do not want the repository to auto-update itself, set PAPER_FETCH_NO_AUTO_UPDATE=1 (or inspect/patch the code); (3) note that downloads go to the chosen output directory and an idempotency cache is stored there; (4) the script restricts downloads to a whitelist of publisher/OA hosts and enforces a 50 MB per-file cap. If you want extra caution, review scripts/fetch.py locally and run the bundled unit tests (tests/test_fetch.py) before enabling agent-autonomous invocation.
Capability Analysis
Type: OpenClaw Skill Name: paper-fetch Version: 0.5.0 The paper-fetch skill is a legitimate utility for downloading open-access research papers via a multi-source fallback chain (Unpaywall, Semantic Scholar, arXiv, PMC, and bioRxiv). The code in scripts/fetch.py is well-structured, uses only the Python standard library, and implements several safety controls including a hardcoded hostname allowlist for downloads, a 50MB file size limit, and PDF header validation. While the tool includes an auto-update feature that executes 'git pull' in the background, this behavior is explicitly documented in SKILL.md and README.md, and it can be disabled via the PAPER_FETCH_NO_AUTO_UPDATE environment variable.
Capability Tags
cryptocan-make-purchases
Capability Assessment
Purpose & Capability
Name/description match the code and SKILL.md: the script is a Python CLI that resolves DOIs/titles via Unpaywall, Semantic Scholar, arXiv, PMC, bioRxiv and downloads PDFs. Required binary is python3 and no credentials are mandatory (UNPAYWALL_EMAIL is optional). The declared host allowlist and 50MB cap align with the stated download purpose.
Instruction Scope
SKILL.md and README limit actions to resolving DOIs and downloading PDFs from listed OA providers. One noteworthy runtime behavior is a documented auto-update: when installed via git clone the script will spawn a detached background `git pull --ff-only` (throttled to once per 24h) unless disabled with PAPER_FETCH_NO_AUTO_UPDATE=1. That is outside the core fetch flow but is explicitly documented.
Install Mechanism
There is no automated install spec in the package (instruction-only install via git clone). The code is pure stdlib Python (no pip installs). No suspicious download/install URLs or extract steps are present.
Credentials
No credentials or sensitive env vars are required. UNPAYWALL_EMAIL is optional and only used in a User-Agent contact token. Optional env vars (PAPER_FETCH_ALLOWED_HOSTS, PAPER_FETCH_NO_AUTO_UPDATE, PAPER_FETCH_UPDATE_INTERVAL) control behavior and are reasonably scoped to the tool's functionality.
Persistence & Privilege
The skill does not request always:true and is user-invocable. It writes files to the chosen output directory (downloaded PDFs, and an idempotency cache under `<out>/.paper-fetch-idem/`). It may spawn a background git pull when installed from a git checkout (network I/O). These behaviors are documented and configurable/disableable via env vars.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install paper-fetch
  3. After installation, invoke the skill by name or use /paper-fetch
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.5.0
Agent-native CLI refactor (rubric 23/28 → 28/28). New schema subcommand, NDJSON progress on stderr, ok:"partial" batch envelope with next retry hints, meta slot (request_id, latency_ms, schema_version, cli_version, sources_tried), TTY-aware --format default, --idempotency-key replay, skip-if-exists, --stream NDJSON, stdin input via -, --pretty, --timeout, PAPER_FETCH_ALLOWED_HOSTS env. Exit codes split into 0/1/3/4. not_found is now retryable with retry_after_hours. Semantic Scholar metadata enrichment when Unpaywall is incomplete. 55 stdlib unit + integration tests, 4-job CI matrix.
v0.4.0
v0.4.0 — Silent background self-update - feat: each invocation spawns a detached background 'git pull --ff-only' to keep the skill in sync with upstream. Non-blocking, silent, throttled to 24h. Disable with PAPER_FETCH_NO_AUTO_UPDATE=1. - docs: new online landing page at https://agents365-ai.github.io/paper-fetch/ - docs: clarified discipline-agnostic coverage (humanities, social sciences, chemistry, economics — not just life sciences or CS)
v0.3.1
Fix ClawHub security flags: optional env var, remove MCP reference
v0.3.0
Optional auth, host allowlist, size limit, I/O safety, partial-failure docs
v0.2.0
Agent-native CLI: structured JSON output, dry-run, exit codes, pi-mono support
Metadata
Slug paper-fetch
Version 0.5.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 5
Frequently Asked Questions

What is Paper Fetch?

Use when the user wants to download a paper PDF from a DOI, title, or URL via legal open-access sources. Tries Unpaywall, arXiv, bioRxiv/medRxiv, PubMed Cent... It is an AI Agent Skill for Claude Code / OpenClaw, with 180 downloads so far.

How do I install Paper Fetch?

Run "/install paper-fetch" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Paper Fetch free?

Yes, Paper Fetch is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Paper Fetch support?

Paper Fetch is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Paper Fetch?

It is built and maintained by Agents365.ai (@agents365-ai); the current version is v0.5.0.

💬 Comments