Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add agentlas-ai/agentlas-desktop --skill paper-lookupgit clone --depth 1 https://github.com/agentlas-ai/agentlas-desktopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/agentlas-ai/agentlas-desktop/paper-lookup)<a href="https://agentmods.dev/skills/agentlas-ai/agentlas-desktop/paper-lookup"><img src="https://agentmods.dev/badge/skills/agentlas-ai/agentlas-desktop/paper-lookup/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/agentlas-ai/agentlas-desktop/paper-lookup"><img src="https://agentmods.dev/badge/skills/agentlas-ai/agentlas-desktop/paper-lookup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00198 | $0.06271 |
| Opus 5.5 | $0.00079 | $0.02508 |
| Sonnet 5.5 | $0.00040 | $0.01254 |
| Haiku 4.5 | $0.00020 | $0.00627 |
Grade C, and why
paper-lookup scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s "https://export.arxiv.org/api/query?id_list=1706.03762" | python3 scripts/arxiv_atom.py - Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
compatibility: Needs network access and curl. The bundled scripts require Python 3.11+ and use only the standard library. No credentials are required; NCBI_API_KEY, S2_API_KEY, CORE_API_KEY, and OPENALEX_API_KEY raise ra This is a copy
95% identical to paper-lookup — 37 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 304 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Paper Lookup
This skill gives you 18 scholarly APIs with documented endpoints. Your job is to turn the user's intent into a reproducible retrieval: pick the authoritative database(s), make bounded and rate-limited calls, and return an answer with enough provenance (endpoints, parameters, identifiers, access date) that a human or another agent can repeat it.
A literature lookup is only as trustworthy as it is repeatable. Prefer explicit identifiers and documented endpoints over broad guessing, report what you queried, and say plainly when a result is partial or a database came back empty — a silent gap reads as "nothing exists" when it may just mean "not indexed here."
These APIs fail with HTTP 200. That is the recurring hazard, and the reason for most of the rules below. PMC eFetch returns a well-formed article with no <body> when the publisher forbids redistribution. arXiv returns totalResults: 1 and one entry titled Error for a malformed parameter, and silently rewrites an unknown field prefix to all:. Europe PMC puts errCode in a 200 body. bioRxiv accepts an out-of-step pagination cursor and returns the wrong 30 records. Figshare GET /articles?search_for= ignores the query and still 200s. OpenCitations answers an unknown DOI with [{"count": "0"}]. None of these raise, and every one of them produces a confident, wrong answer. Verify the shape of what you got, not just the status code.
Core Workflow
-
Define the retrieval contract — What is the user after? A specific paper by DOI/PMID/arXiv ID? Papers on a topic? An author's publications? A citation graph? An open-access PDF? Full text? Note any constraints that change the answer: date range, field of study, open-access-only, exhaustive list vs. a few top hits. If a constraint that affects correctness is missing (e.g., "recent" with no year, or an author name with many namesakes), ask rather than guess.
-
Select database(s) — Use the selection guide below. Route to the primary database for the intent, then add others only when they earn their place: identifier resolution, open-access lookup, or a known coverage gap. Don't fan out across all eighteen just because they're available.
What ships with it
23 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/arxiv.md 12 KB
- references/biorxiv.md 6.1 KB
- references/biostudies.md 3.1 KB
- references/core.md 3.9 KB
- references/crossref.md 5.0 KB
- references/doaj.md 4.0 KB
- references/europepmc.md 8.7 KB
- references/figshare.md 2.7 KB
- references/medrxiv.md 4.8 KB
- references/openalex.md 5.0 KB
- references/opencitations.md 4.4 KB
- references/pmc.md 7.7 KB
- references/pubmed.md 3.8 KB
- references/pubtator.md 4.3 KB
- references/ror.md 3.9 KB
- references/semantic-scholar.md 6.0 KB
- references/unpaywall.md 3.7 KB
- references/zenodo.md 3.4 KB
- scripts/_common.py 8.2 KB runs code
- scripts/arxiv_atom.py 7.8 KB runs code
- scripts/jats_to_text.py 11 KB runs code
- scripts/openalex_abstract.py 5.9 KB runs code
- scripts/paginate.py 17 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 304 lines · 198 tokens per session scan C 487f39acbc2d
paper-lookup is a skill published in the GitHub repository agentlas-ai/agentlas-desktop (6 stars, last pushed yesterday), licensed Apache-2.0. It adds 198 tokens to every session and 6,271 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). It is 95% identical to paper-lookup, differing in 37 lines, and is treated as a copy.
Other skills, from other repositories
tbtools
Use when the user asks about TBtools, TBtools-II, TBtools RPC API, TBtools CLI, or bioinformatics operations available through TBtools such as sequence manipulation, BLAST, GFF/GTF/GXF processing, expression tables, heatmaps, trees, MCScanX, DIAMOND, HMMER, MUSCLE, and IQ-TREE.
electron-expert
Expert in Electron framework, desktop app development, IPC, and cross-platform packaging. Use when the user mentions desktop, Node.js, cross platform, Windows, macOS, or Linux, or when the task involves Electron Architecture, Process Types, IPC Communication, or App Lifecycle.
research-orchestrator
Becomes a principal research scientist who orchestrates deep, multi-source research by coordinating evidence gathering, grading source quality, and synthesizing findings with explicit confidence levels. Use when the user needs a comprehensive research report on a complex topic, evidence-based analysis with source…
autoresearch
Run an auto research / autoresearch loop for measurable improvements. Use when optimizing a skill, agent, prompt, code path, benchmark, or other target with a mechanical metric: baseline, mutate one thing, verify, keep or discard, log, chart progress, and optionally save improved custom skills or agents through Open…
architecture-diagram
How to draw and maintain the architecture diagram Ensemblr keeps for a workspace — ensemblrgetarchitecturediagram to fetch the stored one (it answers with null when nobody has drawn this workspace yet), the IR shape, how to derive it from the codebase, and ensemblrupdatearchitecturediagram to store it. Read this when…
scaffold-lean-library
Scaffold a Lean 4 library with Mathlib or PFR, Lake tests, and CI. Use for "new Lean project"; to edit Lean, use write-lean-code.