Literature Searcher

SkillSearch

Search CrossRef, OpenAlex, PubMed, Semantic Scholar, and optional Scopus; deduplicate results, download open-access PDFs by DOI, classify papers, monitor new results, and analyze coverage. Use when asked to search literature, monitor a topic, download an open-access paper, classify papers, or analyze literature gaps.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Literature Searcher skill

What this skill tells your AI

The instructions your AI receives, as published by dianel555/dskills in skills/literature-searcher/SKILL.md and read by ahel’s review.

Run all commands from skills/literature-searcher. The package uses only the Python standard library.

Search

python -m literature_searcher.searcher search "ionogel flexible sensor" --limit 10
python -m literature_searcher.searcher search "solid electrolyte" \
  --platform openalex --platform semantic_scholar --year-from 2020 --year-to 2024

Without --platform, the command searches CrossRef, OpenAlex, PubMed, and Semantic Scholar. Scopus requires ELSEVIER_API_KEY.

Download Open-Access PDFs

python -m literature_searcher.searcher download --doi 10.1016/j.cej.2022.135593

Downloads query Unpaywall by default. Enable the optional scihub-cli fallback explicitly with --scihub-fallback auto.

Incremental Monitoring And Insight

New-Item -ItemType Directory -Force data | Out-Null
Copy-Item monitor_config.json.template data/monitor_config.json

Set queries in data/monitor_config.json, then run:

python -m literature_searcher.monitor --config data/monitor_config.json
python -m literature_searcher.insight --input data/monitor_results.json

Monitoring uses the HTTPS DeepLX endpoint in DEEPLX_ENDPOINT by default and does not require a DeepL API key. To use a local OpenAI-compatible model service, set LOCAL_LLM_BASE_URL and LOCAL_LLM_MODEL, then pass --translator local_llm. Translation failures are recorded in the result JSON and do not stop monitoring.

Python API

CapabilityImportEntry point
Multi-platform searchliterature_searcher.searchersearch_papers()
Result deduplicationliterature_searcher.searchermerge_and_deduplicate()
PDF downloadliterature_searcher.downloaderDownloader.download_by_doi()
Paper classificationliterature_searcher.classifierPaperClassifier.classify()
Incremental monitoringliterature_searcher.monitorrun_monitor()
Coverage analysisliterature_searcher.insightanalyze_coverage()

PaperClassifier.classify() and batch_classify() accept both mappings and objects with paper attributes.

Configuration

The package reads these optional variables from the process environment: LITERATURE_EMAIL, OPENALEX_EMAIL, OPENALEX_API_KEY, SEMANTIC_SCHOLAR_API_KEY, ELSEVIER_API_KEY, DEEPLX_ENDPOINT, LOCAL_LLM_BASE_URL, and LOCAL_LLM_MODEL. Copy .env.example to .env in the skill directory to load values automatically. Variables already exported by the calling shell take precedence.

Signals

GitHub stars
64
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
literature-searcher
Source
github.com/dianel555/dskills
Literature Searcher by dianel555: Skill · ahel