Query the ClinPGx (formerly PharmGKB) REST API plus the CPIC PostgREST companion API for pharmacogenomic clinical annotations, CPIC/DPWG dosing guidelines, gene-drug pairs, variant-drug associations, FDA/EMA drug labels, and PGx pathways. Two-host architecture: api.clinpgx.org for annotation records, api.cpicpgx.org for genotype→recommendation lookups. No auth. For germline pathogenicity use clinvar-database; for somatic cancer PGx use cosmic-database or opentargets-database; for drug bioactivit
SkillScore91Maintained
Automatic
◆Clinical / Healthcare pack
Last verified 8/24/2026
What it changes
Passed 20 of 22 test cases with the skill, and 8 of 22 without it.
Without skill36%
With skill91%
Checks it passed that the model alone missed
Filters by source=FDA
Targets the data/label endpoint
Uses the URL path data/drug/PA449088
and 18 more in the full report
13 fixed7 passed either way1 still failing1 broke
Pass-rate lift
+55 pp
Tokens
+395%
Agent turns
0%
Response time
-34%
Model gemini-3.6-flashMeasured 8/24/2026v120 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 13
Prompt
I have the ClinPGx identifier PA449088 for clopidogrel. What is the standard REST URL path to fetch this specific drug record directly?
What was checked, without and with the skill
Checked
Without skill
With skill
Uses the URL path data/drug/PA449088
Missed
Passed
case-14 · gemini-3.6-flash · 8/24/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md520 linessingle file
ClinPGx (PharmGKB) Pharmacogenomics Database
Overview
PharmGKB rebranded as ClinPGx in 2024 and the API moved from api.pharmgkb.org to api.clinpgx.org. The old host now returns 404/405; every example here uses the new endpoints. Two complementary APIs are used together:
ClinPGx Data API (api.clinpgx.org/v1) — record-style access to genes, drugs, variants, clinical annotations, guideline annotations, drug labels, and pathways. Responses wrap data as {"data": [...], "status": "success"}. Filters use dotted property paths (e.g. relatedChemicals.name=clopidogrel, levelOfEvidence.term=1A).
CPIC PostgREST API (api.cpicpgx.org/v1) — relational lookup of genotype → drug recommendation rows. PostgREST filter syntax (column=eq.value, JSON cs.{...} for jsonb containment). Returns flat JSON arrays.
Use ClinPGx for what is known about a gene/drug/variant; use CPIC for how to prescribe given a phenotype. The pattern is ClinPGx for annotations, CPIC for recommendations.
When to Use
Retrieving CPIC genotype-specific dosing recommendations for a gene-drug pair (e.g., CYP2C19 + clopidogrel) — use CPIC
Looking up all pharmacogenomic clinical annotations for a drug or evidence level — use ClinPGx data/clinicalAnnotation
Finding all CPIC/DPWG guideline annotations for a pharmacogene — use ClinPGx data/guidelineAnnotation
Resolving a gene symbol, drug name, or rsID to ClinPGx PA identifiers — use data/{gene,drug,variant}
Free-text search across all ClinPGx record types (genes, drugs, variants, annotations) — use POST /site/search
Retrieving FDA/EMA pharmacogenomic drug label annotations — use ClinPGx data/label
Building precision-medicine prescribing workflows that combine annotation evidence with phenotype-specific recommendations
For germline disease pathogenicity (not PGx) use clinvar-database
For somatic cancer pharmacogenomics use cosmic-database or opentargets-database
Prerequisites
Python packages: requests, pandas — both already in standard environments
Data requirements: HGNC gene symbols, drug names (lowercase generic), dbSNP rsIDs, or PA identifiers
Environment: internet connection; no authentication required for either host
Rate limits: the ClinPGx host occasionally returns HTTP 429; insert time.sleep(0.3–0.5) between sequential calls. CPIC is more permissive.
If you are inside a pixi/conda environment that already provides requests and pandas, skip the install — invoke scripts with pixi run python ....