
Clinical Trial Matching
FreeAI-driven matching for precision oncology trials.
Free · Opens the source repo
What Clinical Trial Matching does
The Clinical Trial Matching skill provides a systematic approach to connect patients with relevant clinical trials based on their unique molecular profiles and clinical characteristics. By leveraging data from ClinicalTrials.gov, the EU CTIS register, and the ISRCTN registry, this skill generates a prioritized list of clinical trial recommendations tailored to the patient's specific biomarkers, disease stage, and treatment history. The skill emphasizes a patient-centric methodology, ensuring that each recommendation is grounded in the individual patient's profile, thereby enhancing the relevance and applicability of the trial matches.
The matching process begins with a thorough standardization of the patient profile, resolving disease names and molecular alterations to standardized identifiers. Following this, the skill performs a broad trial discovery based on the patient's disease and molecular specifics, utilizing multiple databases to ensure comprehensive coverage. The trials are then characterized by their eligibility criteria, intervention types, and geographic locations, allowing for a detailed assessment of each option.
One of the key features of this skill is its evidence-graded recommendations, which classify trials based on the strength of the supporting data. Each trial match is scored quantitatively, providing a clear ranking that helps healthcare providers and patients make informed decisions. The skill also includes actionable outputs, such as contact information and enrollment status, ensuring that the next steps are clear and accessible.
This skill is particularly useful for oncologists, clinical researchers, and patients seeking targeted treatment options in the context of precision medicine. By streamlining the trial matching process, it aids in the identification of suitable clinical trials that may offer new therapeutic avenues for patients with complex conditions.
When to use it
Use this skill when you need to identify clinical trials for patients with specific cancer types and molecular alterations, especially in precision oncology contexts.
When not to use it
This skill is not suitable for general disease research or when the focus is solely on variant interpretation without trial options.
What you can build with it
Finding Trials for Specific Mutations
A patient with NSCLC and an EGFR L858R mutation can quickly find targeted trials that match their genetic profile.
Exploring Options After Treatment Failure
For patients who have progressed on previous therapies, such as osimertinib, the skill identifies new trial opportunities tailored to their treatment history.
Searching for Trials by Location
Patients seeking clinical trials near their residence can input their geographic location to filter relevant options.
How to install Clinical Trial Matching
View source1. Install with the skills CLI
npx skills add mims-harvard/tooluniverse/tooluniverse-clinical-trial-matching --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by mims-harvardClinical Trial Matching for Precision Medicine
Transform patient molecular profiles and clinical characteristics into prioritized clinical trial recommendations. Searches ClinicalTrials.gov and cross-references with molecular databases (CIViC, OpenTargets, ChEMBL, FDA) to produce evidence-graded, scored trial matches.
KEY PRINCIPLES:
- Report-first approach - Create report file FIRST, then populate progressively
- Patient-centric - Every recommendation considers the individual patient's profile
- Molecular-first matching - Prioritize trials targeting patient's specific biomarkers
Molecular Matching Priority
Match patients to trials by molecular profile FIRST (specific mutations), then by disease stage, then by prior treatments. A patient with EGFR L858R should match to EGFR-targeted trials regardless of other factors. 4. Evidence-graded - Every recommendation has an evidence tier (T1-T4) 5. Quantitative scoring - Trial Match Score (0-100) for every trial 6. Eligibility-aware - Parse and evaluate inclusion/exclusion criteria 7. Actionable output - Clear next steps, contact info, enrollment status 8. Source-referenced - Every statement cites the tool/database source 9. Completeness checklist - Mandatory section showing analysis coverage 10. English-first queries - Always use English terms in tool calls. Respond in user's language
LOOK UP, DON'T GUESS
When uncertain about any scientific fact, SEARCH databases first rather than reasoning from memory. A database-verified answer is always more reliable than a guess.
COMPUTE, DON'T DESCRIBE
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.
When to Use
Apply when user asks:
- "What clinical trials are available for my NSCLC with EGFR L858R?"
- "Patient has BRAF V600E melanoma, failed ipilimumab - what trials?"
- "Find basket trials for NTRK fusion"
- "Breast cancer with HER2 amplification, post-CDK4/6 inhibitor trials"
- "KRAS G12C colorectal cancer clinical trials"
- "Immunotherapy trials for TMB-high solid tumors"
- "Clinical trials near Boston for lung cancer"
- "What are my options after failing osimertinib for EGFR+ NSCLC?"
NOT for (use other skills instead):
- Single variant interpretation without trial focus -> Use
tooluniverse-cancer-variant-interpretation - Drug safety profiling -> Use
tooluniverse-adverse-event-detection - Target validation -> Use
tooluniverse-drug-target-validation - General disease research -> Use
tooluniverse-disease-research
Input Parsing
Required Input
- Disease/cancer type: Free-text disease name (e.g., "non-small cell lung cancer", "melanoma")
Strongly Recommended
- Molecular alterations: One or more biomarkers (e.g., "EGFR L858R", "KRAS G12C", "PD-L1 50%", "TMB-high")
- Stage/grade: Disease stage (e.g., "Stage IV", "metastatic", "locally advanced")
- Prior treatments: Previous therapies and outcomes (e.g., "failed platinum chemotherapy", "progressed on osimertinib")
Optional
- Performance status: ECOG or Karnofsky score
- Geographic location: City/state for proximity filtering
- Trial phase preference: I, II, III, IV, or "any"
- Intervention type: drug, biological, device, etc.
- Recruiting status preference: recruiting, not yet recruiting, active
For biomarker parsing rules and gene symbol normalization, see MATCHING_ALGORITHMS.md.
Workflow Overview
Input: Patient profile (disease + biomarkers + stage + prior treatments)
Phase 1: Patient Profile Standardization
- Resolve disease to EFO/ontology IDs (OpenTargets, OLS)
- Parse molecular alterations to gene + variant
- Resolve gene symbols to Ensembl/Entrez IDs (MyGene)
- Classify biomarker actionability (FDA-approved vs investigational)
Phase 2: Broad Trial Discovery
- Disease-based trial search (ClinicalTrials.gov)
- Biomarker-specific trial search
- Intervention-based search (for known drugs targeting patient's biomarkers)
- Deduplicate and collect NCT IDs
Phase 3: Trial Characterization (batch, groups of 10)
- Eligibility criteria, conditions/interventions, locations, status, descriptions
Phase 4: Molecular Eligibility Matching
- Parse eligibility text for biomarker requirements
- Match patient's molecular profile to trial requirements
- Score molecular eligibility (0-40 points)
Phase 5: Drug-Biomarker Alignment
- Identify trial intervention drugs and mechanisms (OpenTargets, ChEMBL)
- FDA approval status for biomarker-drug combinations
- Classify drugs (targeted therapy, immunotherapy, chemotherapy)
Phase 6: Evidence Assessment
- FDA-approved biomarker-drug combinations
- Clinical trial results (PubMed), CIViC evidence, PharmGKB
- Evidence tier classification (T1-T4)
Phase 7: Geographic & Feasibility Analysis
- Trial site locations, enrollment status, proximity scoring
Phase 8: Alternative Options
- Basket trials, expanded access, related studies
Phase 9: Scoring & Ranking (0-100 composite score)
- Tier classification: Optimal (80-100) / Good (60-79) / Possible (40-59) / Exploratory (0-39)
Phase 10: Report Synthesis
- Executive summary, ranked trial list, evidence grading, completeness checklist
Critical Tool Parameters
Clinical Trial Search Tools
| Tool | Key Parameters | Notes |
|---|---|---|
search_clinical_trials | query_term (REQ), condition, intervention, pageSize | Main search (ClinicalTrials.gov, U.S./global) |
search_clinical_trials | action="search_studies" (REQ), condition, intervention, limit | Alternative search |
get_clinical_trial_descriptions | action="get_study_details" (REQ), nct_id (REQ) | Full trial details |
CTIS_search_trials | query (REQ), limit, page | EU/EEA trials (EU CTIS register, since 2022) — complements ClinicalTrials.gov |
CTIS_get_trial | ct_number (REQ, e.g. 2022-503001-38-01) | Full EU trial detail (Part I/II, member states, results) |
ISRCTN_search_trials | query (REQ), limit | ISRCTN registry (UK-based, WHO-primary, international) — a third source |
ISRCTN_get_trial | isrctn_id (REQ, e.g. ISRCTN12336055) | Full ISRCTN trial detail + cross-ref ids (DOI/EudraCT/NCT) |
Geographic coverage: ClinicalTrials.gov is U.S.-centric but global; many EU/EEA-only trials appear only in the EU CTIS register, and UK/international trials in ISRCTN. For a comprehensive search — or any patient who could enroll outside the U.S. — query search_clinical_trials, CTIS_search_trials, and ISRCTN_search_trials, then merge (the three registers list largely disjoint trials; ISRCTN records carry DOI/EudraCT/NCT cross-refs you can use to dedupe against the others). Each register has its own id namespace and detail tool: NCT→get_clinical_trial_*, CT number→CTIS_get_trial, ISRCTN id→ISRCTN_get_trial.
Batch Trial Detail Tools (all take nct_ids array)
| Tool | Second Required Param | Returns |
|---|---|---|
get_clinical_trial_eligibility_criteria | eligibility_criteria="all" | Eligibility text |
get_clinical_trial_locations | location="all" | Site locations |
get_clinical_trial_conditions_and_interventions | condition_and_intervention="all" | Arms/interventions |
get_clinical_trial_status_and_dates | status_and_date="all" | Status/dates |
get_clinical_trial_descriptions | description_type="brief" or "full" | Titles/summaries |
get_clinical_trial_outcome_measures | outcome_measures="all" | Outcomes |
Gene/Disease Resolution
| Tool | Key Parameters |
|---|---|
MyGene_query_genes | query, species |
OpenTargets_get_disease_id_description_by_name | diseaseName |
OpenTargets_get_target_id_description_by_name | targetName |
ols_search_efo_terms | query, limit |
Drug Information
| Tool | Key Parameters | Notes |
|---|---|---|
OpenTargets_get_drug_id_description_by_name | drugName | Resolve drug to ChEMBL ID |
OpenTargets_get_drug_mechanisms_of_action_by_chemblId | chemblId | Drug MoA and targets |
OpenTargets_get_associated_drugs_by_target_ensemblID | ensemblId, size | Drugs for a target |
drugbank_get_targets_by_drug_name_or_drugbank_id | query, case_sensitive, exact_match, limit (ALL REQ) | Drug targets |
fda_pharmacogenomic_biomarkers | (none) | FDA biomarker-drug list |
FDA_get_indications_by_drug_name | drug_name, limit | FDA indications |
Evidence Tools
| Tool | Key Parameters |
|---|---|
PubMed_search_articles | query, max_results |
civic_get_variants_by_gene | gene_id (CIViC int ID), limit |
PharmGKB_search_genes | query |
Known CIViC Gene IDs
EGFR=19, BRAF=5, ALK=1, ABL1=4, KRAS=30, TP53=45, ERBB2=20, NTRK1=197, NTRK2=560, NTRK3=561, PIK3CA=37, MET=52, ROS1=118, RET=122, BRCA1=2370, BRCA2=2371
Critical Parameter Notes
- DrugBank tools: ALL 4 parameters (
query,case_sensitive,exact_match,limit) are REQUIRED search_clinical_trials:query_termis REQUIRED even for disease-only searchessearch_clinical_trials:actionmust be exactly"search_studies"- CIViC
civic_search_variants: Does NOT filter by query - returns alphabetically - CIViC
civic_get_variants_by_gene: Takes CIViC gene ID (integer), NOT gene symbol - Batch clinical trial tools: Accept arrays of NCT IDs, process in batches of 10
Scoring Summary
Trial Match Score (0-100):
- Molecular Match: 0-40 pts (exact variant=40, gene-level=30, pathway=20, none=10, excluded=0)
- Clinical Eligibility: 0-25 pts (all met=25, most=18, some=10, ineligible=0)
- Evidence Strength: 0-20 pts (FDA-approved=20, Phase III=15, Phase II=10, Phase I=5)
- Trial Phase: 0-10 pts (III=10, II=8, I/II=6, I=4)
- Geographic: 0-5 pts (local=5, same country=3, international=1)
Recommendation Tiers: Optimal (80-100), Good (60-79), Possible (40-59), Exploratory (0-39)
Evidence Tiers: T1 (FDA/guideline), T2 (Phase III), T3 (Phase I/II), T4 (computational)
For detailed scoring logic, see SCORING_CRITERIA.md.
Parallelization Strategy
Group 1 (Phase 1 - simultaneous):
MyGene_query_genesper gene,OpenTargetsdisease search,ols_search_efo_terms,fda_pharmacogenomic_biomarkers
Group 2 (Phase 2 - simultaneous):
search_clinical_trialsby disease, biomarker, and intervention;search_clinical_trialsalternative
Group 3 (Phase 3 - simultaneous):
- All batch detail tools (eligibility, interventions, locations, status, descriptions)
Group 4 (Phases 5-6 - per drug):
- Drug resolution, MoA, FDA indications, PubMed evidence
Error Handling
- Wrap every tool call in try/except
- Check for empty results and string error responses
- Use fallback tools when primary fails (e.g., OLS if OpenTargets fails)
- Document failures in completeness checklist
- Never let one failure block the entire analysis
Reference Files
| File | Contents |
|---|---|
| TOOLS_REFERENCE.md | Full tool inventory with parameters and response structures |
| MATCHING_ALGORITHMS.md | Patient profile standardization, biomarker parsing, molecular eligibility matching, drug-biomarker alignment code |
| SCORING_CRITERIA.md | Detailed scoring tables, molecular match logic, drug-biomarker alignment scoring |
| REPORT_TEMPLATE.md | Full markdown report template with all sections |
| TRIAL_SEARCH_PATTERNS.md | Search functions, batch retrieval, parallelization, common use patterns, edge cases |
| EXAMPLES.md | Worked examples for different matching scenarios |
| QUICK_START.md | Quick-start guide for common workflows |
Frequently asked questions about Clinical Trial Matching
Similar skills
Scientific Problem Selection
Streamline your research problem selection process.
Nextflow Development
Run nf-core bioinformatics pipelines with ease.
Nature Reviewer Assessment
Simulate peer review for scientific manuscripts.
Research Writing Pipeline
Streamline your scientific writing with structured proposal-first methodologies.
Nature Literature Downloader
Efficiently download academic literature from various sources.
Auto Research
Streamline your NeMo-RL experiments with automated workflows.
