reference-search

Multi-database literature search and search-strategy design that outputs structured, reproducible result lists; use when you need reference retrieval, systematic searching, review topic selection, or to construct a traceable search strategy.

53 stars

Best use case

reference-search is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Multi-database literature search and search-strategy design that outputs structured, reproducible result lists; use when you need reference retrieval, systematic searching, review topic selection, or to construct a traceable search strategy.

Teams using reference-search should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/reference-search/SKILL.md --create-dirs "https://raw.githubusercontent.com/aipoch/medical-research-skills/main/scientific-skills/Evidence Insight/reference-search/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/reference-search/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How reference-search Compares

Feature / Agentreference-searchStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Multi-database literature search and search-strategy design that outputs structured, reproducible result lists; use when you need reference retrieval, systematic searching, review topic selection, or to construct a traceable search strategy.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
# Reference Search

## When to Use

- Use this skill when you need multi-database literature search and search-strategy design that outputs structured, reproducible result lists; use when you need reference retrieval, systematic searching, review topic selection, or to construct a traceable search strategy in a reproducible workflow.
- Use this skill when a evidence insight task needs a packaged method instead of ad-hoc freeform output.
- Use this skill when the user expects a concrete deliverable, validation step, or file-based result.
- Use this skill when `scripts/pubmed_search.py` is the most direct path to complete the request.
- Use this skill when you need the `reference-search` package behavior rather than a generic answer.

## Key Features

- Scope-focused workflow aligned to: Multi-database literature search and search-strategy design that outputs structured, reproducible result lists; use when you need reference retrieval, systematic searching, review topic selection, or to construct a traceable search strategy.
- Packaged executable path(s): `scripts/pubmed_search.py`.
- Reference material available in `references/` for task-specific guidance.
- Reusable packaged asset(s), including `assets/search_log_template.csv`.
- Structured execution path designed to keep outputs consistent and reviewable.

## Dependencies

- `Python`: `3.10+`. Repository baseline for current packaged skills.
- `Third-party packages`: `not explicitly version-pinned in this skill package`. Add pinned versions if this skill needs stricter environment control.

## Example Usage

```bash
cd "20260316/scientific-skills/Evidence Insight/reference-search"
python -m py_compile scripts/pubmed_search.py
python scripts/pubmed_search.py --help
```

Example run plan:
1. Confirm the user input, output path, and any required config values.
2. Edit the in-file `CONFIG` block or documented parameters if the script uses fixed settings.
3. Run `python scripts/pubmed_search.py` with the validated inputs.
4. Review the generated output and return the final artifact with any assumptions called out.

## Implementation Details

- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.
- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.
- Primary implementation surface: `scripts/pubmed_search.py`.
- Reference guidance: `references/` contains supporting rules, prompts, or checklists.
- Packaged assets: reusable files are available under `assets/`.
- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.
- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.

## 1. When to Use

Use this skill in the following scenarios:

1. **Systematic or scoping reviews** where you must document a reproducible search strategy and export structured results.
2. **Rapid evidence retrieval** for a research question, with quick export to CSV/JSON for screening.
3. **Search strategy construction** (keywords, synonyms, Boolean logic, field restrictions) before running searches at scale.
4. **Review topic selection** by exploring the volume and distribution of literature for candidate topics.
5. **Traceable search logging** when you need to record search date, query string, and result counts for auditability.

## 2. Key Features

- **Multi-database search framework** (currently implemented for **PubMed**).
- **Automatic keyword extraction** and **search strategy construction** (Boolean logic + field constraints).
- **Structured outputs**:
  - Machine-readable **JSON**
  - Spreadsheet-friendly **CSV**
- **Reproducible search records** (query string, keywords, counts, and record list).
- **Compliance-oriented network access** restricted to official PubMed E-utilities endpoints.

## 3. Dependencies

| Dependency | Version | Notes |
|---|---:|---|
| Python | 3.10+ | Uses Python standard library only (no third-party packages). |

## 4. Example Usage

### Run the PubMed search script

```bash
cd skills/reference-search
python scripts/pubmed_search.py
```

### Configure the script

