Skip to content
Back to skills

Literature Searcher

ASecurity

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.

  • 65 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 31, 2026
ai-agentspythonshellbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 16 files and shows the line behind each finding

Scanned August 31, 2026

npx -y skills add Dianel555/DSkills --skill literature-searcher --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Literature Searcher?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Literature Searcher
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dianel555-literature-searcher/badge)](https://www.skillsdirectory.com/skills/dianel555-literature-searcher)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: literature-searcher
description: |
  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.
---

# Literature Searcher

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

## Search

```bash
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

```bash
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

```powershell
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:

```bash
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

| Capability | Import | Entry point |
| --- | --- | --- |
| Multi-platform search | `literature_searcher.searcher` | `search_papers()` |
| Result deduplication | `literature_searcher.searcher` | `merge_and_deduplicate()` |
| PDF download | `literature_searcher.downloader` | `Downloader.download_by_doi()` |
| Paper classification | `literature_searcher.classifier` | `PaperClassifier.classify()` |
| Incremental monitoring | `literature_searcher.monitor` | `run_monitor()` |
| Coverage analysis | `literature_searcher.insight` | `analyze_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.

Files in this skill

  • .env.example743 B
  • README.md3.7 KB
  • SKILL.md2.9 KB
  • literature_searcher/__init__.py3.1 KB
  • literature_searcher/classifier.py11.2 KB
  • literature_searcher/crossref_searcher.py2.8 KB
  • literature_searcher/downloader.py5.3 KB
  • literature_searcher/insight.py6 KB
  • literature_searcher/monitor.py14.3 KB
  • literature_searcher/openalex_searcher.py3 KB
  • literature_searcher/pubmed_searcher.py6.1 KB
  • literature_searcher/scopus_searcher.py2.1 KB
  • literature_searcher/searcher.py3.4 KB
  • literature_searcher/semantic_scholar_searcher.py3.1 KB
  • monitor_config.json.template443 B
  • tests/test_literature_searcher.py9.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.