Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Search and retrieve clinical practice guidelines across 12+ authoritative sources including NICE, WHO, ADA, AHA/ACC, NCCN, SIGN, CPIC, CMA, CTFPHC, GIN, MAGICapp, PubMed, EuropePMC, TRIP, and OpenAlex. Covers disease management, cardiology, oncology, diabetes, pharmacogenomics, and more. Use when users ask about clinical guidelines, treatment recommendations, standard of care, evidence-based medicine, or drug-gene dosing recommendations.
.claude/skills/tooluniverse-clinical-guidelines/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✗→✓ | ▲ Improved | — | — |
| case-22 | ✗→✓ | ▲ Improved | — | — |
Search and retrieve evidence-based clinical practice guidelines from 12+ authoritative sources spanning 41 tools. Covers disease management guidelines, society recommendations, pharmacogenomics guidance, and patient resources.
KEY PRINCIPLES:
Apply when user asks:
Before searching, verify tools load:
pythonfrom tooluniverse import ToolUniverse tu = ToolUniverse() tu.load_tools() assert hasattr(tu.tools, 'NICE_Clinical_Guidelines_Search')
Correct call pattern (use either approach):
python# Option A: direct attribute access result = tu.tools.NICE_Clinical_Guidelines_Search(query='diabetes', limit=5) # Option B: run_one_function result = tu.run_one_function({'name': 'NICE_Clinical_Guidelines_Search', 'arguments': {'query': 'diabetes', 'limit': 5}})
Determine which tools to use based on the user's question:
| Query type | Primary tools | Secondary tools | |-----------|---------------|-----------------| | General disease guideline | NICE, TRIP, GIN | PubMed, EuropePMC, CMA | | Cardiology | AHA_ACC_search_guidelines, AHA_list_guidelines | NICE, TRIP | | Oncology | NCCN_search_guidelines, NCCN_list_patient_guidelines | NICE, GIN | | Diabetes / endocrinology | ADA_search_standards, ADA_list_standards_sections | NICE, SIGN | | Pharmacogenomics | CPIC_get_gene_drug_pairs, CPIC_list_guidelines | CPIC_get_gene_info | | Canadian guidelines | CMA_Guidelines_Search, CTFPHC_search_guidelines | — | | Scottish/UK guidelines | SIGN_search_guidelines, NICE | CMA | | International guidelines | GIN_Guidelines_Search | OpenAlex, EuropePMC | | Living guidelines | MAGICapp_list_guidelines | GIN | | Full-text retrieval | NICE_Guideline_Full_Text, WHO_Guideline_Full_Text, AHA_ACC_get_guideline | — |
NICE_Clinical_Guidelines_Search ⭐ (Best general source)
query (string, required), limit (integer, required)[{title, url, summary, content, date}, ...]result = tu.tools.NICE_Clinical_Guidelines_Search(...); isinstance(result, list)NICE_Clinical_Guidelines_Search(query='type 2 diabetes management', limit=5)GIN_Guidelines_Search ⭐ (Best multi-society aggregator)
query (string, required), limit (integer, required)[{title, url, description, source, organization}, ...]GIN_Guidelines_Search(query='colorectal cancer screening', limit=5)TRIP_Database_Guidelines_Search
query (string, required), limit (integer, required), search_type (string, required — must be 'guidelines')[{title, url, description, content, publication}, ...]TRIP_Database_Guidelines_Search(query='diabetes', limit=5, search_type='guidelines')WHO_Guidelines_Search ⚠️ (Limited relevance)
query (string, required), limit (integer, required)[{title, url, description, content, source}, ...]WHO_Guidelines_Search(query='diabetes', limit=5)CMA_Guidelines_Search (Canadian)
query (string, required), limit (integer, required)[{title, url, description, content, date}, ...]CMA_Guidelines_Search(query='diabetes', limit=5)SIGN_search_guidelines (Scottish/UK)
query (string, required — NOT q), limit (integer, optional)[{number, title, topic, published, url}, ...]SIGN_search_guidelines(query='diabetes', limit=5)CTFPHC_search_guidelines (Canadian prevention)
query (string, required — NOT q), limit (integer, optional)[{title, url, year}, ...]CTFPHC_search_guidelines(query='colorectal cancer', limit=5)OpenAlex_Guidelines_Search
query (string, required), limit (integer, required), year_from (integer, optional), year_to (integer, optional)[{title, authors, institutions, year, doi}, ...]OpenAlex_Guidelines_Search(query='diabetes management', limit=5) (year params optional)OpenAlex_Guidelines_Search(query='diabetes management', limit=5, year_from=2020, year_to=2024)EuropePMC_Guidelines_Search
query (string, required), limit (integer, required)[{title, pmid, pmcid, doi, authors}, ...]EuropePMC_Guidelines_Search(query='diabetes guideline', limit=5)PubMed_Guidelines_Search
query (string, required), limit (integer, required), api_key (string, optional — use '' for anonymous)[{title, pmid, pmcid, doi}, ...]PubMed_Guidelines_Search(query='diabetes guideline', limit=5) (api_key optional)ADA Standards of Care (Diabetes)
ADA_list_standards_sections() — No parameters. Lists all 19 sections of ADA Standards of Care (2026).
ADA_search_standards(query, limit) — Search within ADA Standards.
[{title, ...}]'glycemic targets', 'pharmacologic approaches', 'cardiovascular risk''first-line medication metformin'ADA_get_standards_section(section_number) — Get metadata for a specific section.
AHA/ACC Cardiology
AHA_ACC_search_guidelines(query, limit) — Search AHA/ACC guidelines.
[{title, ...}]AHA_ACC_search_guidelines(query='heart failure management', limit=5)AHA_list_guidelines(limit) / ACC_list_guidelines(limit) — List recent guidelines.
AHA_ACC_get_guideline(pmid) — Get full text of AHA/ACC guideline by PMID (via PMC).
AHA_ACC_get_guideline(pmid='37952199')NCCN Oncology
NCCN_list_patient_guidelines(limit) — List all NCCN patient guideline resources (up to 74).
[{cancer_type, url, category}, ...]cancer_type, NOT titler[i]['cancer_type'] to get the cancer name, r[i]['url'] for URLNCCN_search_guidelines(query, limit) — Search NCCN publications.
[{title, ...}]NCCN_get_patient_guideline(url) — Get full text of a patient guideline.
url (string) — the full URL from NCCN_list_patient_guidelinesNCCN_get_patient_guideline(url='https://www.nccn.org/patientresources/patient-resources/guidelines-for-patients/guidelines-for-patients-details?patientGuidelineId=61')MAGICapp Living Guidelines
MAGICapp_list_guidelines(limit) — List living guidelines.
r.get('data', []) gives the listname, NOT title; use item['name'] for guideline titleitem['guidelineId'] for follow-up callsMAGICapp_get_guideline(guideline_id) — Get full guideline details. MAGICapp_get_recommendations(guideline_id) — Get recommendations for a guideline. MAGICapp_get_sections(guideline_id) — Get sections.
NCI Resources ⚠️ (Research tools catalog, NOT clinical guidelines)
NCI_search_cancer_resources(q, size) — Search NCI Research Resources for Researchers (R4R).
q (NOT query), size (NOT limit — use size for result count)r.get('data', {}).get('results', []) gives the listNCI_search_cancer_resources(q='colorectal cancer screening', size=5)Recommended workflow for gene-drug queries:
Step 1: CPIC_get_gene_info(genesymbol='GENE') → gene overview
Step 2: CPIC_get_gene_drug_pairs(genesymbol='GENE') → all drug pairs + CPIC levels
Step 3: CPIC_list_guidelines(limit=50) → find guideline_id for gene+drug
Step 4: CPIC_get_recommendations(guideline_id=N) → specific dosing recommendations
Step 5: CPIC_get_alleles(genesymbol='GENE') → allele definitionsAll CPIC tools return dict-wrapped: use r.get('data', []) to access results.
CPIC_get_gene_info(genesymbol) — Gene overview.
CPIC_get_gene_info(genesymbol='CYP2D6')CPIC_get_gene_drug_pairs(genesymbol, limit) — All gene-drug interactions with CPIC levels.
data = list of {genesymbol, drugid, cpiclevel, pgkbcalevel, usedforrecommendation, ...}cpiclevel A/B/C/D: A = strongest evidenceCPIC_list_guidelines(limit) — All CPIC guidelines.
data = list of {name: 'GENE and Drug', guidelineId, url, ...}guidelineId for a specific gene+drug pairCPIC_get_recommendations(guideline_id, limit) — Get dosing recommendations.
guideline_id (integer), NOT genesymbolCPIC_list_guidelines, then call thisCPIC_get_recommendations(guideline_id=100416, limit=20)CPIC_get_alleles(genesymbol, limit) — Allele definitions.
clinicalfunctionalstatus field (NOT functionalstatus which is always null)CPIC_get_alleles(genesymbol='CYP2D6', limit=10)CPIC_get_drug_info(drugname) — Drug details.
CPIC_get_drug_info(drugname='codeine')CPIC_search_gene_drug_pairs(genesymbol, limit) — Search gene-drug pairs.
genesymbol='eq.CYP2D6' (not just 'CYP2D6')CPIC_search_gene_drug_pairs(genesymbol='eq.CYP2D6', limit=5)NICE_Guideline_Full_Text(url) — Get NICE guideline text.
.../chapter/Recommendations)WHO_Guideline_Full_Text(url) — Get WHO guideline text.
AHA_ACC_get_guideline(pmid) — Get AHA/ACC guideline text via PMC.
# Clinical Guidelines: [Topic]
## Summary
[2-3 sentence overview of what guidelines say]
## Key Recommendations
### [Source 1: NICE/ADA/NCCN/etc.]
[Key recommendations with evidence grade, URL]
### [Source 2]
[Key recommendations]
## Pharmacogenomics (if applicable)
[CPIC phenotype-to-recommendation table]
## References
[All URLs cited]CPIC returns multiple records for the same phenotype (one per allele combination). Before presenting:
pythonseen_phenotypes = set() unique_recs = [] for rec in recs: phenotype = rec.get('phenotype') or rec.get('lookupkey', '') if phenotype not in seen_phenotypes: seen_phenotypes.add(phenotype) unique_recs.append(rec)
query, limit) — UK, high qualityquery, limit) — multi-society aggregator ⭐ best for breadthquery, limit, search_type='guidelines')CPIC_get_gene_info(genesymbol) → overviewCPIC_get_gene_drug_pairs(genesymbol) → all drugs with CPIC levelsCPIC_list_guidelines(limit=50) → find guideline_id for target gene+drugCPIC_get_recommendations(guideline_id=N) → specific recs (deduplicate by phenotype)'pharmacologic approaches' instead of 'metformin first-line')| Tool | CORRECT | WRONG | |------|---------|-------| | NICE_Clinical_Guidelines_Search | query='...', limit=N (both required) | ❌ q='...' | | TRIP_Database_Guidelines_Search | search_type='guidelines' required | ❌ omitting search_type | | OpenAlex_Guidelines_Search | year_from/year_to are optional | ❌ treating as required | | PubMed_Guidelines_Search | api_key is optional (omit or use '') | ❌ treating api_key as required | | GIN_Guidelines_Search | limit=N required | ❌ omitting limit | | CMA_Guidelines_Search | limit=N required | ❌ omitting limit | | SIGN_search_guidelines | query='...' (NOT q) | ❌ q='...' | | CTFPHC_search_guidelines | query='...' (NOT q) | ❌ q='...' | | NCI_search_cancer_resources | q='...', size=N (NOT limit) | ❌ query=... or limit=N | | NCCN_list_patient_guidelines | field cancer_type (not title) | ❌ .get('title') | | NCCN_get_patient_guideline | url='https://...' (full URL string) | ❌ integer patientGuidelineId | | MAGICapp_list_guidelines | r.get('data', []) for list | ❌ accessing r directly as list | | MAGICapp_ items | field `name` (not `title`) | ❌ `.get('title')` | | CPIC_ tools | r.get('data', []) for list | ❌ accessing r directly | | CPIC_get_recommendations | guideline_id=N (integer) | ❌ genesymbol='CYP2D6' | | CPIC_search_gene_drug_pairs | genesymbol='eq.CYP2D6' (PostgREST) | ❌ genesymbol='CYP2D6' | | CPIC_get_alleles | use clinicalfunctionalstatus field | ❌ functionalstatus (always null) | | NCI_search_cancer_resources | r.get('data',{}).get('results',[]) | ❌ r.get('data', []) |
| Tool | Return type | Access pattern | |------|-------------|----------------| | NICE_Clinical_Guidelines_Search | list (raw) | result[0]['title'] | | GIN_Guidelines_Search | list (raw) | result[0]['title'] | | TRIP_Database_Guidelines_Search | list (raw) | result[0]['title'] | | WHO_Guidelines_Search | list (raw) | result[0]['title'] | | EuropePMC_Guidelines_Search | list (raw) | result[0]['title'] | | PubMed_Guidelines_Search | list (raw) | result[0]['title'] | | CMA_Guidelines_Search | list (raw) | result[0]['title'] | | SIGN_search_guidelines | list (raw) | result[0]['title'] | | CTFPHC_search_guidelines | list (raw) | result[0]['title'] | | ADA_search_standards | list (raw) | result[0]['title'] | | AHA_ACC_search_guidelines | list (raw) | result[0]['title'] | | NCCN_search_guidelines | list (raw) | result[0]['title'] | | NCCN_list_patient_guidelines | list (raw) | result[0]['cancer_type'] | | OpenAlex_Guidelines_Search | list (raw) | result[0]['title'] | | CPIC_list_guidelines | dict → data | r.get('data', [])[0]['name'] | | CPIC_get_gene_drug_pairs | dict → data | r.get('data', [])[0]['genesymbol'] | | CPIC_get_recommendations | dict → data | r.get('data', [])[0] | | CPIC_get_gene_info | dict → data | r.get('data', {}) | | MAGICapp_list_guidelines | dict → data | r.get('data', [])[0]['name'] | | NCI_search_cancer_resources | dict nested | r.get('data',{}).get('results',[])[0]['title'] |
.../chapter/Recommendations) may need direct URL| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-25 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-24 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 17 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +32 percentage points is the difference between those two pass rates over the 17 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.