Compare commits

..
Author SHA1 Message Date
promptadmin a0199807d7 [upstream-sync] skills/tooluniverse/SKILL.md from mims-harvard/ToolUniverse@be422b18 [skill] 2026-07-21 09:47:19 +00:00
promptadmin 000d085571 [upstream-sync] skills/tooluniverse-variant-interpretation/TOOLS_REFERENCE.md from mims-harvard/ToolUniverse@be422b18 [prompt] 2026-07-21 09:46:55 +00:00
promptadmin 1ee997aae5 [upstream-sync] skills/tooluniverse-statistical-modeling/TOOLS_REFERENCE.md from mims-harvard/ToolUniverse@be422b18 [prompt] 2026-07-21 09:46:33 +00:00
promptadmin cc11704adf [upstream-sync] skills/tooluniverse-rare-disease-diagnosis/TOOLS_REFERENCE.md from mims-harvard/ToolUniverse@be422b18 [prompt] 2026-07-21 09:46:07 +00:00
promptadmin 3ab3499236 [upstream-sync] skills/tooluniverse-protein-interactions/DOMAIN_ANALYSIS.md from mims-harvard/ToolUniverse@be422b18 [unknown] 2026-07-21 09:45:42 +00:00
promptadmin 596accceb5 [upstream-sync] skills/tooluniverse-precision-oncology/TOOLS_REFERENCE.md from mims-harvard/ToolUniverse@be422b18 [unknown] 2026-07-21 09:45:20 +00:00
promptadmin 6d606440b2 [upstream-sync] skills/tooluniverse-precision-oncology/API_USAGE_PATTERNS.md from mims-harvard/ToolUniverse@be422b18 [prompt] 2026-07-21 09:44:57 +00:00
promptadmin 171c0f0ecd [upstream-sync] skills/tooluniverse-claude-code-plugin/SKILL.md from mims-harvard/ToolUniverse@be422b18 [catalogue] 2026-07-21 09:44:31 +00:00
promptadmin fc058e6fc2 [upstream-sync] skills/setup-tooluniverse/SKILL.md from mims-harvard/ToolUniverse@be422b18 [catalogue] 2026-07-21 09:44:14 +00:00
10 changed files with 97 additions and 140 deletions
@@ -1,8 +1,8 @@
---
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/089eb8e6/skills/setup-tooluniverse/SKILL.md
upstream_sha: 089eb8e6
imported_at: 2026-07-25
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/setup-tooluniverse/SKILL.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: catalogue
upstream_changes: accepted
name: setup-tooluniverse
@@ -68,7 +68,7 @@ Make sure Step 2 is done, then try:
uvx --from tooluniverse tu status # How many tools?
uvx --from tooluniverse tu find 'drug safety' # Search by topic
uvx --from tooluniverse tu info FAERS_count_death_related_by_drug # See params
uvx --from tooluniverse tu run FAERS_count_death_related_by_drug '{"medicinalproduct": "metformin"}'
uvx --from tooluniverse tu run FAERS_count_death_related_by_drug '{"drug_name": "metformin"}'
```
First run takes ~30s (downloads package), then instant. **Shortcut**: `uv tool install tooluniverse` → then just use `tu` directly.
@@ -93,30 +93,12 @@ Continue to **Step 3** (API Keys).
## SDK Setup
> **Install `uv` first (Step 2). Do not use system `pip`.** On a current Mac
> (Homebrew Python 3.13/3.14) `pip install tooluniverse` stops with
> `error: externally-managed-environment` (PEP 668), and `python3 -m venv` can
> fail at `ensurepip`. `uv` avoids both because it downloads and manages its own
> Python.
Make sure Step 2 is done. For detailed patterns, invoke the `tooluniverse-sdk` skill.
```bash
uv venv --python 3.12 # own Python + virtualenv, ignores system pip
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install tooluniverse
```
`uv pip install` needs an active virtualenv — run `uv venv` first, or use
`uv tool install tooluniverse` if you only want the `tu` command.
For detailed patterns, invoke the `tooluniverse-sdk` skill.
**Optional extras**: the base install covers API/database tools. Local ML,
cheminformatics, and plotting tools need extras — `uv pip install
'tooluniverse[ml]'`, `[visualization]`, `[bioinformatics]`, or `[all]`.
Run `tooluniverse-doctor` to see which groups you are missing.
Note `[all]` does **not** include `singlecell`, `smolagents`, `client`, or
`build`; install those separately.
### Coding API — 3 calling patterns
**Pattern 1: Direct import** (typed, with autocomplete):
@@ -148,34 +130,10 @@ Continue to **Step 3** (API Keys).
## MCP Setup (Chat Mode)
**Offer the two low-effort paths first.** Editing JSON by hand is the fallback,
not the recommendation — a mistyped comma is the single most common setup
failure. Only walk through the manual path if neither option below fits.
**Path A — let an AI agent do it.** If the user already has any agent (Claude,
Cursor, Copilot, Gemini, Codex...), they can paste this into it:
```
Read https://aiscientist.tools/setup.md and set up ToolUniverse for me.
```
The agent handles config, keys, skills, and validation. No terminal, no JSON.
**Path B — Claude Code users: one-liner, no config file at all.**
```bash
claude plugin marketplace add mims-harvard/ToolUniverse
claude plugin install tooluniverse@tooluniverse
```
Installs MCP server + 115 skills + slash commands in one step. Then see the
`tooluniverse-claude-code-plugin` skill's "Recommended: turn on auto-update"
step so future releases apply without manual `claude plugin update`.
### Manual config (fallback)
Make sure Step 2 is done (`uv --version` works).
### Add ToolUniverse to your app's config
**Config file help** (if user seems unfamiliar): Config files are plain text that store settings — like a preference list for the app. You don't need to understand the format; just paste exactly what's shown below. Most apps have a Settings button that opens the file for you (see table). If the file is empty, paste the entire block. If it already has content, the agent should help merge it.
**Default config** (same for most clients):
@@ -191,24 +149,15 @@ Make sure Step 2 is done (`uv --version` works).
}
```
> **Paste safely.** Copy the block whole — do not retype it. If the file already
> has an `mcpServers` block, add only the `"tooluniverse": { ... }` entry inside
> it and put a comma after the previous entry. If the file was empty, paste the
> whole block. Then validate before restarting the app:
> ```bash
> python3 -m json.tool < "<path-to-config>" > /dev/null && echo "JSON OK"
> ```
> A trailing comma after the last entry, or a missing one between entries, is
> the usual cause of "MCP server won't start".
**`args``["tooluniverse"]` vs `["--refresh", "tooluniverse"]`**: plain is the
default and starts fast from `uv`'s cache, but can stay on a cached older
release until you run `uv cache clean tooluniverse`. Adding `--refresh` checks
PyPI for the newest version on every launch — always current, a few seconds
slower to start. Use plain unless the user specifically wants auto-updates.
**Config file locations:**
> **Claude Code users**: skip manual MCP config — use the plugin instead. Invoke the `tooluniverse-claude-code-plugin` skill or run:
> ```bash
> claude plugin marketplace add mims-harvard/ToolUniverse
> claude plugin install tooluniverse@tooluniverse
> ```
> This installs MCP server + 115 skills + slash commands in one step. Then see the `tooluniverse-claude-code-plugin` skill's "Recommended: turn on auto-update" step so future releases apply without manual `claude plugin update`.
| Client | File | How to Access |
|--------|------|---------------|
| Cursor | `~/.cursor/mcp.json` | Settings → MCP → Add new global MCP server |
@@ -353,7 +302,7 @@ Skills activate automatically based on user's question. Try: "Research the drug
> tu info PubMed_search_articles # Check parameters
> tu run PubMed_search_articles '{"query": "CRISPR cancer", "max_results": 3}'
> tu run UniProt_get_entry_by_accession '{"accession": "P12345"}'
> tu run FAERS_count_death_related_by_drug '{"medicinalproduct": "metformin"}'
> tu run FAERS_count_death_related_by_drug '{"drug_name": "metformin"}'
> ```
## Write Agent Memory
@@ -403,26 +352,14 @@ NVIDIA_API_KEY=your_shared_key
| Issue | Fix |
|-------|-----|
| `error: externally-managed-environment` (PEP 668) | System `pip` refuses to install. Use `uv``uv venv --python 3.12 && source .venv/bin/activate && uv pip install tooluniverse`. Never `sudo pip` or `--break-system-packages`. |
| `python3 -m venv` fails at `ensurepip` | Homebrew Python (3.13/3.14) is missing a working `ensurepip`. Use `uv venv --python 3.12``uv` supplies its own Python. |
| `uv pip install` → "No virtual environment found" | Run `uv venv` first, or use `uv tool install tooluniverse` for just the `tu` command. |
| `requires-python >= 3.10` | `uv python install 3.12` |
| `uvx: command not found` | Run install script from Step 2, restart terminal |
| Context window overflow | Verify using `uvx tooluniverse` (compact mode is default) |
| `ModuleNotFoundError` at tool runtime | An optional extra is missing. Run `tooluniverse-doctor` to see which group, then `uv pip install 'tooluniverse[ml]'` (or `[visualization]`, `[bioinformatics]`, `[all]`). |
| Tools listed but fail when run | Normal for extras-backed tools — `tu status` counts loaded configs, not installed dependencies. `tooluniverse-doctor` reports which groups are missing. |
| MCP server won't start | Test: `uvx tooluniverse` in terminal. Validate config with `python3 -m json.tool < <config>`. |
| `ModuleNotFoundError` | `uv pip install tooluniverse[all]` |
| MCP server won't start | Test: `uvx tooluniverse` in terminal. Check JSON syntax. |
| API key 401/403 | Check key in `env` block, restart app, verify key name |
| Upgrade needed | `uv cache clean tooluniverse` then restart app |
**Health check**: `tooluniverse-doctor` reports tools that failed to load *and*
which optional dependency groups are not installed. Use it first whenever a tool
errors unexpectedly.
**`[all]` is not everything**: it covers `dev, docs, graph, visualization,
space, embedding, ml, bioinformatics`. `singlecell`, `smolagents`, `client`,
and `build` must be installed by name.
Still stuck? [GitHub issues](https://github.com/mims-harvard/ToolUniverse/issues) or email [Shanghua Gao](mailto:[email protected]).
## Quick Reference
@@ -1,8 +1,8 @@
---
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/089eb8e6/skills/tooluniverse-admet-prediction/SKILL.md
upstream_sha: 089eb8e6
imported_at: 2026-07-25
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-admet-prediction/SKILL.md
upstream_sha: e2520a96
imported_at: 2026-06-26
prompt_class: unknown
upstream_changes: accepted
name: tooluniverse-admet-prediction
@@ -33,26 +33,6 @@ Comprehensive pharmacokinetic and toxicity profiling integrating AI-based ADMET
**Input**: Drug name (e.g., "ibuprofen") OR SMILES string (e.g., "CC(C)Cc1ccc(cc1)C(C)C(=O)O")
## Before You Run
ADMETAI tools run a local model, so they need the `ml` extra:
```bash
uv pip install 'tooluniverse[ml]'
```
Without it the tools still appear in `tu list` (the config loads) but fail at
call time with `ADMETModel requires 'admet-ai' package`. Run
`tooluniverse-doctor` to confirm which optional groups are installed.
**Expected console noise — not errors.** The first ADMETAI call loads PyTorch
and prints warnings such as missing-GPU / `Trainer` messages from
PyTorch Lightning, and `TypedStorage is deprecated` from PyTorch. These are
emitted by the underlying libraries during normal CPU inference. Predictions
are unaffected — do not report them to the user as failures and do not retry
the call because of them. Only treat output as a failure if the tool returns an
`error` field or no predictions.
---
## COMPUTE, DON'T DESCRIBE
@@ -1,8 +1,8 @@
---
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-claude-code-plugin/SKILL.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-claude-code-plugin/SKILL.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: catalogue
upstream_changes: accepted
name: tooluniverse-claude-code-plugin
@@ -21,7 +21,7 @@ uv --version # must exist; if not: curl -LsSf https://astral.sh/uv/install
claude --version # Claude Code CLI; if not: https://claude.com/claude-code
```
## Install (two commands)
## Install
```bash
# 1. Register the ToolUniverse marketplace from GitHub
@@ -33,6 +33,29 @@ claude plugin install tooluniverse@tooluniverse
That's it. Restart Claude Code. The MCP server auto-starts via `uvx tooluniverse` on first use (~30 s cold start, instant after).
### Recommended: turn on auto-update
Third-party marketplaces default to **no auto-update** — without this, new tools/skills only reach you when you remember to run `claude plugin update tooluniverse` (see Update below). Turn it on once:
```bash
python3 -c "
import json, pathlib, sys
p = pathlib.Path.home() / '.claude/plugins/known_marketplaces.json'
d = json.loads(p.read_text())
if 'tooluniverse' not in d:
sys.exit('Run the marketplace add command above first')
d['tooluniverse']['autoUpdate'] = True
p.write_text(json.dumps(d, indent=2))
print('autoUpdate enabled for tooluniverse')
"
```
Equivalent interactive path: `/plugin` → Marketplaces → `tooluniverse` → Enable auto-update.
With this on, Claude Code checks for marketplace + plugin updates in the background after each session start (up to a ~10 min random delay) and updates the installed plugin on disk automatically. You'll get a `/reload-plugins` prompt when an update lands, or it applies on your next launch — no more manual `claude plugin update`.
This is local, per-machine state — it can't be shipped as a default from the plugin's own manifest. `marketplace.json` has no `autoUpdate` field; Claude Code intentionally keeps this a per-installation trust boundary so a publisher can't force silent auto-updates onto a user's machine.
### Important: Remove global skills if previously installed
If you previously installed ToolUniverse skills globally (via `tooluniverse-install-skills` or manual copy), **remove them**. The plugin includes all skills — global copies interfere with the plugin's skill routing.
@@ -82,6 +105,9 @@ The router skill auto-dispatches to the right specialized skill — no command p
| **`/tooluniverse:cross-validate`** | Verify a claim across 3+ independent databases | Slash command |
| **`/tooluniverse:compare`** | N-way side-by-side comparison with domain-appropriate columns | Slash command |
| **`/tooluniverse:literature-sweep`** | Graded mini-review across PubMed + EuropePMC + Semantic Scholar | Slash command |
| **`/tooluniverse:verify-references`** | Check that cited references are real and accurately described, including retraction status | Slash command |
| **`/tooluniverse:self-review`** | Generate weighted success criteria for a task and check work against them (what's missing / done well) | Slash command |
| **`/tooluniverse:setup-keys`** | Configure ToolUniverse API keys | Slash command |
| **`/tooluniverse:researcher`** | Same investigation as `research`, delegated to a forked subagent | Slash command |
| **120+ skills** | Structured workflows (drug research, variant interpretation, pharmacovigilance, CRISPR screens, statistical modeling, etc.) | Auto-activate on matching questions |
@@ -121,6 +147,10 @@ Full API-key list: `setup-tooluniverse` skill → `API_KEYS_REFERENCE.md`.
## Update
If you enabled auto-update above, this happens automatically in the background — no action needed.
Otherwise, update manually:
```bash
claude plugin update tooluniverse
# Also refresh the MCP server's tool cache:
@@ -2,9 +2,9 @@
title: "Precision Oncology - Tool Reference"
task: ""
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-precision-oncology/TOOLS_REFERENCE.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-precision-oncology/TOOLS_REFERENCE.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: unknown
upstream_changes: accepted
author: upstream
@@ -328,7 +328,7 @@ cells = tu.tools.DepMap_get_cell_lines(
| Tool | Purpose | Key Parameters |
|------|---------|----------------|
| `ChEMBL_search_drugs` | Search drugs | `query`, `max_phase` |
| `ChEMBL_get_drug_mechanisms_of_action_by_chemblId` | Drug MOA | `chemblId` |
| `ChEMBL_get_drug_mechanisms` | Drug MOA | `drug_chembl_id` |
| `ChEMBL_get_target_activities` | Bioactivity data | `target_chembl_id` |
### DailyMed
@@ -2,9 +2,9 @@
title: "Protein Interaction Network Analysis - Domain Analysis"
task: ""
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-protein-interactions/DOMAIN_ANALYSIS.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-protein-interactions/DOMAIN_ANALYSIS.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: unknown
upstream_changes: accepted
author: upstream
@@ -188,12 +188,9 @@ validated: false
- **Use Case**: Protein structure and complex formation
- **API**: Public REST API
**Tools (5)** - Use for structural analysis:
1. `SASBDB_search_entries` - Find structural data
2. `SASBDB_get_entry` - Get entry metadata
3. `SASBDB_get_entry` - Get structural models
4. `SASBDB_get_entry` - Get scattering data
5. `SASBDB_download_data` - Download raw data
**Tools (2)** - Use for structural analysis:
1. `SASBDB_search_entries` - Find structural data (by molecular type, or list all entries)
2. `SASBDB_get_entry` - Get entry metadata, experimental conditions, publication info, and data file URLs (one call covers structure/scattering data access — there is no separate download tool)
---
@@ -2,9 +2,9 @@
title: "API Usage Patterns for Precision Oncology"
task: ""
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-precision-oncology/API_USAGE_PATTERNS.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-precision-oncology/API_USAGE_PATTERNS.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: prompt
upstream_changes: accepted
author: upstream
@@ -355,7 +355,7 @@ def get_tumor_expression_context(tu, gene_symbol, cancer_type):
### Query Order
1. `OpenTargets_get_associated_drugs_by_target_ensemblID` -> Approved drugs
2. `DailyMed_search_spls` -> FDA label details
3. `ChEMBL_get_drug_mechanisms_of_action_by_chemblId` -> Mechanism
3. `ChEMBL_get_drug_mechanisms` -> Mechanism
### Treatment Output Example
@@ -2,9 +2,9 @@
title: "Rare Disease Diagnosis - Tool Reference"
task: ""
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-rare-disease-diagnosis/TOOLS_REFERENCE.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-rare-disease-diagnosis/TOOLS_REFERENCE.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: prompt
upstream_changes: accepted
author: upstream
@@ -761,7 +761,7 @@ def analyze_vus_structure(tu, uniprot_id, variant_position):
| Primary | Fallback 1 | Fallback 2 |
|---------|------------|------------|
| `kegg_get_gene_info` | `ReactomeContent_search` | `KEGG_get_gene_pathways` |
| `intact_search_interactions` | `STRING_interactions` | Literature search |
| `intact_search_interactions` | `STRING_get_interaction_partners` | Literature search |
### Variant Annotation
| Primary | Fallback 1 | Fallback 2 |
@@ -2,9 +2,9 @@
title: "Tools Reference: Statistical Modeling Skill"
task: ""
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse-statistical-modeling/TOOLS_REFERENCE.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-statistical-modeling/TOOLS_REFERENCE.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: prompt
upstream_changes: accepted
author: upstream
@@ -90,7 +90,7 @@ These ToolUniverse tools can be used to retrieve data before modeling:
|------|-----------|---------|
| `FAERS_calculate_disproportionality` | `drug_name`, `adverse_event` | `{metrics: {PRR, ROR, IC}, signal_detection}` |
| `FAERS_stratify_by_demographics` | `drug_name`, `adverse_event`, `stratify_by` | Stratified counts |
| `FAERS_count_patient_reaction` | `medicinalproduct` | `[{term, count}]` |
| `FAERS_count_reactions_by_drug_event` | `medicinalproduct` | `[{term, count}]` (grouped by MedDRA Preferred Term) |
### Gene-Disease Evidence
@@ -2,9 +2,9 @@
title: "Clinical Variant Interpreter - Tool Reference"
task: ""
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/3038dcbe/skills/tooluniverse-variant-interpretation/TOOLS_REFERENCE.md
upstream_sha: 3038dcbe
imported_at: 2026-06-30
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse-variant-interpretation/TOOLS_REFERENCE.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: prompt
upstream_changes: accepted
author: upstream
@@ -774,8 +774,8 @@ result = tu.tools.OMIM_search(query="BRCA1")
| Tool | Purpose | Key Parameters |
|------|---------|----------------|
| `ClinGen_gene_validity` | Get curation status | `gene` |
| `ClinGen_dosage` | Dosage sensitivity | `gene` |
| `ClinGen_get_gene_validity` | Get curation status | `gene` |
| `ClinGen_dosage_by_gene` | Dosage sensitivity | `gene` |
**Gene Validity Levels**:
| Level | Meaning |
@@ -1,8 +1,8 @@
---
lineage_type: import
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/e2520a96/skills/tooluniverse/SKILL.md
upstream_sha: e2520a96
imported_at: 2026-06-26
upstream_source: https://github.com/mims-harvard/ToolUniverse/blob/be422b18/skills/tooluniverse/SKILL.md
upstream_sha: be422b18
imported_at: 2026-07-21
prompt_class: skill
upstream_changes: accepted
name: tooluniverse
@@ -130,6 +130,8 @@ These reminders are for fast pattern recognition during routing. Detailed `❌ W
| "**TCGA**", "cancer genomics cohort", "GDC analysis", "TCGA mutations", "pan-cancer" | `Skill(skill="tooluniverse-cancer-genomics-tcga")` |
| "**immunotherapy response**", "checkpoint inhibitor response", "TMB", "MSI", "PD-L1", "ICI response" | `Skill(skill="tooluniverse-immunotherapy-response-prediction")` |
| "**rare disease diagnosis**", "differential diagnosis", "phenotype matching", "HPO", "patient with [symptoms]" | `Skill(skill="tooluniverse-rare-disease-diagnosis")` |
| "**clinical risk score**", "CHA2DS2-VASc", "HAS-BLED", "CURB-65", "qSOFA", "Child-Pugh", "MELD-Na", "Wells score", "ASCVD risk", "eGFR CKD-EPI", "bedside risk calculator" | `Skill(skill="tooluniverse-clinical-risk-scoring")` |
| "**device adverse events**", "device recall", "MAUDE", "food/supplement adverse event", "CAERS", "veterinary adverse event", "drug shortage" | `Skill(skill="tooluniverse-product-safety-surveillance")` |
| "**variant interpretation**", "VUS", "pathogenicity", "clinical significance", "is [variant] pathogenic" | `Skill(skill="tooluniverse-variant-interpretation")` |
| "**clinical guidelines**", "practice guidelines", "treatment guidelines", "dosing recommendations", "standard of care" | `Skill(skill="tooluniverse-clinical-guidelines")` |
| "**patient stratification**", "precision medicine", "biomarker stratification", "treatment selection" | `Skill(skill="tooluniverse-precision-medicine-stratification")` |
@@ -149,6 +151,7 @@ These reminders are for fast pattern recognition during routing. Detailed `❌ W
| "**small molecule discovery**", "chemical biology", "compound sourcing", "hit finding", "chemical probe" | `Skill(skill="tooluniverse-small-molecule-discovery")` |
| "**chemical sourcing**", "buy compound", "vendor search", "Enamine", "MolPort", "compound availability" | `Skill(skill="tooluniverse-chemical-sourcing")` |
| "**GPCR**", "G-protein coupled receptor", "GPCRdb", "receptor ligand", "biased agonist" | `Skill(skill="tooluniverse-gpcr-structural-pharmacology")` |
| "**dereplicate**", "natural product identification", "NPAtlas", "ChemOnt classification", "ClassyFire", "producing organism" | `Skill(skill="tooluniverse-natural-product-dereplication")` |
### 5. Genomics & Variant Analysis
@@ -165,6 +168,13 @@ These reminders are for fast pattern recognition during routing. Detailed `❌ W
| "**regulatory variant**", "non-coding variant", "eQTL variant", "regulatory region variant" | `Skill(skill="tooluniverse-regulatory-variant-analysis")` |
| "**rare disease genomics**", "Orphanet gene", "rare disease gene", "causative gene", "exome diagnosis" | `Skill(skill="tooluniverse-rare-disease-genomics")` |
| "**1000 Genomes**", "IGSR", "population frequency", "superpopulation", "AFR/EUR/EAS/SAS/AMR" | `Skill(skill="tooluniverse-population-genetics-1000genomes")` |
| "**PheWAS**", "phenome-wide association", "cross-ancestry replication", "cross-biobank", "FinnGen", "BioBank Japan", "pleiotropy of a variant" | `Skill(skill="tooluniverse-phewas")` |
| "**Mendelian randomization**", "MR causal inference", "instrumental variable", "does X cause Y", "genetic causal evidence" | `Skill(skill="tooluniverse-mendelian-randomization")` |
| "**loss-of-function mechanism**", "LoF mechanism", "why is this variant LoF", "structural stability vs functional disruption" | `Skill(skill="tooluniverse-protein-lof-mechanism")` |
| "**SAE feature**", "sparse autoencoder variant", "ESMC SAE", "mechanistic variant interpretation" | `Skill(skill="tooluniverse-protein-sae-variant-interpretation")` |
| "**per-residue annotation**", "binding interface residues", "ligand pocket residues", "buried vs surface residues", "PDB structural annotation" | `Skill(skill="tooluniverse-protein-structural-annotation-pdb")` |
| "**why are these residues critical**", "residue functional mechanism", "DMS hotspot interpretation", "catalytic vs structural residue" | `Skill(skill="tooluniverse-residue-functional-mechanism-interpretation")` |
| "**validate variant predictor**", "DMS validation", "deep mutational scanning benchmark", "predictor vs experimental effect" | `Skill(skill="tooluniverse-variant-predictor-dms-validation")` |
### 6. Systems & Network Analysis
@@ -214,6 +224,7 @@ These reminders are for fast pattern recognition during routing. Detailed `❌ W
| "**protein modification**", "PTM analysis", "phosphorylation site", "ubiquitination", "glycosylation" | `Skill(skill="tooluniverse-protein-modification-analysis")` |
| "**structural proteomics**", "cross-linking mass spec", "XL-MS", "HDX-MS", "structural biology" | `Skill(skill="tooluniverse-structural-proteomics")` |
| "**protein structure prediction**", "AlphaFold prediction", "structure modeling", "homology modeling" | `Skill(skill="tooluniverse-protein-structure-prediction")` |
| "**FASTQ QC**", "FastQC", "MultiQC", "adapter trimming", "fastp", "Cutadapt", "read quality", "sequence duplication" | `Skill(skill="tooluniverse-fastq-qc")` |
### 8. Clinical Trials & Study Design
@@ -237,6 +248,7 @@ These reminders are for fast pattern recognition during routing. Detailed `❌ W
| "**ecology**", "biodiversity", "invasive species", "pollinator", "food web", "conservation", "community ecology", "trophic" | `Skill(skill="tooluniverse-ecology-biodiversity")` |
| "**microbiome**", "gut microbiota", "dysbiosis", "microbiome composition", "16S rRNA" | `Skill(skill="tooluniverse-microbiome-research")` |
| "**adverse outcome pathway**", "AOP", "key event", "molecular initiating event", "KER" | `Skill(skill="tooluniverse-adverse-outcome-pathway")` |
| "**genome assembly**", "assembly N50", "RefSeq assembly QC", "plasmid count", "NCBI Datasets genome" | `Skill(skill="tooluniverse-microbial-genome-characterization")` |
### 10. Specialized Biology
@@ -278,6 +290,7 @@ These reminders are for fast pattern recognition during routing. Detailed `❌ W
| "**custom tool**", "add my own tool", "local tool", "create tool", "extend ToolUniverse" | `Skill(skill="tooluniverse-custom-tool")` |
| "**SDK**", "Python SDK", "build AI scientist", "programmatic access", "**import tooluniverse**", "**coding API**", "**tu build**", "**typed wrappers**" | `Skill(skill="tooluniverse-sdk")` |
| "**install skills**", "missing skills", "skill not found", "add skills" | `Skill(skill="tooluniverse-install-skills")` |
| "**self-review**", "check my work", "definition of done", "evaluation rubric", "success criteria", "grading criteria", "LLM-as-judge" | `Skill(skill="tooluniverse-self-review")` |
---