cli-tool/components/skills/scientific/metabolomics-workbench-database/SKILL.md
Access NIH Metabolomics Workbench via REST API (4,200+ studies). Query metabolites, RefMet nomenclature, MS/NMR data, m/z searches, study metadata, for metabolomics and biomarker discovery.
npx skillsauth add davila7/claude-code-templates metabolomics-workbench-databaseInstall 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.
The Metabolomics Workbench is a comprehensive NIH Common Fund-sponsored platform hosted at UCSD that serves as the primary repository for metabolomics research data. It provides programmatic access to over 4,200 processed studies (3,790+ publicly available), standardized metabolite nomenclature through RefMet, and powerful search capabilities across multiple analytical platforms (GC-MS, LC-MS, NMR).
This skill should be used when querying metabolite structures, accessing study data, standardizing nomenclature, performing mass spectrometry searches, or retrieving gene/protein-metabolite associations through the Metabolomics Workbench REST API.
Access comprehensive metabolite information including structures, identifiers, and cross-references to external databases.
Key operations:
Example queries:
import requests
# Get compound information by PubChem CID
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/pubchem_cid/5281365/all/json')
# Download molecular structure as PNG
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/11/png')
# Get compound name by registry number
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/11/name/json')
Query metabolomics studies by various criteria and retrieve complete experimental datasets.
Key operations:
Example queries:
# List all available public studies
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST/available/json')
# Get study summary
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/summary/json')
# Retrieve experimental data
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/data/json')
# Find studies containing a specific metabolite
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/refmet_name/Tyrosine/summary/json')
Use the RefMet database to standardize metabolite names and access systematic classification across four structural resolution levels.
Key operations:
Example queries:
# Standardize a metabolite name
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/match/citrate/name/json')
# Query by molecular formula
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/formula/C12H24O2/all/json')
# Get all metabolites in a specific class
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/main_class/Fatty%20Acids/all/json')
# Retrieve complete RefMet database
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/all/json')
Search for compounds by mass-to-charge ratio (m/z) with specified ion adducts and tolerance levels.
Key operations:
Example queries:
# Search by m/z value with M+H adduct
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/MB/635.52/M+H/0.5/json')
# Calculate exact mass for a metabolite with specific adduct
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/exactmass/PC(34:1)/M+H/json')
# Search across RefMet database
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/REFMET/200.15/M-H/0.3/json')
Use the MetStat context to find studies matching specific experimental conditions.
Key operations:
Example queries:
# Find human blood studies on diabetes using LC-MS
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/LCMS;POSITIVE;HILIC;Human;Blood;Diabetes/json')
# Find all human blood studies containing tyrosine
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/;;;Human;Blood;;;Tyrosine/json')
# Filter by analytical method only
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/GCMS;;;;;;/json')
Retrieve gene and protein data associated with metabolic pathways and metabolite metabolism.
Key operations:
Example queries:
# Get gene information by symbol
response = requests.get('https://www.metabolomicsworkbench.org/rest/gene/gene_symbol/ACACA/all/json')
# Retrieve protein data by UniProt ID
response = requests.get('https://www.metabolomicsworkbench.org/rest/protein/uniprot_id/Q13085/all/json')
To find all studies containing measurements of a specific metabolite:
First standardize the metabolite name using RefMet:
response = requests.get('https://www.metabolomicsworkbench.org/rest/refmet/match/glucose/name/json')
Use the standardized name to search for studies:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/refmet_name/Glucose/summary/json')
Retrieve experimental data from specific studies:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST000001/data/json')
To identify potential compounds from mass spectrometry m/z values:
Perform m/z search with appropriate adduct and tolerance:
response = requests.get('https://www.metabolomicsworkbench.org/rest/moverz/MB/180.06/M+H/0.5/json')
Review candidate compounds from results
Retrieve detailed information for candidate compounds:
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/{regno}/all/json')
Download structures for confirmation:
response = requests.get('https://www.metabolomicsworkbench.org/rest/compound/regno/{regno}/png')
To find metabolomics studies for a specific disease and analytical platform:
Use MetStat to filter studies:
response = requests.get('https://www.metabolomicsworkbench.org/rest/metstat/LCMS;POSITIVE;;Human;;Cancer/json')
Review study IDs from results
Access detailed study information:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST{ID}/summary/json')
Retrieve complete experimental data:
response = requests.get('https://www.metabolomicsworkbench.org/rest/study/study_id/ST{ID}/data/json')
The API supports two primary output formats:
Specify format by appending /json or /txt to API URLs. When format is omitted, JSON is returned by default.
Use RefMet for standardization: Always standardize metabolite names through RefMet before searching studies to ensure consistent nomenclature
Specify appropriate adducts: When performing m/z searches, use the correct ion adduct type for your analytical method (e.g., M+H for positive mode ESI)
Set reasonable tolerances: Use appropriate mass tolerance values (typically 0.5 Da for low-resolution, 0.01 Da for high-resolution MS)
Cache reference data: Consider caching frequently used reference data (RefMet database, compound information) to minimize API calls
Handle pagination: For large result sets, be prepared to handle multiple data structures in responses
Validate identifiers: Cross-reference metabolite identifiers across multiple databases when possible to ensure correct compound identification
Detailed API reference documentation is available in references/api_reference.md, including:
Load this reference file when detailed API specifications are needed or when working with less common endpoints.
tools
No-code automation democratizes workflow building. Zapier and Make (formerly Integromat) let non-developers automate business processes without writing code. But no-code doesn't mean no-complexity - these platforms have their own patterns, pitfalls, and breaking points. This skill covers when to use which platform, how to build reliable automations, and when to graduate to code-based solutions. Key insight: Zapier optimizes for simplicity and integrations (7000+ apps), Make optimizes for power
tools
Use only when the user explicitly asks to stage, commit, push, and open a GitHub pull request in one flow using the GitHub CLI (`gh`).
tools
Workflow automation is the infrastructure that makes AI agents reliable. Without durable execution, a network hiccup during a 10-step payment flow means lost money and angry customers. With it, workflows resume exactly where they left off. This skill covers the platforms (n8n, Temporal, Inngest) and patterns (sequential, parallel, orchestrator-worker) that turn brittle scripts into production-grade automation. Key insight: The platforms make different tradeoffs. n8n optimizes for accessibility
development
Trigger.dev expert for background jobs, AI workflows, and reliable async execution with excellent developer experience and TypeScript-first design. Use when: trigger.dev, trigger dev, background task, ai background job, long running task.