Edit the `CONFIG` section in `scripts/pubmed_search.py`:

```python
from pathlib import Path

CONFIG = {
    "EMAIL": "your_email@example.com",          # Required (must be provided by the user)
    "API_KEY": "",                               # Optional (can increase rate limits)
    "RETMAX": 20,                                # Max number of records to return
    "OUTPUT_DIR": Path("outputs/pubmed_search"), # Allowed output directory
}
```

### Example output (JSON)

```json
{
  "query": "\"Cancer cachexia\"[Title] AND cachexia[Title/Abstract] AND pancreatic[Title/Abstract]",
  "keywords": ["cachexia", "pancreatic", "cancer", "weight", "muscle", "atrophy", "mortality", "treatment"],
  "count": 20,
  "records": [
    {
      "pmid": "36280389",
      "title": "Role of noncoding RNAs in pancreatic ductal adenocarcinoma associated cachexia.",
      "journal": "Journal of Cachexia, Sarcopenia and Muscle",
      "pubdate": "2022",
      "authors": "Wang X, Li Y, Zhang S"
    }
  ]
}
```

## 5. Implementation Details

### Supported databases and endpoints

- **PubMed (NCBI E-utilities)** only.
  - `https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi` (search)
  - `https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi` (record summaries)

### Search workflow (recommended)

1. **Define requirements and scope**
   - Confirm research question and core concepts.
   - Set inclusion/exclusion criteria (time window, language, publication type).
2. **Design the search strategy**
   - Expand keywords with synonyms.
   - Combine with Boolean operators (AND/OR) and apply field restrictions (e.g., Title/Abstract/MeSH).
3. **Execute and export**
   - Run the script and export results to JSON/CSV.
   - If combining multiple sources, merge and deduplicate externally while preserving source labels.
4. **Record for reproducibility**
   - Save the final query string, search date, and result counts.

### Configuration parameters

- `EMAIL` (required): Must be provided by the user; **must not** be hard-coded as a real credential.
- `API_KEY` (optional): If provided, can improve throughput under NCBI policies.
- `RETMAX`: Limits the number of returned records.
- `OUTPUT_DIR`: Must point to an `outputs/` subdirectory.

### Security, compliance, and access constraints

- **Network access**: restricted to the official NCBI host `eutils.ncbi.nlm.nih.gov` only.
- **Prohibited**: any third-party URLs.
- **File read constraints**: do not read files outside the skill directory.
- **File write constraints**: write outputs only under `outputs/` (ensure the directory exists or is created by the script).
- **Timeout**: 20 seconds per API request.
- **Rate limiting**: 0.35 seconds between requests.
- **Error handling**: return semantic, user-facing error messages without exposing sensitive technical details.

### Included assets and references (in-repo)

- Templates:
  - `assets/search_log_template.csv`
  - `assets/search_results_template.csv`
- Additional guidance and checklists:
  - `references/guide.md`
  - `references/evaluation-checklist.md`
- Tests:
  - `tests/test_pubmed_search.py`
- External documentation:
  - PubMed E-utilities: https://www.ncbi.nlm.nih.gov/books/NBK25504/

Related Skills

two-sample-mr-research-planner

53
from aipoch/medical-research-skills

Generates complete two-sample Mendelian randomization (MR) research designs from a user-provided research direction. Use when users want to design, plan, or build a study using two-sample MR to test causal relationships. Triggers:"design a two-sample MR study", "build a publishable MR paper", "test whether this biomarker causally affects this disease", "generate Lite/Standard/Advanced MR plans", "screen multiple exposures with MR", "bidirectional MR design", "causal inference using GWAS summary statistics", or "I want to study X and Y using MR". Always outputs four workload configurations (Lite / Standard / Advanced / Publication+) with a recommended primary plan, step-by-step workflow, figure plan, validation strategy, minimal executable version, and publication upgrade path.

research-proposal-generator

53
from aipoch/medical-research-skills

Generates a comprehensive research proposal design based on input literature, including hypothesis, mechanism verification, and budget. Use when the user wants to design a research project from a paper.

research-grants

53
from aipoch/medical-research-skills

