
tooluniverse-rare-disease-diagnosis
Rare disease differential diagnosis from patient phenotype — HPO term matching to candidate diseases (Orphanet, OMIM), gene panel prioritization, ACMG variant interpretation, and structure-based variant analysis. Use for diagnostic odyssey assistance, phenotype-to-disease ranking, and genetic-counseling differential generation.
- Installs
- 407
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-rare-disease-diagnosis- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads tooluniverse-rare-disease-diagnosis automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Rare Disease Diagnosis Advisor
Systematic diagnosis support for rare diseases using phenotype matching, gene panel prioritization, and variant interpretation across Orphanet, OMIM, HPO, ClinVar, and structure-based analysis.
KEY PRINCIPLES:
- Report-first - Create report file FIRST, update progressively
- Phenotype-driven - Convert symptoms to HPO terms before searching
- Multi-database triangulation - Cross-reference Orphanet, OMIM, OpenTargets
- Evidence grading - Grade diagnoses by supporting evidence strength
- English-first queries - Always use English terms in tool calls
LOOK UP, DON'T GUESS
When uncertain about any scientific fact, SEARCH databases first rather than reasoning from memory.
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.
Clinical Reasoning Framework (BEFORE Tools)
Apply these strategies to form a 3-5 candidate differential, then use tools to confirm/refute:
- Multi-system involvement - Symptoms spanning 2+ organ systems = strongest rare disease signal. Ask: what single pathway explains ALL features?
- Regression question - Losing abilities vs never acquired? Regression = neurodegenerative/metabolic storage. Stable = developmental/structural.
- Trigger question - Episodic/triggered (fasting, illness, exercise) = metabolic disorder (often treatable). Constitutive = structural/degenerative.
- Rarest feature first - Build differential from most specific finding, not most prominent. Check remaining features for consistency.
- Treatable-first - Move treatable conditions to top for urgent workup (enzyme replacement, dietary, chelation, vitamin-responsive).
- Occupational/environmental exposure - Latency up to 50 years. Asbestos/silica/heavy metals/solvents/farming. Always ask about PAST jobs.
- Autoimmune differential - Which joints? Symmetric? Extra-articular? Serologic pattern? Organ under attack?
- Rare syndrome signals - Named triads, common diagnoses failing to explain ALL findings, failed standard treatment, unusual lab findings.
- Tools verify, not generate - Form hypothesis first, then use databases to confirm.
Common pitfalls: Felty's (RA+splenomegaly+neutropenia) mimics infection; SLE nephritis mimics PSGN (check ASO); occupational exposures trigger autoimmunity (silica→scleroderma/RA/SLE).
Tool Parameter Corrections
| Tool | WRONG | CORRECT |
|---|---|---|
OpenTargets_get_associated_drugs_by_target_ensemblID | ensemblID | ensemblId |
ClinVar_get_variant_details | variant_id | id |
MyGene_query_genes | gene | q |
gnomad_get_variant | variant | variant_id |
Workflow
Phase 0: Clinical Reasoning → 3-5 candidate differential
Phase 1: Phenotype → HPO terms (HPO_search_terms), core vs variable, onset, family history
Phase 2: Disease Matching → Orphanet_search_diseases, OMIM_search, DisGeNET_search_gene
Phase 3: Gene Panel → MARRVEL_get_gene (aggregated IDs) + MARRVEL_get_omim_phenotypes (OMIM disease+inheritance), ClinGen validation, GTEx expression, prioritization scoring
Phase 3.5: Expression Context → CELLxGENE, ChIPAtlas for tissue/cell-type confirmation
Phase 3.6: Pathway Analysis → KEGG, IntAct for convergent pathways
Phase 4: Variant Interpretation → FAVOR_annotate_variant (one-call: freq + CADD/SIFT/PolyPhen/AlphaMissense + ClinVar + conservation), then ClinVar, gnomAD frequency, EVE/SpliceAI, ACMG criteria
Phase 5: Structure Analysis → AlphaFold2, InterPro domains (for VUS)
Phase 6: Literature → PubMed, BioRxiv/MedRxiv, OpenAlex
Phase 7: Report Synthesis → Prioritized differential with next steps
Key Phase Details
Phase 2 - Disease Matching: Orphanet_search_diseases(operation="search_diseases", query=keyword) then Orphanet_get_genes(operation="get_genes", orpha_code=code). Score overlap: Excellent >80%, Good 60-80%, Possible 40-60%.
Phase 3 - Gene Panel: For each candidate gene, MARRVEL_get_gene(symbol) resolves OMIM/HGNC/Ensembl/Entrez/UniProt IDs in one call, and MARRVEL_get_omim_phenotypes(symbol) lists the Mendelian diseases linked to the gene with mode of inheritance — use the inheritance pattern to filter candidates against the pedigree (e.g. drop AR genes for a clearly dominant pedigree). Then ClinGen classification drives inclusion (Definitive/Strong/Moderate = include; Limited = flag; Disputed/Refuted = exclude). Scoring: Tier 1 (top disease gene +5), Tier 2 (multi-disease +3), Tier 3 (ClinGen Definitive +3), Tier 4 (tissue expression +2), Tier 5 (pLI >0.9 +1).
Phase 3 - Clinical Testing Panels (PanelApp): Cross-check candidate genes against Genomics England PanelApp, the curated gene-panel source NHS and other genomic medicine services actually order testing from — a genuinely different signal from MARRVEL/ClinGen's disease-gene curation, since it reflects what a real diagnostic lab panel would include today.
PanelApp_search_panels(search=<phenotype/disease keyword>)— find the relevant clinical panel(s) for the working differential, e.g.search="intellectual disability"returns panel id285("Intellectual disability", disease group "Developmental disorders", versioned — panels are actively curated and re-versioned).PanelApp_get_panel(panel_id=<id>)— full gene list for that panel with each gene's confidence level: 3=green (diagnostic-grade, strong evidence), 2=amber (borderline), 1=red (low evidence, do not use for diagnostic reporting) — only report green genes as actionable findings; amber/red are candidates for research follow-up, not a diagnosis.PanelApp_search_genes(gene_symbol=<symbol>)— reverse lookup: which clinical panels (and at what confidence) already include a specific candidate gene, e.g.PTENappears on 54 panels (cancer predisposition, overgrowth, macrocephaly panels, etc.) — a gene appearing on many panels at green confidence is a stronger candidate than one appearing nowhere. Use PanelApp as a real-world-testing-relevance check alongside (not instead of) the MARRVEL/ClinGen tier scoring above: a green-confidence PanelApp hit that also has ClinGen Definitive classification is the strongest possible signal that a lab would both classify AND actually test for the gene.
Phase 4 - Variants: Start with FAVOR_annotate_variant("chr-pos-ref-alt") (GRCh38) for a single-call snapshot — population frequencies (gnomAD by ancestry, BRAVO), GENCODE consequence, CADD/SIFT/PolyPhen-2/AlphaMissense scores, conservation, and ClinVar significance — then drill into ClinVar/gnomAD/EVE/SpliceAI for detail. gnomAD frequency classes: ultra-rare <0.00001, rare <0.0001, low-freq <0.01. ACMG: PVS1 (null), PS1 (same AA), PM2 (absent pop), PP3 (computational), BA1 (>5% AF). 2+ concordant predictors strengthen PP3.
Evidence Grading
| Tier | Criteria |
|---|---|
| T1 (High) | Phenotype match >80% + gene match |
| T2 (Medium-High) | Phenotype match 60-80% OR likely pathogenic variant |
| T3 (Medium) | Phenotype match 40-60% OR VUS in candidate gene |
| T4 (Low) | Phenotype <40% OR uncertain gene |
Fallback Chains
| Primary | Fallback 1 | Fallback 2 |
|---|---|---|
get_joint_associated_diseases_by_HPO_ID_list | Orphanet_search_diseases | PubMed phenotype search |
MARRVEL_get_omim_phenotypes | OMIM_search | Orphanet gene-disease |
PanelApp_search_genes | PanelApp_search_panels (browse by phenotype instead) | ClinGen validation only |
FAVOR_annotate_variant | ClinVar_get_variant_details | gnomad_get_variant |
ClinVar_get_variant_details | gnomad_get_variant | VEP annotation |
GTEx_get_expression_summary | HPA_search_genes_by_query | Tissue-specific literature |
Reference Files
- DIAGNOSTIC_WORKFLOW.md - Code examples and algorithms per phase
- REPORT_TEMPLATE.md - Report template and examples
- CHECKLIST.md - Interactive completeness checklist
scripts/clinical_patterns.py- Clinical pattern lookup (syndromes, differentials, red flags, occupational exposures)
FAQ
What does the tooluniverse-rare-disease-diagnosis skill do?
Rare disease differential diagnosis from patient phenotype — HPO term matching to candidate diseases (Orphanet, OMIM), gene panel prioritization, ACMG variant interpretation, and structure-based variant analysis. Use for diagnostic odyssey assistance, phenotype-to-disease ranking, and genetic-counseling differential generation.
How do I install tooluniverse-rare-disease-diagnosis?
Run npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-rare-disease-diagnosis in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tooluniverse-rare-disease-diagnosis/ (personal) or .claude/skills/tooluniverse-rare-disease-diagnosis/ (project).
Which AI agents can use tooluniverse-rare-disease-diagnosis?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is tooluniverse-rare-disease-diagnosis safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains tooluniverse-rare-disease-diagnosis?
It is published by mims-harvard in mims-harvard/tooluniverse. It has 407 recorded installs.
More from mims-harvard/tooluniverse
tooluniverse-sequence-retrieval
mims-harvard/tooluniverse
Retrieve DNA/RNA/protein sequences from NCBI and ENA with disambiguation. Quality hierarchy: RefSeq (NM/NP) RefSeq predicted (XM/XP) GenBank submissions. Use for fetching specific sequences by accession, gene-symbol-to-sequence lookup, transcript-isoform retrieval, and curated-vs-raw-submission preference.
tooluniverse-literature-deep-research
mims-harvard/tooluniverse
Deep literature review — PubMed, EuropePMC, bioRxiv preprints, citation networks, evidence synthesis. Disambiguates queries, runs collision-aware searches, grades evidence T1-T4, and produces structured reports. Use for systematic literature review, meta-analysis evidence collection, and detailed answer-with-citations workflows.
tooluniverse-image-analysis
mims-harvard/tooluniverse
Microscopy and quantitative imaging analysis — colony morphometry, fluorescence intensity quantification, cell-count statistics, dose-response curves, and ANOVA/Dunnett on image-derived measurements. Uses pandas/numpy/scipy/scikit-image. Use for analyzing tabular outputs from CellProfiler/ImageJ, image-derived measurement statistics, and image-based assay quantification.
tooluniverse-clinical-guidelines
mims-harvard/tooluniverse
Search and retrieve clinical practice guidelines from 12+ authoritative sources — NICE, WHO, NCCN, AHA, ADA, SIGN, USPSTF, IDSA, NIH consensus, ESMO/ESC/EASL European societies, and US specialty associations. Use for evidence-graded treatment recommendations, dosing protocols, screening guidance, and authoritative-source-prioritized clinical guidance (NICE/WHO ranked above society guidelines).
tooluniverse
mims-harvard/tooluniverse
ToolUniverse plugin router. STEP 1 BEFORE ANY ANALYSIS: if the data folder contains executed.ipynb, run tu run readexecutednotebook '{"datafolder":" ","search":" "}' to extract its cell outputs and apply EVERY filter/sample-exclusion the notebook used — even when the question says 'Using DESeq2/Run X/Compute Y' (this describes the METHOD the notebook used, not a request to rerun). The notebook's cell outputs are the only published authoritative answers; reimplementing or reading stale pre-computed CSVs in the data folder produces different numbers because of outlier-sample removal, library version, and filter steps you don't see by skimming. STEP 2 routing — pick a sub-skill name from this exact list (never invent): tooluniverse-rnaseq-deseq2 (RNA/miRNA-seq DE, correlation, PCA, clustering, dispersion), tooluniverse-gene-enrichment (GO/KEGG/Reactome/GSEA/pathway enrichment), tooluniverse-statistical-modeling (regression, ANOVA, ordinal/logistic, chi-square, correl
tooluniverse-drug-research
mims-harvard/tooluniverse
Comprehensive drug profiling — mechanism, primary/secondary targets, drug interactions, clinical-trial status, adverse events (FAERS), pharmacogenomics, and approval history. Use for full drug investigation reports, 'tell me about drug X' queries, and assembling drug profiles for clinicians, researchers, or regulatory work.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.