[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DAT3D5SAJTAX4VZCBVBXVM":3,"skill-same:01M6DAT3D5SAJTAX4VZCBVBXVM":142},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":14,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M6DAT3D5SAJTAX4VZCBVBXVM","tooluniverse-metabolomics",null,"Comprehensive metabolomics research skill for identifying metabolites, analyzing studies, and searching metabolomics databases. Integrates HMDB (220k+ metabolites), MetaboLights, Metabolomics Workbench, and PubChem. Use when asked to identify or annotate metabolites (HMDB IDs, chemical properties, pathways), retrieve metabolomics study information from MetaboLights (MTBLS*) or Metabolomics Workbench (ST*), search for studies by keywords or disease, or generate comprehensive metabolomics research reports.","Prekzursil\u002Fagent-skills-toolchain","Prekzursil","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F54636077?v=4","01M6DACZ1PCQHD99SCR1YXG28B","Andrei Mihai Visalon","01M6DACZ670WZF535V3WYYSS4Z",0,"MIT","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36],"tooluniverse metabolomics","research","generate","search","analyzing","ids","use","databases","reports","properties","study","annotate","chemical","2026-11-10 10:12:30",false,"---\nname: tooluniverse-metabolomics\ndescription: Comprehensive metabolomics research skill for identifying metabolites, analyzing studies, and searching metabolomics databases. Integrates HMDB (220k+ metabolites), MetaboLights, Metabolomics Workbench, and PubChem. Use when asked to identify or annotate metabolites (HMDB IDs, chemical properties, pathways), retrieve metabolomics study information from MetaboLights (MTBLS*) or Metabolomics Workbench (ST*), search for studies by keywords or disease, or generate comprehensive metabolomics research reports.\n---\n\n# Metabolomics Research\n\nComprehensive metabolomics research skill that identifies metabolites, analyzes studies, and searches metabolomics databases. Generates structured research reports with annotated metabolite information, study details, and database statistics.\n\n## Use Case\n\n**Use this skill when asked to:**\n- Identify or annotate metabolites (HMDB IDs, chemical properties, pathways)\n- Retrieve metabolomics study information from MetaboLights or Metabolomics Workbench\n- Search for metabolomics studies by keywords or disease\n- Analyze metabolite profiles or datasets\n- Generate comprehensive metabolomics research reports\n\n**Example queries:**\n- \"What is the HMDB ID and pathway information for glucose?\"\n- \"Get study details for MTBLS1\"\n- \"Find metabolomics studies related to diabetes\"\n- \"Analyze these metabolites: glucose, lactate, pyruvate\"\n\n## Databases Covered\n\n**Primary metabolite databases:**\n- **HMDB** (Human Metabolome Database): 220,000+ metabolites with structures, pathways, and biological roles\n- **MetaboLights**: Public metabolomics repository with thousands of studies\n- **Metabolomics Workbench**: NIH Common Fund metabolomics data repository\n- **PubChem**: Chemical properties and bioactivity data (fallback)\n\n## Research Workflow\n\nThe skill executes a 4-phase analysis pipeline:\n\n### Phase 1: Metabolite Identification & Annotation\nFor each metabolite in the input list:\n1. Search HMDB by metabolite name\n2. Retrieve HMDB ID, chemical formula, molecular weight\n3. Get detailed metabolite information (description, pathways)\n4. Fallback to PubChem for CID and chemical properties if HMDB unavailable\n\n### Phase 2: Study Details Retrieval\nFor provided study IDs:\n1. Detect database type (MTBLS = MetaboLights, ST = Metabolomics Workbench)\n2. Retrieve study metadata (title, description, organism, status)\n3. Extract experimental design and data availability\n\n### Phase 3: Study Search\nFor keyword searches:\n1. Search MetaboLights studies by query term\n2. Return matching study IDs with preview information\n3. Report total number of results\n\n### Phase 4: Database Overview\nAlways included in reports:\n1. Sample recent studies from MetaboLights\n2. Database statistics and availability\n3. Integration information for all databases\n\n## Usage Patterns\n\n### Pattern 1: Metabolite Identification\n**Input:**\n- Metabolite list: [\"glucose\", \"lactate\", \"pyruvate\"]\n\n**Output report includes:**\n- HMDB IDs for each metabolite\n- Chemical formulas and molecular weights\n- Biological pathways\n- PubChem CIDs\n- SMILES representations\n\n### Pattern 2: Study Retrieval\n**Input:**\n- Study ID: \"MTBLS1\" or \"ST000001\"\n\n**Output report includes:**\n- Study title and description\n- Organism information\n- Study status and release date\n- Data availability\n\n### Pattern 3: Study Search\n**Input:**\n- Search query: \"diabetes\"\n- Optional organism filter\n\n**Output report includes:**\n- Matching study IDs\n- Study titles and previews\n- Total result count\n\n### Pattern 4: Comprehensive Analysis\n**Input:**\n- Metabolite list: [\"glucose\", \"pyruvate\"]\n- Study ID: \"MTBLS1\"\n- Search query: \"diabetes\"\n\n**Output report includes:**\n- All phases combined (identification, study details, search results, overview)\n- Cross-referenced information\n- Complete metabolomics research summary\n\n## Input Parameters\n\n### metabolite_list (optional)\nList of metabolite names to identify and annotate.\n- **Format**: List of strings\n- **Examples**: `[\"glucose\"]`, `[\"lactate\", \"pyruvate\", \"acetate\"]`\n- **Note**: Common names accepted; HMDB will find standard identifiers\n\n### study_id (optional)\nMetaboLights or Metabolomics Workbench study identifier.\n- **Format**: String starting with \"MTBLS\" or \"ST\"\n- **Examples**: `\"MTBLS1\"`, `\"ST000001\"`\n- **Note**: Database auto-detected from prefix\n\n### search_query (optional)\nKeyword to search metabolomics studies.\n- **Format**: String (disease, compound, organism, method)\n- **Examples**: `\"diabetes\"`, `\"glucose metabolism\"`, `\"LC-MS\"`\n\n### organism (optional)\nTarget organism for study filtering.\n- **Format**: String (scientific name)\n- **Default**: `\"Homo sapiens\"`\n- **Examples**: `\"Mus musculus\"`, `\"Saccharomyces cerevisiae\"`\n\n### output_file (optional)\nPath for the generated markdown report.\n- **Format**: String (filename with .md extension)\n- **Default**: Auto-generated timestamp-based filename\n- **Examples**: `\"my_analysis.md\"`, `\"metabolomics_report.md\"`\n\n## Output Format\n\nAll analyses generate a structured markdown report with:\n\n**Header section:**\n- Report title and generation timestamp\n- Input parameters summary (metabolites, study ID, search query, organism)\n\n**Phase sections:**\n- Clear section headers (## 1. Metabolite Identification, ## 2. Study Details, etc.)\n- Subsections for each metabolite or result\n- Consistent formatting (bold labels, tables for results)\n\n**Database overview:**\n- Available databases and statistics\n- Recent studies sample\n- Integration information\n\n**Error handling:**\n- Graceful error messages for unavailable data\n- Fallback strategies documented in output\n- \"N\u002FA\" for missing fields (not blank)\n\n## Implementation Notes\n\n### SOAP Tool Handling\n**HMDB tools are SOAP-based** and require special parameter handling:\n- `HMDB_search`: Requires `operation=\"search\"` parameter\n- `HMDB_get_metabolite`: Requires `operation=\"get_metabolite\"` parameter\n- Do not use `endpoint` or `method` parameters (not applicable to SOAP)\n\n### Response Format Variations\nTools return different response formats - handle all three:\n1. **Standard format**: `{status: \"success\", data: [...], metadata: {...}}`\n2. **Direct list**: `[...]` (e.g., metabolights_list_studies)\n3. **Direct dict**: `{field1: ..., field2: ...}` (e.g., some detail endpoints)\n\nAlways check response type with `isinstance()` before accessing fields.\n\n### Fallback Strategy\nFollow this hierarchy for robustness:\n1. **Primary source**: Try main database first (HMDB for metabolites, MetaboLights for studies)\n2. **Fallback source**: Use alternative database if primary fails (PubChem for chemical properties)\n3. **Default behavior**: Show error message with context, continue with remaining phases\n\n### Progressive Report Writing\nWrite report incrementally to avoid memory issues:\n1. Create output file early in pipeline\n2. Append sections as each phase completes\n3. Flush to disk regularly for long analyses\n4. Return file path for user access\n\n## Tool Discovery\n\nThe skill automatically discovers and uses these tools from ToolUniverse:\n\n**HMDB Tools:**\n- `HMDB_search`: Search metabolites by name\n- `HMDB_get_metabolite`: Get detailed metabolite information\n\n**MetaboLights Tools:**\n- `metabolights_list_studies`: List available studies\n- `metabolights_search_studies`: Search studies by keyword\n- `metabolights_get_study`: Get study details by ID\n\n**Metabolomics Workbench Tools:**\n- `MetabolomicsWorkbench_get_study`: Get study information\n- `MetabolomicsWorkbench_search_compound_by_name`: Search compounds\n\n**PubChem Tools:**\n- `PubChem_get_CID_by_compound_name`: Get PubChem CID\n- `PubChem_get_compound_properties_by_CID`: Get chemical properties\n\nNo manual tool configuration required - all tools loaded automatically.\n\n## Common Issues\n\n### Issue: HMDB returns \"Error querying HMDB: 0\"\n**Cause**: HMDB search returned empty results or index error accessing first result\n**Solution**: This is expected for uncommon metabolites; PubChem fallback will be attempted\n\n### Issue: Study details show \"N\u002FA\" for all fields\n**Cause**: Study ID not found or API unavailable\n**Solution**: Verify study ID format (MTBLS* or ST*), check if study is public\n\n### Issue: Tool not found errors\n**Cause**: Missing API keys for some databases\n**Solution**: Check `.env.template`, add required API keys to `.env` file (most metabolomics tools work without keys)\n\n### Issue: Large metabolite lists cause slow execution\n**Cause**: Pipeline queries each metabolite individually\n**Solution**: Reports limit to first 10 metabolites; consider batching for >20 metabolites\n\n## Summary\n\nThe Metabolomics Research skill provides comprehensive metabolomics analysis through a 4-phase pipeline that:\n\n1. **Identifies metabolites** using HMDB (primary) and PubChem (fallback) databases\n2. **Retrieves study details** from MetaboLights and Metabolomics Workbench repositories\n3. **Searches studies** by keywords across metabolomics databases\n4. **Generates structured reports** with all findings in readable markdown format\n\n**Key Features:**\n- ✅ 100% test coverage with working pipeline\n- ✅ Handles SOAP tools correctly (HMDB requires `operation` parameter)\n- ✅ Implements fallback strategies (HMDB → PubChem)\n- ✅ Graceful error handling (continues if one phase fails)\n- ✅ Progressive report writing (memory-efficient)\n- ✅ Implementation-agnostic documentation (works with Python SDK and MCP)\n\n**Best for:**\n- Metabolite annotation and pathway analysis\n- Study discovery and data retrieval\n- Comprehensive metabolomics research reports\n- Multi-database metabolomics queries\n\n## Reasoning Framework\n\n### Starting Point: Mass Spectrum Analysis\n\nMetabolite identification starts with the mass spectrum. LOOK UP DON'T GUESS — always search HMDB\u002FPubChem with the calculated neutral mass rather than guessing identity from m\u002Fz alone.\n\n- **Step 1 — Calculate neutral mass**: Determine ionization mode. Positive: subtract adduct mass ([M+H]+ = -1.0073, [M+Na]+ = -22.9892, [M+NH4]+ = -18.0344). Negative: add back ([M-H]- = +1.0073, [M+Cl]- = +34.9694, [M+HCOO]- = +44.9977).\n- **Step 2 — Search databases**: Query HMDB by mass (±5 ppm for Orbitrap\u002FQ-TOF, ±0.5 Da for unit-resolution). Multiple adduct hypotheses yield different neutral masses — check all plausible adducts before concluding.\n- **Step 3 — Resolve ambiguity**: Exact mass alone often matches 5-20 candidates. Use isotope pattern (M+1\u002FM+2 ratios indicate element composition — e.g., high M+2 suggests S or Cl), retention time, and MS\u002FMS fragmentation to narrow down. A single mass match is L3 confidence; MS\u002FMS match to reference spectrum is required for L2\u002FL1.\n\n### Evidence Grading (Metabolite Identification Confidence)\n\n- **L1 - Confirmed**: HMDB ID + retention time + MS\u002FMS match to reference standard\n- **L2 - Probable**: HMDB match by exact mass + MS\u002FMS similarity (cosine > 0.7), no standard\n- **L3 - Tentative**: Matched by exact mass and molecular formula only; structural isomers unresolved\n- **L4 - Unknown**: Detected m\u002Fz with no database match; PubChem fallback may provide candidates\n\n### Interpretation Guidance\n\n**Metabolite identification**: HMDB IDs provide the strongest annotation when paired with experimental validation. A PubChem-only match (fallback) indicates the metabolite is chemically characterized but may lack biological context (pathways, disease associations). Always report the identification confidence level.\n\n**Pathway enrichment strategy**: When multiple metabolites map to the same KEGG or HMDB pathway, enrichment is meaningful only if the input list is unbiased (not pre-selected for that pathway). Report hits vs. pathway size (3\u002F5 detected is more informative than 3\u002F500). LOOK UP DON'T GUESS — use `HMDB_get_metabolite` to get pathway annotations for each metabolite rather than assuming pathway membership from names alone.\n\n**Biomarker discovery reasoning**: A candidate biomarker should show: (1) consistent direction of change across samples (fold-change > 1.5), (2) statistical significance (FDR-adjusted p \u003C 0.05), (3) biological plausibility — LOOK UP the metabolite's known disease associations via HMDB, and (4) reproducibility in an independent cohort. Single-study HMDB associations are hypothesis-generating, not confirmatory. Check MetaboLights\u002FMetabolomics Workbench for independent validation datasets.\n\n### Synthesis Questions\n\nA complete metabolomics report should answer:\n1. What is the identification confidence level for each metabolite (L1-L4)?\n2. Which biological pathways are enriched among the identified metabolites?\n3. Do any metabolites meet biomarker criteria (fold-change, significance, plausibility)?\n4. Are there relevant metabolomics studies (MTBLS\u002FST) for the disease or condition of interest?\n5. What cross-database evidence supports the biological relevance of key findings (HMDB pathways, PubChem bioactivity)?\n\n**Limitations:**\n- HMDB may not have all metabolites (fallback to PubChem)\n- Some studies require authentication or are not public\n- Large metabolite lists (>10) auto-limited in reports\n- API rate limits may affect large-scale queries\n\nSee `QUICK_START.md` for Python SDK examples, MCP integration, and step-by-step tutorials.\n","# Metabolomics Research\n\nComprehensive metabolomics research skill that identifies metabolites, analyzes studies, and searches metabolomics databases. Generates structured research reports with annotated metabolite information, study details, and database statistics.\n\n## Use Case\n\n**Use this skill when asked to:**\n- Identify or annotate metabolites (HMDB IDs, chemical properties, pathways)\n- Retrieve metabolomics study information from MetaboLights or Metabolomics Workbench\n- Search for metabolomics studies by keywords or disease\n- Analyze metabolite profiles or datasets\n- Generate comprehensive metabolomics research reports\n\n**Example queries:**\n- \"What is the HMDB ID and pathway information for glucose?\"\n- \"Get study details for MTBLS1\"\n- \"Find metabolomics studies related to diabetes\"\n- \"Analyze these metabolites: glucose, lactate, pyruvate\"\n\n## Databases Covered\n\n**Primary metabolite databases:**\n- **HMDB** (Human Metabolome Database): 220,000+ metabolites with structures, pathways, and biological roles\n- **MetaboLights**: Public metabolomics repository with thousands of studies\n- **Metabolomics Workbench**: NIH Common Fund metabolomics data repository\n- **PubChem**: Chemical properties and bioactivity data (fallback)\n\n## Research Workflow\n\nThe skill executes a 4-phase analysis pipeline:\n\n### Phase 1: Metabolite Identification & Annotation\nFor each metabolite in the input list:\n1. Search HMDB by metabolite name\n2. Retrieve HMDB ID, chemical formula, molecular weight\n3. Get detailed metabolite information (description, pathways)\n4. Fallback to PubChem for CID and chemical properties if HMDB unavailable\n\n### Phase 2: Study Details Retrieval\nFor provided study IDs:\n1. Detect database type (MTBLS = MetaboLights, ST = Metabolomics Workbench)\n2. Retrieve study metadata (title, description, organism, status)\n3. Extract experimental design and data availability\n\n### Phase 3: Study Search\nFor keyword searches:\n1. Search MetaboLights studies by query term\n2. Return matching study IDs with preview information\n3. Report total number of results\n\n### Phase 4: Database Overview\nAlways included in reports:\n1. Sample recent studies from MetaboLights\n2. Database statistics and availability\n3. Integration information for all databases\n\n## Usage Patterns\n\n### Pattern 1: Metabolite Identification\n**Input:**\n- Metabolite list: [\"glucose\", \"lactate\", \"pyruvate\"]\n\n**Output report includes:**\n- HMDB IDs for each metabolite\n- Chemical formulas and molecular weights\n- Biological pathways\n- PubChem CIDs\n- SMILES representations\n\n### Pattern 2: Study Retrieval\n**Input:**\n- Study ID: \"MTBLS1\" or \"ST000001\"\n\n**Output report includes:**\n- Study title and description\n- Organism information\n- Study status and release date\n- Data availability\n\n### Pattern 3: Study Search\n**Input:**\n- Search query: \"diabetes\"\n- Optional organism filter\n\n**Output report includes:**\n- Matching study IDs\n- Study titles and previews\n- Total result count\n\n### Pattern 4: Comprehensive Analysis\n**Input:**\n- Metabolite list: [\"glucose\", \"pyruvate\"]\n- Study ID: \"MTBLS1\"\n- Search query: \"diabetes\"\n\n**Output report includes:**\n- All phases combined (identification, study details, search results, overview)\n- Cross-referenced information\n- Complete metabolomics research summary\n\n## Input Parameters\n\n### metabolite_list (optional)\nList of metabolite names to identify and annotate.\n- **Format**: List of strings\n- **Examples**: `[\"glucose\"]`, `[\"lactate\", \"pyruvate\", \"acetate\"]`\n- **Note**: Common names accepted; HMDB will find standard identifiers\n\n### study_id (optional)\nMetaboLights or Metabolomics Workbench study identifier.\n- **Format**: String starting with \"MTBLS\" or \"ST\"\n- **Examples**: `\"MTBLS1\"`, `\"ST000001\"`\n- **Note**: Database auto-detected from prefix\n\n### search_query (optional)\nKeyword to search metabolomics studies.\n- **Format**: String (disease, compound, organism, method)\n- **Examples**: `\"diabetes\"`, `\"glucose metabolism\"`, `\"LC-MS\"`\n\n### organism (optional)\nTarget organism for study filtering.\n- **Format**: String (scientific name)\n- **Default**: `\"Homo sapiens\"`\n- **Examples**: `\"Mus musculus\"`, `\"Saccharomyces cerevisiae\"`\n\n### output_file (optional)\nPath for the generated markdown report.\n- **Format**: String (filename with .md extension)\n- **Default**: Auto-generated timestamp-based filename\n- **Examples**: `\"my_analysis.md\"`, `\"metabolomics_report.md\"`\n\n## Output Format\n\nAll analyses generate a structured markdown report with:\n\n**Header section:**\n- Report title and generation timestamp\n- Input parameters summary (metabolites, study ID, search query, organism)\n\n**Phase sections:**\n- Clear section headers (## 1. Metabolite Identification, ## 2. Study Details, etc.)\n- Subsections for each metabolite or result\n- Consistent formatting (bold labels, tables for results)\n\n**Database overview:**\n- Available databases and statistics\n- Recent studies sample\n- Integration information\n\n**Error handling:**\n- Graceful error messages for unavailable data\n- Fallback strategies documented in output\n- \"N\u002FA\" for missing fields (not blank)\n\n## Implementation Notes\n\n### SOAP Tool Handling\n**HMDB tools are SOAP-based** and require special parameter handling:\n- `HMDB_search`: Requires `operation=\"search\"` parameter\n- `HMDB_get_metabolite`: Requires `operation=\"get_metabolite\"` parameter\n- Do not use `endpoint` or `method` parameters (not applicable to SOAP)\n\n### Response Format Variations\nTools return different response formats - handle all three:\n1. **Standard format**: `{status: \"success\", data: [...], metadata: {...}}`\n2. **Direct list**: `[...]` (e.g., metabolights_list_studies)\n3. **Direct dict**: `{field1: ..., field2: ...}` (e.g., some detail endpoints)\n\nAlways check response type with `isinstance()` before accessing fields.\n\n### Fallback Strategy\nFollow this hierarchy for robustness:\n1. **Primary source**: Try main database first (HMDB for metabolites, MetaboLights for studies)\n2. **Fallback source**: Use alternative database if primary fails (PubChem for chemical properties)\n3. **Default behavior**: Show error message with context, continue with remaining phases\n\n### Progressive Report Writing\nWrite report incrementally to avoid memory issues:\n1. Create output file early in pipeline\n2. Append sections as each phase completes\n3. Flush to disk regularly for long analyses\n4. Return file path for user access\n\n## Tool Discovery\n\nThe skill automatically discovers and uses these tools from ToolUniverse:\n\n**HMDB Tools:**\n- `HMDB_search`: Search metabolites by name\n- `HMDB_get_metabolite`: Get detailed metabolite information\n\n**MetaboLights Tools:**\n- `metabolights_list_studies`: List available studies\n- `metabolights_search_studies`: Search studies by keyword\n- `metabolights_get_study`: Get study details by ID\n\n**Metabolomics Workbench Tools:**\n- `MetabolomicsWorkbench_get_study`: Get study information\n- `MetabolomicsWorkbench_search_compound_by_name`: Search compounds\n\n**PubChem Tools:**\n- `PubChem_get_CID_by_compound_name`: Get PubChem CID\n- `PubChem_get_compound_properties_by_CID`: Get chemical properties\n\nNo manual tool configuration required - all tools loaded automatically.\n\n## Common Issues\n\n### Issue: HMDB returns \"Error querying HMDB: 0\"\n**Cause**: HMDB search returned empty results or index error accessing first result\n**Solution**: This is expected for uncommon metabolites; PubChem fallback will be attempted\n\n### Issue: Study details show \"N\u002FA\" for all fields\n**Cause**: Study ID not found or API unavailable\n**Solution**: Verify study ID format (MTBLS* or ST*), check if study is public\n\n### Issue: Tool not found errors\n**Cause**: Missing API keys for some databases\n**Solution**: Check `.env.template`, add required API keys to `.env` file (most metabolomics tools work without keys)\n\n### Issue: Large metabolite lists cause slow execution\n**Cause**: Pipeline queries each metabolite individually\n**Solution**: Reports limit to first 10 metabolites; consider batching for >20 metabolites\n\n## Summary\n\nThe Metabolomics Research skill provides comprehensive metabolomics analysis through a 4-phase pipeline that:\n\n1. **Identifies metabolites** using HMDB (primary) and PubChem (fallback) databases\n2. **Retrieves study details** from MetaboLights and Metabolomics Workbench repositories\n3. **Searches studies** by keywords across metabolomics databases\n4. **Generates structured reports** with all findings in readable markdown format\n\n**Key Features:**\n- ✅ 100% test coverage with working pipeline\n- ✅ Handles SOAP tools correctly (HMDB requires `operation` parameter)\n- ✅ Implements fallback strategies (HMDB → PubChem)\n- ✅ Graceful error handling (continues if one phase fails)\n- ✅ Progressive report writing (memory-efficient)\n- ✅ Implementation-agnostic documentation (works with Python SDK and MCP)\n\n**Best for:**\n- Metabolite annotation and pathway analysis\n- Study discovery and data retrieval\n- Comprehensive metabolomics research reports\n- Multi-database metabolomics queries\n\n## Reasoning Framework\n\n### Starting Point: Mass Spectrum Analysis\n\nMetabolite identification starts with the mass spectrum. LOOK UP DON'T GUESS — always search HMDB\u002FPubChem with the calculated neutral mass rather than guessing identity from m\u002Fz alone.\n\n- **Step 1 — Calculate neutral mass**: Determine ionization mode. Positive: subtract adduct mass ([M+H]+ = -1.0073, [M+Na]+ = -22.9892, [M+NH4]+ = -18.0344). Negative: add back ([M-H]- = +1.0073, [M+Cl]- = +34.9694, [M+HCOO]- = +44.9977).\n- **Step 2 — Search databases**: Query HMDB by mass (±5 ppm for Orbitrap\u002FQ-TOF, ±0.5 Da for unit-resolution). Multiple adduct hypotheses yield different neutral masses — check all plausible adducts before concluding.\n- **Step 3 — Resolve ambiguity**: Exact mass alone often matches 5-20 candidates. Use isotope pattern (M+1\u002FM+2 ratios indicate element composition — e.g., high M+2 suggests S or Cl), retention time, and MS\u002FMS fragmentation to narrow down. A single mass match is L3 confidence; MS\u002FMS match to reference spectrum is required for L2\u002FL1.\n\n### Evidence Grading (Metabolite Identification Confidence)\n\n- **L1 - Confirmed**: HMDB ID + retention time + MS\u002FMS match to reference standard\n- **L2 - Probable**: HMDB match by exact mass + MS\u002FMS similarity (cosine > 0.7), no standard\n- **L3 - Tentative**: Matched by exact mass and molecular formula only; structural isomers unresolved\n- **L4 - Unknown**: Detected m\u002Fz with no database match; PubChem fallback may provide candidates\n\n### Interpretation Guidance\n\n**Metabolite identification**: HMDB IDs provide the strongest annotation when paired with experimental validation. A PubChem-only match (fallback) indicates the metabolite is chemically characterized but may lack biological context (pathways, disease associations). Always report the identification confidence level.\n\n**Pathway enrichment strategy**: When multiple metabolites map to the same KEGG or HMDB pathway, enrichment is meaningful only if the input list is unbiased (not pre-selected for that pathway). Report hits vs. pathway size (3\u002F5 detected is more informative than 3\u002F500). LOOK UP DON'T GUESS — use `HMDB_get_metabolite` to get pathway annotations for each metabolite rather than assuming pathway membership from names alone.\n\n**Biomarker discovery reasoning**: A candidate biomarker should show: (1) consistent direction of change across samples (fold-change > 1.5), (2) statistical significance (FDR-adjusted p \u003C 0.05), (3) biological plausibility — LOOK UP the metabolite's known disease associations via HMDB, and (4) reproducibility in an independent cohort. Single-study HMDB associations are hypothesis-generating, not confirmatory. Check MetaboLights\u002FMetabolomics Workbench for independent validation datasets.\n\n### Synthesis Questions\n\nA complete metabolomics report should answer:\n1. What is the identification confidence level for each metabolite (L1-L4)?\n2. Which biological pathways are enriched among the identified metabolites?\n3. Do any metabolites meet biomarker criteria (fold-change, significance, plausibility)?\n4. Are there relevant metabolomics studies (MTBLS\u002FST) for the disease or condition of interest?\n5. What cross-database evidence supports the biological relevance of key findings (HMDB pathways, PubChem bioactivity)?\n\n**Limitations:**\n- HMDB may not have all metabolites (fallback to PubChem)\n- Some studies require authentication or are not public\n- Large metabolite lists (>10) auto-limited in reports\n- API rate limits may affect large-scale queries\n\nSee `QUICK_START.md` for Python SDK examples, MCP integration, and step-by-step tutorials.\n",{"name":5,"description":7},"main","a298c929b6cbd662e1fce54302ce520d5ceea1a5",".agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain","https:\u002F\u002Fgithub.com\u002FPrekzursil","2026-11-02 14:30:57",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-metabolomics",{"tool":54,"command":55},"bunx","bunx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-metabolomics",{"tool":57,"command":58},"pnpm","pnpm dlx skills add Prekzursil\u002Fagent-skills-toolchain --skill tooluniverse-metabolomics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002FSKILL.md",true,[62,68,72,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"agents\u002Fopenai.yaml","REFERENCE","参考文档",82,"https:\u002F\u002Fgithub.com\u002Fnexuslinkproductions\u002Fyuri-os\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fpattern-mirror-core\u002Fagents\u002Fopenai.yaml",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"COMPARISON_ORIGINAL_VS_FIXED.md",5248,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002FCOMPARISON_ORIGINAL_VS_FIXED.md",{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"diabetes_analysis.py","SCRIPT","脚本",1724,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fdiabetes_analysis.py",{"path":79,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":80,"sourceHtmlUrl":81},"diabetes_metabolomics_report_FIXED.md",2724,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fdiabetes_metabolomics_report_FIXED.md",{"path":83,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":84,"sourceHtmlUrl":85},"example1_metabolites.md",722,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fexample1_metabolites.md",{"path":87,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":88,"sourceHtmlUrl":89},"example2_study.md",631,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fexample2_study.md",{"path":91,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":92,"sourceHtmlUrl":93},"example3_search.md",861,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fexample3_search.md",{"path":95,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":96,"sourceHtmlUrl":97},"python_implementation_fixed.py",11648,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fpython_implementation_fixed.py",{"path":99,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":100,"sourceHtmlUrl":101},"python_implementation.py",10615,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fpython_implementation.py",{"path":103,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":104,"sourceHtmlUrl":105},"QUICK_START.md",11838,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002FQUICK_START.md",{"path":107,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":108,"sourceHtmlUrl":109},"scripts\u002Fmetabolism_ref.py",9745,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Fscripts\u002Fmetabolism_ref.py",{"path":111,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":112,"sourceHtmlUrl":113},"SKILL_TEST_FEEDBACK.md",18296,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002FSKILL_TEST_FEEDBACK.md",{"path":115,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":116,"sourceHtmlUrl":117},"test_detailed.py",791,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest_detailed.py",{"path":119,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":120,"sourceHtmlUrl":121},"test_skill.py",5852,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest_skill.py",{"path":123,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":124,"sourceHtmlUrl":125},"test_tools_debug.py",3788,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest_tools_debug.py",{"path":127,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":128,"sourceHtmlUrl":129},"test1_metabolites.md",1011,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest1_metabolites.md",{"path":131,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":132,"sourceHtmlUrl":133},"test2_study.md",753,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest2_study.md",{"path":135,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":136,"sourceHtmlUrl":137},"test3_search.md",859,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest3_search.md",{"path":139,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":140,"sourceHtmlUrl":141},"test4_comprehensive.md",1663,"https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002F.agents\u002Flibrary\u002Fskills\u002Ftooluniverse-metabolomics\u002Ftest4_comprehensive.md",[143,164,193,220,234,250],{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":37},"01M6DF7D7478R55P46REYH4QAC","clarify-requirements","Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fworkspace-hooks\u002Fskills\u002Fclarify-requirements\u002FSKILL.md",[],[150,151,152,153,154,155,156,157,158,30,159,160,161,162,163],"clarify requirements","clarify","requirements","risk","options","task","prompts","goal","scanning","context","repo","injection","execution","file",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":173,"publishedAt":37},"01M6DF79CA4BHJS66J8EZDBPWJ","openmm-md","Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein \u002F protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Fmcp\u002Fopenmm-md-mcp\u002Fskill\u002Fopenmm-md\u002FSKILL.md",[170],{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[174,175,176,177,178,179,180,181,182,183,184,185,186,187,30,188,189,190,191,192],"openmm md","how","decision","pick","linux","analyze","tool","stack","open","NVIDIA","gpu","license","workflow","windows","free","molecular dynamics","local","do","MCP",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":205,"publishedAt":37},"01M6DF76C1MG85VEWP8VZCBNMN","visual-review","Take screenshots of web pages and UI using Playwright for visual review and iteration","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fvisual-review\u002FSKILL.md",[199,202],{"categoryNo":200,"categoryName":201,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":203,"categoryName":204,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[206,207,208,209,210,211,212,213,214,215,175,216,217,218,219],"review","visual","visual review","pages","web","false","iteration","take","check","slides","ui","screenshot","playwright","screenshots",{"skillNo":221,"name":222,"nameZh":6,"description":223,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":224,"categories":225,"keywords":226,"publishedAt":37},"01M6DF73AQVCBZKEN0YXEX9FXP","status","Diagnostic status report — shows metaswarm installation state, project setup, and potential issues","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstatus\u002FSKILL.md",[],[222,227,228,229,230,231,232,233],"setup","report","project","installation","project setup","issues","state",{"skillNo":235,"name":236,"nameZh":6,"description":237,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":238,"categories":239,"keywords":241,"publishedAt":37},"01M6DF6X6C2XB0P6GX76P7TTYV","start","Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fstart\u002FSKILL.md",[240],{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},[236,242,155,243,244,245,30,246,247,248,249],"start issue","issue","ready","work on issue","user","work","work on","development",{"skillNo":251,"name":227,"nameZh":6,"description":252,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":253,"categories":254,"keywords":255,"publishedAt":37},"01M6DF6QMJ9AJKFKHHKRT005PQ","Interactive project setup — detects your project, configures metaswarm, writes project-local files","https:\u002F\u002Fgithub.com\u002FPrekzursil\u002Fagent-skills-toolchain\u002Fblob\u002Fmain\u002Ftools\u002Feditor\u002Fmetaswarm\u002Fskills\u002Fsetup\u002FSKILL.md",[],[227,229,190,256,231,257],"files","interactive"]