ToolUniverse is a collection of tools, interfaces, and supporting components for building AI systems that perform scientific work. It is for developers creating AI scientist agents that use APIs, databases, machine-learning tools, and domain-specific utilities. The catalogue includes skills, commands, an MCP server, an agent, and a hook for working with the ecosystem.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mims-harvard/ToolUniverse --skill tooluniverse-variant-analysisgit clone --depth 1 https://github.com/mims-harvard/ToolUniverseWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mims-harvard/tooluniverse/tooluniverse-variant-analysis)<a href="https://agentmods.dev/skills/mims-harvard/tooluniverse/tooluniverse-variant-analysis"><img src="https://agentmods.dev/badge/skills/mims-harvard/tooluniverse/tooluniverse-variant-analysis/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mims-harvard/tooluniverse/tooluniverse-variant-analysis"><img src="https://agentmods.dev/badge/skills/mims-harvard/tooluniverse/tooluniverse-variant-analysis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk warn
- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00317 | $0.12962 |
| Opus 5.5 | $0.00127 | $0.05185 |
| Sonnet 5.5 | $0.00063 | $0.02592 |
| Haiku 4.5 | $0.00032 | $0.01296 |
Grade A, and why
tooluniverse-variant-analysis scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 19d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
ToolUniverse: a direct `curl` to How it starts
The opening of the file, as written. The whole thing — 809 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Variant Analysis and Annotation
RULE ZERO — Check for pre-computed results FIRST
Before following any instruction below, scan the data folder for:
*_executed.ipynb→ read withtu run read_executed_notebook '{"data_folder":"<path>","search":"<keyword>"}'and cite its cell outputs as the authoritative answer- Pre-computed result files (CSV/TSV with names like
*results*,*deseq*,*enrich*,*stats*,*_simplified.csv) → read directly and report the requested value - Canonical analysis scripts (
analysis.R,run_*.py,find_*.R,*.Rmd) → execute as-is and read the output
Only follow this skill's re-analysis recipe below if none of the above exist. Re-running from raw data produces different numbers than the published answer and is much slower (often 5-10× turn count).
PRIMARY SCRIPTS — use these FIRST
These bundled scripts encode the question-specific gotchas (denominator
choices, ploidy defaults, multi-allelic split, multi-row Excel headers,
non-coding allowlist). They emit labelled KEY=VALUE lines that are
easier to parse than ad-hoc pandas/awk output. Prefer them over writing
new code.
| Script | When to use it |
|---|---|
gatk_haplotypecaller_pipeline.py |
Any "how many SNPs / indels were called by HaplotypeCaller from the BAM" question. Handles BWA index → align → sort → index → HaplotypeCaller, OR can start from an existing BAM (skip alignment), OR only count an existing VCF. Default --ploidy 2 (matches GATK's own default — most "called by HaplotypeCaller" GTs were generated with this). Pass --ploidy 1 for explicit haploid prokaryote calling. Multi-allelic split + bcftools-style SNP/indel detection is built in. |
coding_variant_filter.py |
"Average number of CHIP / coding variants per sample after filtering out intronic, intergenic, and UTR variants." Two-stage canonical filter: (1) drop Zygosity == Reference rows (when present — these inflate counts ~10×), (2) drop intronic/intergenic/UTR/upstream/downstream SO terms. Handles 2-row VarSeq Excel headers and per-sample folders or combined CSVs. |
variant_fraction.py |
"Fraction of variants with VAF < X annotated as Y" — denominator is the CODING subset only (synonymous/missense/splice_region/stop_gained/lost/start_lost/frameshift/inframe indel), NOT all records. |
What ships with it
16 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .env.template 499 B
- python_implementation.py 64 KB runs code
- QUICK_START.md 9.9 KB
- references/annotation_guide.md 13 KB
- references/mutation_classification_guide.md 8.9 KB
- references/sv_cnv_analysis.md 16 KB
- references/variant_notation_conversion.md 7.1 KB
- references/vcf_filtering.md 8.0 KB
- scripts/annotate_variants.py 5.7 KB runs code
- scripts/coding_variant_filter.py 11 KB runs code
- scripts/filter_variants.py 8.7 KB runs code
- scripts/gatk_haplotypecaller_pipeline.py 14 KB runs code
- scripts/parse_vcf.py 5.6 KB runs code
- scripts/variant_fraction.py 4.8 KB runs code
- test_data/cohort2.vcf 2.3 KB
- test_data/sample.vcf 6.0 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 19d ago Changed · +306 lines · +240 tokens per session 9581f1f99e84
- 1mo ago First seen · 503 lines · 77 tokens per session scan A 966edcda4d9d
tooluniverse-variant-analysis is a skill published in the GitHub repository mims-harvard/ToolUniverse (1,757 stars, last pushed today), licensed Apache-2.0. It adds 317 tokens to every session and 12,962 once invoked, about $0.0013 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
ai-agent-tool-routing
Use when designing or reviewing an AI agent tool registry or MCP router: document parameter schemas, caller authorization, execution limits, replay-safe retries and verification evidence.
nanoresearch-writing
Draft a LaTeX research paper from all previous stage outputs.
ontology-explorer
Parse, navigate, and query materials science ontology structures — browse class hierarchies, inspect individual classes and their properties, look up object and data property definitions with domain/range, search for ontology terms by keyword, and parse or summarize raw OWL/XML files. Currently supports CMSO and ASMO…
simulation-orchestrator
Orchestrate multi-simulation campaigns — generate parameter sweep configurations (grid, linspace, or Latin Hypercube sampling), initialize and track batch job campaigns, monitor job completion status, and aggregate results with summary statistics across all runs. Use when running a parameter study across dt, kappa, or…
hpc-runtime-doctor
Diagnose HPC runtime and scheduler problems for materials simulations, including MPI/OpenMP/GPU layout, modules, CUDA/Kokkos hints, scratch paths, walltime, job arrays, restart strategy, scheduler portability, and resource mismatch. Use when an ALREADY-SUBMITTED job failed, ran slowly, got killed, or behaved…
simulation-failure-triage
First-response triage for cross-code (LAMMPS/VASP/QE/MOOSE) simulation failures: classifies the failure signature (nonconvergence, NaN/Inf, exploding energy, unstable timestep, pressure blow-up, missing potentials/pseudopotentials, memory exhaustion, process crash/segfault, corrupted output, incomplete runs) and…