Write competitive research proposals for NSF, NIH, DOE, DARPA, and Taiwan's NSTC when you need agency-compliant narratives, budgets, and review-criteria alignment for a specific solicitation/FOA/BAA.

non-tumor-ml-research-planner

53
from aipoch/medical-research-skills

Generates complete non-tumor biomedical machine learning research designs from a user-provided research direction. Always use this skill when users want to plan bioinformatics + ML papers for non-cancer diseases (metabolic, cardiovascular, kidney, inflammatory, autoimmune, infectious, neurological, endocrine, wound healing, chronic multifactor), design diagnostic biomarker studies, combine GEO datasets with feature selection and ML modeling, or generate Lite/Standard/Advanced/Publication+ workload plans. Trigger for:"non-tumor ML study", "bioinformatics paper outside oncology", "key genes and diagnostic model for a disease", "pyroptosis/ferroptosis/senescence/autophagy + disease", "GEO datasets + machine learning", "RF + LASSO diagnostic model", "DEG + feature selection + validation", "immune infiltration + biomarker", "non-cancer biomarker paper". Trigger even for casual phrasings like "I want to study X using machine learning", "help me design a non-tumor bioinformatics paper", or "how do I build a diagnostic model for disease Y".

network-tox-docking-research-planner

53
from aipoch/medical-research-skills

Generates complete network toxicology + molecular docking research designs from a user-provided toxicant and disease/phenotype. Always use this skill when users want to investigate how an environmental toxicant, endocrine disruptor, heavy metal, food contaminant, pharmaceutical residue, or consumer product chemical may contribute to a disease through shared molecular targets, hub genes, pathways, and docking evidence. Trigger for:"network toxicology study", "toxicology mechanism paper", "target prediction + PPI + docking", "environmental pollutant and disease mechanism", "hub genes and docking for toxicant", "Lite/Standard/Advanced toxicology plan", "CTD + SwissTargetPrediction + GeneCards + STRING", "CB-Dock2 docking study", "triclosan/BPA/cadmium/PFAS + disease". Also triggers for Chinese phrasings:"网络毒理学研究设计"、"毒物机制论文"、"靶点预测+PPI+对接"、"环境污染物与疾病机制". Trigger even for casual phrasings like "I want to study how chemical X affects disease Y" or "help me design a toxicology paper". Always output four workload configurations (Lite / Standard / Advanced / Publication+) with a recommended primary plan, step-by-step workflow, figure plan, validation strategy, minimal executable version, and publication upgrade path.

clinic-research-design

53
from aipoch/medical-research-skills

Generates a structured prompt framework for clinical study protocols. Supports Diagnostic, Efficacy, Etiology, and Prognosis studies. Calculates sample size and provides logic guides for LLMs.

basic-research-design

53
from aipoch/medical-research-skills

A biomedical research topic designer that generates progressive experimental subtitles and detailed research outlines based on a given subject. Use when the user wants to design a research proposal, outline experiments for a topic, or structure a biomedical study.

search-pubmed

53
from aipoch/medical-research-skills

An intelligent tool for precision medical literature search using PubMed's E-utilities API.

meta-search-builder

53
from aipoch/medical-research-skills

Medical literature search strategy generator. Given a user's natural-language description (e.g., meta-analysis topic, PICOS elements, research question), automatically extract medical entities (disease, intervention, population, outcomes) and generate professional search queries for seven major databases (PubMed, Cochrane, Embase, Web of Science, CNKI, Wanfang, VIP). Useful for developing search strategies for systematic reviews and meta-analyses.

market-research-report-generator

53
from aipoch/medical-research-skills

Generates professional market research reports by analyzing business intent, decision levels, and conducting multi-source data retrieval (Web, PubMed, Clinical Trials).

knowledge-base-search

53
from aipoch/medical-research-skills

Search and locate relevant content within a local knowledge base (files, indices, or PageIndex). Use when you need verifiable citations (file + page/paragraph) to support answers from local sources.

file-search

53
from aipoch/medical-research-skills

Perform fast file name and content searches with ripgrep (rg); use it when you need to locate files by glob/regex, find keywords across directories, or replace common find/grep workflows.