skills/tooluniverse-clinical-trial-design/SKILL.md
Strategic clinical trial design feasibility assessment. Analyzes 6 dimensions (endpoint, population, comparator, effect size, duration, regulatory pathway) using precedent trials and FDA guidance. Produces enrollment projections, endpoint recommendations, and approval-pathway analysis. Use for trial-protocol design, power/sample-size estimation, comparator selection, and FDA submission strategy. Driven by precedent-based reasoning rather than first-principles math.
npx skillsauth add mims-harvard/tooluniverse tooluniverse-clinical-trial-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematically assess clinical trial feasibility by analyzing 6 research dimensions. Produces comprehensive feasibility reports with quantitative enrollment projections, endpoint recommendations, and regulatory pathway analysis.
IMPORTANT: Always use English terms in tool calls (drug names, disease names, biomarker names), even if the user writes in another language. Only try original-language terms as a fallback if English returns no results. Respond in the user's language.
Trial design starts with the question, not the methods. Answer these four questions before running any tools — they determine everything else:
These four answers determine sample size, duration, and trial design. Look them up from precedent trials and FDA guidance — do not derive them from first principles.
LOOK UP DON'T GUESS: Never assume what the standard of care is for an indication — look it up with DrugBank and FDA tools. Never assume an endpoint is FDA-accepted — verify with search_clinical_trials precedents and OpenFDA_get_approval_history. Never estimate prevalence from memory — use OpenTargets, gnomAD, or COSMIC.
DO NOT show tool outputs to user. Instead:
[INDICATION]_trial_feasibility_report.md FIRST| Grade | Symbol | Criteria | Examples | |-------|--------|----------|----------| | A | 3-star | Regulatory acceptance, multiple precedents | FDA-approved endpoint in same indication | | B | 2-star | Clinical validation, single precedent | Phase 3 trial in related indication | | C | 1-star | Preclinical or exploratory | Phase 1 use, biomarker validation ongoing | | D | 0-star | Proposed, no validation | Novel endpoint, no precedent |
Weighted composite score:
Interpretation: >=75 HIGH (proceed), 50-74 MODERATE (additional validation), <50 LOW (de-risking required)
Apply when users:
Trigger phrases: "clinical trial design", "trial feasibility", "enrollment projections", "endpoint selection", "trial planning", "Phase 1/2 design", "basket trial", "biomarker trial"
Execute 6 parallel research dimensions. See STUDY_DESIGN_PROCEDURES.md for detailed steps per path.
Trial Design Query
|
+-- PATH 1: Patient Population Sizing
| Disease prevalence, biomarker prevalence, geographic distribution,
| eligibility criteria impact, enrollment projections
|
+-- PATH 2: Biomarker Prevalence & Testing
| Mutation frequency, testing availability, turnaround time,
| cost/reimbursement, alternative biomarkers
|
+-- PATH 3: Comparator Selection
| Standard of care, approved comparators, historical controls,
| placebo appropriateness, combination therapy
|
+-- PATH 4: Endpoint Selection
| Primary endpoint precedents, FDA acceptance history,
| measurement feasibility, surrogate vs clinical endpoints
|
+-- PATH 5: Safety Endpoints & Monitoring
| Mechanism-based toxicity, class effects, organ-specific monitoring,
| DLT history, safety monitoring plan
|
+-- PATH 6: Regulatory Pathway
Regulatory precedents (505(b)(1), 505(b)(2)), breakthrough therapy,
orphan drug, fast track, FDA guidance
Create [INDICATION]_trial_feasibility_report.md with all 14 sections. See REPORT_TEMPLATE.md for full templates with fillable fields.
OpenTargets_get_disease_id_description_by_name - Disease lookupOpenTargets_get_diseases_phenotypes_by_target_ensembl - Prevalence dataClinVar_search_variants - Biomarker mutation frequencygnomad_search_variants - Population allele frequenciesPubMed_search_articles - Epidemiology literaturesearch_clinical_trials - Enrollment feasibility from past trialsClinVar_get_variant_details - Variant pathogenicityCOSMIC_search_mutations - Cancer-specific mutation frequenciesgnomad_get_variant - Population geneticsPubMed_search_articles - CDx test performance, guidelinesdrugbank_get_drug_basic_info_by_drug_name_or_id - Drug infodrugbank_get_indications_by_drug_name_or_drugbank_id - Approved indicationsdrugbank_get_pharmacology_by_drug_name_or_drugbank_id - MechanismFDA_OrangeBook_search_drug - Generic availabilityOpenFDA_get_approval_history - Approval detailssearch_clinical_trials - Historical control datasearch_clinical_trials - Precedent trials, endpoints usedPubMed_search_articles - FDA acceptance history, endpoint validationOpenFDA_get_approval_history - Approved endpoints by indicationdrugbank_get_pharmacology_by_drug_name_or_drugbank_id - Mechanism toxicityFDA_get_warnings_and_cautions_by_drug_name - FDA black box warningsFAERS_search_reports_by_drug_and_reaction - Real-world adverse eventsFAERS_count_reactions_by_drug_event - AE frequencyFAERS_count_death_related_by_drug - Serious outcomesPubMed_search_articles - DLT definitions, monitoring strategiesOpenFDA_get_approval_history - Precedent approvalsPubMed_search_articles - Breakthrough designations, FDA guidancesearch_clinical_trials - Regulatory precedents (accelerated approval)from tooluniverse import ToolUniverse
tu = ToolUniverse(use_cache=True)
tu.load_tools()
# Example: EGFR+ NSCLC trial feasibility
# Step 1: Disease prevalence
disease_info = tu.tools.OpenTargets_get_disease_id_description_by_name(
diseaseName="non-small cell lung cancer"
)
prevalence = tu.tools.OpenTargets_get_diseases_phenotypes(
efoId=disease_info['data']['id']
)
# Step 2: Biomarker prevalence
variants = tu.tools.ClinVar_search_variants(gene="EGFR", significance="pathogenic")
# Step 3: Precedent trials
trials = tu.tools.search_clinical_trials(
condition="EGFR positive non-small cell lung cancer",
status="completed", phase="2"
)
# Step 4: Standard of care comparator
soc = tu.tools.FDA_OrangeBook_search_drug(ingredient="osimertinib")
# Compile into feasibility report...
See WORKFLOW_DETAILS.md for the complete 6-path Python workflow and use case examples.
When ToolUniverse tools return limited trial metadata, use the ClinicalTrials.gov v2 API directly:
import requests, pandas as pd
# Search with pagination (all lung cancer immunotherapy trials with results)
all_studies = []
token = None
while True:
params = {"query.cond": "lung cancer", "query.intr": "immunotherapy",
"filter.overallStatus": "COMPLETED", "filter.results": "WITH_RESULTS", "pageSize": 100}
if token: params["pageToken"] = token
resp = requests.get("https://clinicaltrials.gov/api/v2/studies", params=params).json()
all_studies.extend(resp.get("studies", []))
token = resp.get("nextPageToken")
if not token: break
# Extract structured data
rows = []
for s in all_studies:
proto = s.get("protocolSection", {})
rows.append({
"nctId": proto.get("identificationModule", {}).get("nctId"),
"title": proto.get("identificationModule", {}).get("briefTitle"),
"enrollment": proto.get("designModule", {}).get("enrollmentInfo", {}).get("count"),
"phase": proto.get("designModule", {}).get("phases", [None])[0] if proto.get("designModule", {}).get("phases") else None,
})
df = pd.DataFrame(rows)
# FDA drug approval history
drug = "pembrolizumab"
fda = requests.get(f"https://api.fda.gov/drug/drugsfda.json?search=openfda.brand_name:{drug}&limit=10").json()
See tooluniverse-data-wrangling skill for pagination, error handling, and bulk download patterns.
| File | Content |
|------|---------|
| REPORT_TEMPLATE.md | Full 14-section report template with fillable fields |
| STUDY_DESIGN_PROCEDURES.md | Detailed steps for each of the 6 research paths |
| WORKFLOW_DETAILS.md | Complete Python example workflow and 5 use case summaries |
| BEST_PRACTICES.md | Best practices, common pitfalls, output format requirements |
| EXAMPLES.md | Additional examples |
| QUICK_START.md | Quick start guide |
tools
Post-market safety surveillance and recall/adverse-event RETRIEVAL across the full spectrum of FDA-regulated products that are NOT covered by the drug-AE signal skills: medical devices, food / dietary supplements / cosmetics, veterinary drugs, and drug supply (shortages). Orchestrates openFDA endpoints (MAUDE device adverse events + device recalls + 510(k), CAERS food/supplement/ cosmetic adverse events, veterinary adverse events, drug shortages, and cross-product enforcement/recall reports). USE WHEN the user asks: "are there adverse events for [device / pacemaker / infusion pump / insulin pump]", "device recalls for [firm/product]", "supplement / vitamin / cosmetic adverse reactions", "is [drug] in shortage", "what injectables are on shortage", "veterinary / animal adverse events for [drug] in [dog/cat/horse]", "food recall for listeria", "MAUDE report for [device]", "CAERS reactions for [brand]". DO NOT USE for drug adverse-event SIGNAL detection or disproportionality (PRR / ROR / IC) or drug-AE association scoring — that is `tooluniverse-pharmacovigilance` / `tooluniverse-adverse-event-detection`. This skill is multi-product surveillance and retrieval, not drug-AE statistical signal mining.
tools
--- name: tooluniverse-phewas description: Cross-ancestry / cross-biobank phenome-wide association (PheWAS) and replication. Given ONE variant (rsID) or ONE gene, look up every phenotype it associates with across European/UK (UKB-TOPMed), Finnish (FinnGen), Japanese (BioBank Japan), and Taiwanese (TPMI) biobanks, plus exome-wide gene-burden PheWAS (Genebass), then judge whether an association replicates across ancestries or is population-specific. Use whenever the user asks "what else is this va
tools
Dereplicate a putative natural product and assign its chemical taxonomy. Use to answer "is [compound] a known natural product", "what microbe/organism produces [compound]", "what chemical class is [compound]", "dereplicate this metabolite (by formula/exact mass/InChIKey/SMILES)", or "classify this molecule into ChemOnt". Searches NPAtlas for known microbial natural products (producing organism + literature reference), assigns the ChemOnt kingdom→superclass→class→subclass hierarchy via ClassyFire, resolves systematic IUPAC names to structure via OPSIN, and cross-references identity in PubChem. NOT for general drug/compound identity or ADMET (use tooluniverse-chemical-compound-retrieval / tooluniverse-small-molecule-discovery) and NOT for metabolomics pathway/enrichment analysis (use tooluniverse-metabolomics skills).
tools
Genome-ASSEMBLY discovery, QC, and replicon mapping for any organism (bacteria, archaea, fungi, and beyond) using NCBI Datasets. Resolves an organism name or taxid to assemblies, picks the reference/representative or best-quality assembly, pulls assembly QC metrics (total length, contig/scaffold N50, contig count, GC%, assembly level, RefSeq category), enumerates chromosomes and plasmids via per-replicon sequence reports, and compares candidate assemblies on quality. Use for "what genomes are available for [organism]", "assembly stats / N50 / GC content for [GCF_/GCA_ accession]", "how many plasmids does [strain] have", "compare assemblies for [species]", "find the reference genome for [taxon]", "is this assembly Complete Genome or just contigs". NOT for gene-level orthology/synteny (use tooluniverse-comparative-genomics), plant gene structure (use tooluniverse-plant-genomics), de novo assembly from raw reads (no tool exists), or taxonomy-only name/lineage lookups.