Install
openclaw skills install pubmed-search-specialistBuild complex Boolean query strings for precise PubMed/MEDLINE literature retrieval. Trigger when user needs MeSH term mapping, Boolean query construction, advanced PubMed filters, citation searching, systematic review search strategy, or clinical query optimization.
openclaw skills install pubmed-search-specialistExpert tool for constructing sophisticated Boolean queries to search PubMed/MEDLINE database with precision.
scripts/main.py.references/ for task-specific guidance.See ## Prerequisites above for related details.
Python: 3.10+. Repository baseline for current packaged skills.dataclasses: unspecified. Declared in requirements.txt.requests: unspecified. Declared in requirements.txt.cd "20260318/scientific-skills/Evidence Insight/pubmed-search-specialist"
python -m py_compile scripts/main.py
python scripts/main.py --help
Example run plan:
CONFIG block or documented parameters if the script uses fixed settings.python scripts/main.py with the validated inputs.See ## Workflow above for related details.
scripts/main.py.references/ contains supporting rules, prompts, or checklists.Use this command to verify that the packaged script entry point can be parsed before deeper execution.
python -m py_compile scripts/main.py
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.
python -m py_compile scripts/main.py
python scripts/main.py --help
Extract key concepts from user's research question using PICO framework:
For each concept, identify appropriate MeSH terms:
Build query strings following PubMed syntax:
("Term"[MeSH Terms] OR "Term"[Title/Abstract] OR synonym[Title/Abstract])
Append filters as needed:
from 2020 to 2024Clinical Trial, Review, Meta-Analysishumans[MeSH Terms] or animals[MeSH Terms]english[Language]adult[MeSH Terms], aged[MeSH Terms]Provide complete, copy-paste ready PubMed search string with:
| Feature | Syntax | Use Case |
|---|---|---|
| MeSH Terms | "Diabetes Mellitus"[MeSH Terms] | Subject heading search |
| MeSH Major Topic | "Diabetes Mellitus"[MeSH Major Topic] | Core focus articles |
| Explode | "Diabetes Mellitus"[MeSH Terms:noexp] | Exclude subcategories |
| Subheadings | "Diabetes Mellitus/drug therapy"[MeSH Terms] | Specific aspects |
| Entry Terms | "Blood Sugar"[Title/Abstract] | Non-MeSH synonyms |
Operator Precedence: Use parentheses to control evaluation order.
| Tag | Field | Example |
|---|---|---|
[MeSH Terms] | Medical Subject Headings | "Hypertension"[MeSH Terms] |
[Title] | Article title only | "stroke"[Title] |
[Title/Abstract] | Title and abstract | "aspirin"[Title/Abstract] |
[Author] | Author name | "Smith J"[Author] |
[Journal] | Journal name | "Lancet"[Journal] |
[Publication Date] | Date range | 2020:2024[Publication Date] |
[Language] | Article language | english[Language] |
[Publication Type] | Article type | clinical trial[Publication Type] |
(randomized controlled trial[Publication Type] OR (randomized[Title/Abstract] AND controlled[Title/Abstract] AND trial[Title/Abstract]))
(sensitivity and specificity[MeSH Terms] OR sensitivity[Title/Abstract] OR specificity[Title/Abstract] OR diagnostic accuracy[Title/Abstract])
(incidence[MeSH Terms] OR mortality[MeSH Terms] OR follow-up studies[MeSH Terms] OR prognos*[Title/Abstract] OR predict*[Title/Abstract])
(risk[MeSH Terms] OR (risk factors[MeSH Terms]) OR (risk[Title/Abstract] AND factor*[Title/Abstract]))
| Parameter | Type | Default | Description |
|---|---|---|---|
--population | str | Required | Population/Problem |
--intervention | str | Required | Intervention |
--comparison | str | Required | Comparison |
--outcome | str | Required | Outcome |
--study-type | str | Required | Clinical query category |
--format | str | 'lines' | Output format |
Research Question: Does aspirin reduce stroke risk in diabetic patients?
Line 1 - Population:
("Diabetes Mellitus"[MeSH Terms] OR "Diabetic"[Title/Abstract] OR "Diabetics"[Title/Abstract])
Line 2 - Intervention:
("Aspirin"[MeSH Terms] OR "Acetylsalicylic Acid"[Title/Abstract] OR "aspirin"[Title/Abstract])
Line 3 - Outcome:
("Stroke"[MeSH Terms] OR "Cerebrovascular Accident"[Title/Abstract] OR "stroke"[Title/Abstract] OR "cerebrovascular"[Title/Abstract])
Line 4 - Study Type Filter:
(randomized controlled trial[Publication Type] OR systematic review[Publication Type] OR meta-analysis[Publication Type])
Final Query:
(("Diabetes Mellitus"[MeSH Terms] OR "Diabetic"[Title/Abstract] OR "Diabetics"[Title/Abstract]) AND ("Aspirin"[MeSH Terms] OR "Acetylsalicylic Acid"[Title/Abstract] OR "aspirin"[Title/Abstract]) AND ("Stroke"[MeSH Terms] OR "Cerebrovascular Accident"[Title/Abstract] OR "stroke"[Title/Abstract] OR "cerebrovascular"[Title/Abstract]) AND (randomized controlled trial[Publication Type] OR systematic review[Publication Type] OR meta-analysis[Publication Type]))
When mapping terms:
Before finalizing query:
🔴 High - Requires understanding of:
⚠️ Verification Required: MeSH terms change annually. Always verify current MeSH version at https://meshb.nlm.nih.gov/
See references/mesh-structure.md for detailed MeSH hierarchy guidance.
See references/boolean-examples.md for categorized query templates.
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python scripts executed locally | Medium |
| Network Access | PubMed E-utilities API calls | High |
| File System Access | Read/write search strategies | Low |
| Instruction Tampering | Query construction guidelines | Low |
| Data Exposure | Search terms logged locally | Low |
# Python dependencies
pip install -r requirements.txt
# Optional: NCBI API key for higher rate limits
# Set as environment variable: NCBI_API_KEY
Every final response should make these items explicit when they are relevant:
scripts/main.py fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.This skill accepts requests that match the documented purpose of pubmed-search-specialist and include enough context to complete the workflow safely.
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:
pubmed-search-specialistonly handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.
Use the following fixed structure for non-trivial requests:
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.