Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Research pipeline for PubMed and arXiv. Quick search and structured literature reviews using pure Python standard library.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -44% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -56% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -52% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 2% | 0% |
<img src="banner.png" width="100%" alt="research-agent banner">
> Deutsch — Offizielle Deutsch-Version / Documento Oficial en Deutsch.
Modular research pipeline for scientific literature search. Uses exclusively Python standard library (urllib, xml, json).
ResearchAgent (Orchestrator)
sources/ Data sources (PubMed, arXiv)
base.py Article/SearchResult dataclasses, Source ABC
pubmed.py NCBI E-utilities (esearch + efetch)
arxiv.py arXiv Atom API
workflows/ Research workflows
quick_search.py Quick search across multiple sources
literature_review.py 4-phase literature reviewpythonfrom scripts.agent import ResearchAgent agent = ResearchAgent() # Quick search (Deutsch) result = agent.search("machine learning diagnostics", max_results=10) print(result) # Structured literature review (Deutsch) plan = agent.create_review_plan("transformer architectures", years=3) print(plan.total_articles, "articles found") # Save result (Deutsch) agent.save_result(result, "research_ml.md", fmt="markdown")
bashcd scripts python -m ResearchAgent search "quantum computing" --max 20 python -m ResearchAgent review "CRISPR gene editing" --years 5
| Source | API | Rate Limit | Access | |--------|-----|------------|--------| | PubMed | NCBI E-utilities | 3/s (without key), 10/s (with key) | Free | | arXiv | Atom REST API | None documented | Free |
Extensible: New sources implement the Source ABC from sources/base.py.
pythonfrom scripts.sources.base import Source, SearchResult class MySource(Source): @property def name(self) -> str: return "my-source" def search(self, query, max_results=10, **kwargs): # Implement API query ... def get_article(self, article_id): ... def is_available(self) -> bool: return True
> Only relevant when used within BACH.
pythonfrom scripts.agent import ResearchAgent agent = ResearchAgent(use_bach=True) # Optional BACH integration
Other measured skills in the registry, with their headline benchmark lift.