Skip to content
Automation
Skill

/pubmed-database

Direct REST API access to PubMed. Advanced Boolean/MeSH queries, E-utilities API, batch processing, citation management. For Python workflows, prefer biopython (Bio.Entrez). Use this for direct HTTP/REST work or custom API implementations.

From plugin
vibe-skills
2.7k200 skills8 agents3 commands
Install
$ npx -y skills add foryourhealth111-pixel/Vibe-Skills --skill pubmed-database --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pubmed-database

Context preview

The summary Claude sees to decide when to auto-load this skill.

Direct REST API access to PubMed. Advanced Boolean/MeSH queries, E-utilities API, batch processing, citation management. For Python workflows, prefer biopython (Bio.Entrez). Use this for direct HTTP/REST work or custom API implementations.

SKILL.md

pubmed-database.SKILL.md
name: pubmed-database
description: Direct REST API access to PubMed. Advanced Boolean/MeSH queries, E-utilities API, batch processing, citation management. For Python workflows, prefer biopython (Bio.Entrez). Use this for direct HTTP/REST work or custom API implementations.
license: Unknown
metadata:
    skill-author: K-Dense Inc.

PubMed Database

Overview

PubMed is the U.S. National Library of Medicine's comprehensive database providing free access to MEDLINE and life sciences literature. Construct advanced queries with Boolean operators, MeSH terms, and field tags, access data programmatically via E-utilities API for systematic reviews and literature analysis.

When to Use This Skill

This skill should be used when:

  • Searching for biomedical or life sciences research articles
  • Constructing complex search queries with Boolean operators, field tags, or MeSH terms
  • Conducting systematic literature reviews or meta-analyses
  • Accessing PubMed data programmatically via the E-utilities API
  • Finding articles by specific criteria (author, journal, publication date, article type)
  • Retrieving citation information, abstracts, or full-text articles
  • Working with PMIDs (PubMed IDs) or DOIs
  • Creating automated workflows for literature monitoring or data extraction

Core Capabilities

1. Advanced Search Query Construction

Construct sophisticated PubMed queries using Boolean operators, field tags, and specialized syntax.

**Basic Search Strategies**:

  • Combine concepts with Boolean operators (AND, OR, NOT)
  • Use field tags to limit searches to specific record parts
  • Employ phrase searching with double quotes for exact matches
  • Apply wildcards for term variations
  • Use proximity searching for terms within specified distances

**Example Queries**:

# Recent systematic reviews on diabetes treatment
diabetes mellitus[mh] AND treatment[tiab] AND systematic review[pt] AND 2023:2024[dp]

# Clinical trials comparing two drugs
(metformin[nm] OR insulin[nm]) AND diabetes mellitus, type 2[mh] AND randomized controlled trial[pt]

# Author-specific research
smith ja[au] AND cancer[tiab] AND 2023[dp] AND english[la]

**When to consult search_syntax.md**:

  • Need comprehensive list of available field tags
  • Require detailed explanation of search operators
  • Constructing complex proximity searches
  • Understanding automatic term mapping behavior
  • Need specific syntax for date ranges, wildcards, or special characters

Grep pattern for field tags: `\[au\]|\[ti\]|\[ab\]|\[mh\]|\[pt\]|\[dp\]`

2. MeSH Terms and Controlled Vocabulary

Use Medical Subject Headings (MeSH) for precise, consistent searching across the biomedical literature.

**MeSH Searching**:

  • [mh] tag searches MeSH terms with automatic inclusion of narrower terms
  • [majr] tag limits to articles where the topic is the main focus
  • Combine MeSH terms with subheadings for specificity (e.g., diabetes mellitus/therapy[mh])

**Common MeSH Subheadings**:

  • /diagnosis - Diagnostic methods
  • /drug therapy - Pharmaceutical treatment
  • /epidemiology - Disease patterns and prevalence
  • /etiology - Disease causes
  • /prevention & control - Preventive measures
  • /therapy - Treatment approaches

**Example**:

# Diabetes therapy with specific focus
diabetes mellitus, type 2[mh]/drug therapy AND cardiovascular diseases[mh]/prevention & control

3. Article Type and Publication Filtering

Filter results by publication type, date, text availability, and other attributes.

**Publication Types** (use [pt] field tag):

  • Clinical Trial
  • Meta-Analysis
  • Randomized Controlled Trial
  • Review
  • Systematic Review
  • Case Reports
  • Guideline

**Date Filtering**:

  • Single year: `2024[dp]`
  • Date range: `2020:2024[dp]`
  • Specific date: `2024/03/15[dp]`

**Text Availability**:

  • Free full text: Add `AND free full text[sb]` to query
  • Has abstract: Add `AND hasabstract[text]` to query

**Example**:

# Recent free full-text RCTs on hypertension
hypertension[mh] AND randomized controlled trial[pt] AND 2023:2024[dp] AND free full text[sb]

4. Programmatic Access via E-utilities API

Access PubMed data programmatically using the NCBI E-utilities REST API for automation and bulk operations.

**Core API Endpoints**: 1. **ESearch** - Search database and retrieve PMIDs 2. **EFetch** - Download full records in various formats 3. **ESummary** - Get document summaries 4. **EPost** - Upload UIDs for batch processing 5. **ELink** - Find related articles and linked data

**Basic Workflow**:

import requests

# Step 1: Search for articles
base_url = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/"
search_url = f"{base_url}esearch.fcgi"
params = {
    "db": "pubmed",
    "term": "diabetes[tiab] AND 2024[dp]",
    "retmax": 100,
    "retmode": "json",
    "api_key": "YOUR_API_KEY"  # Optional but recommended
}
response = requests.get(search_url, params=params)
pmids = response.json()["esearchresult"]["idlist"]

# Step 2: Fetch article details
fetch_url = f"{base_url}efetch.fcgi"
params = {
    "db": "pubmed",
    "id": ",".join(pmids),
    "rettype": "abstract",
    "retmode": "text",
    "api_key": "YOUR_API_KEY"
}
response = requests.get(fetch_url, params=params)
abstracts = response.text

**Rate Limits**:

  • Without API key: 3 requests/second
  • With API key: 10 requests/second
  • Always include User-Agent header

**Best Practices**:

  • Use history server (usehistory=y) for large result sets
  • Implement batch operations via EPost for multiple UIDs
  • Cache results locally to minimize redundant calls
  • Respect rate limits to avoid service disruption

**When to consult api_reference.md**:

  • Need detailed endpoint documentation
  • Require parameter specifications for each E-utility
  • Constructing batch operations or history server workflows
  • Understanding response formats (XML, JSON, text)
  • Troubleshooting API errors or rate limit issues

Grep pattern for API endpoints: `esearch|efetch|esummary|epost|elink|einfo`

5. Citation Ma

Read more
Ships withvibe-skills

VibeSkills is a general-purpose Skill that automatically routes local Skills and intelligently orchestrates harness workflows.

Get the whole plugin

Other skills on vibe-skills.