New to Claude Skills? Learn how to install them →

mims-harvard on GitHub

Chemical Compound Retrieval

Free

Access detailed chemical compound data effortlessly.

Get this skill

Free · Opens the source repo

What Chemical Compound Retrieval does

The Chemical Compound Retrieval skill allows users to efficiently retrieve and validate chemical compound data from reputable databases such as PubChem and ChEMBL. This skill is particularly useful for researchers, chemists, and developers working in fields related to chemistry and pharmaceuticals who need accurate and comprehensive information about various chemical compounds. By leveraging this skill, users can avoid common pitfalls associated with ambiguous compound names and ensure they are working with the correct data.

The skill operates through a structured workflow that begins with disambiguation, where it resolves compound names to unique identifiers like SMILES, InChI, and ChEMBL IDs. This is crucial for compounds that may have multiple forms, such as Vitamin D, which can refer to several different structures. The tool prioritizes clarity and accuracy, ensuring that users receive the correct compound information without having to guess or make assumptions.

Once disambiguation is complete, the skill retrieves detailed data about the compound, including molecular properties, bioactivity, and drug information if applicable. It also cross-references data between PubChem and ChEMBL to confirm the accuracy of the information provided. This dual-source verification is essential for researchers who require reliable data for their work, particularly in drug development and chemical analysis.

Overall, the Chemical Compound Retrieval skill is an invaluable tool for anyone needing to access and verify chemical compound information quickly and accurately, streamlining the research process and enhancing data reliability.

When to use it

Use this skill when you need to retrieve detailed chemical information and validate compound identities from authoritative databases.

When not to use it

Avoid using this skill for non-chemical queries or when working with highly specialized compounds not covered by PubChem or ChEMBL.

What you can build with it

Retrieving Drug Information

Use the skill to fetch detailed drug information and bioactivity data for compounds being studied in drug development.

Cross-Referencing Compound Data

Leverage the skill to cross-validate compound identities across PubChem and ChEMBL for research accuracy.

Disambiguating Compound Names

Utilize the disambiguation feature to clarify compound names that may refer to multiple structures before data retrieval.

How to install Chemical Compound Retrieval

View source

1. Install with the skills CLI

npx skills add mims-harvard/tooluniverse/tooluniverse-chemical-compound-retrieval --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by mims-harvard

Chemical Compound Information Retrieval

Retrieve comprehensive chemical compound data with proper disambiguation and cross-database validation.

LOOK UP DON'T GUESS: Never assume a CID, ChEMBL ID, or molecular property value. Always retrieve from PubChem/ChEMBL.

English-first: Always use English compound names in tool calls. Respond in user's language.

Domain Reasoning: Disambiguation

"Aspirin" = one compound. "Vitamin D" = multiple forms (D2/D3/active metabolite). For generic class names (steroids, vitamins, acids), present candidates and confirm before proceeding.


Workflow

Phase 0: Clarify (only if highly ambiguous -- skip for unambiguous names or specific IDs)
Phase 1: Disambiguate → resolve PubChem CID + ChEMBL ID
Phase 2: Retrieve data (silent)
Phase 3: Report compound profile

Phase 1: Disambiguation

# By name
result = tu.tools.PubChem_get_CID_by_compound_name(compound_name=name)
# By SYSTEMATIC (IUPAC) name -> structure, deterministic parser (no DB lookup)
opsin = tu.tools.OPSIN_name_to_structure(name="2-acetoxybenzoic acid")
# Returns {parsed, smiles, inchi, inchikey}; use the SMILES/InChIKey to anchor a
# PubChem_get_CID_by_SMILES lookup. Trade/trivial names give parsed=false -> fall
# back to PubChem_get_CID_by_compound_name for those.
# By SMILES
result = tu.tools.PubChem_get_CID_by_SMILES(smiles=smiles)
# Cross-reference
chembl_result = tu.tools.ChEMBL_search_molecules(query=name, limit=5)

Verify: CID + ChEMBL ID + canonical SMILES + stereochemistry + salt forms.

Phase 2: Data Retrieval

PubChem: PubChem_get_compound_properties_by_CID, PubChemBioAssay_get_assay_summary, PubChemTox_get_acute_effects, PubChem_get_compound_2D_image_by_CID

ChEMBL: ChEMBL_get_compound_record_activities, ChEMBL_get_molecule_targets, ChEMBL_get_assay_activities

Optional: PubChem_get_associated_patents_by_CID, PubChem_search_compounds_by_similarity

Phase 3: Report

Compound Profile with: Identity (CID, ChEMBL ID, IUPAC, SMILES), Chemical Properties (MW, LogP, HBD, HBA, PSA, Lipinski), Bioactivity (targets, IC50/Ki), Drug Info (if approved), Data Sources.


Fallback Chains

PrimaryFallback
PubChem name lookup (systematic name)OPSIN_name_to_structure → SMILES/InChIKey → PubChem_get_CID_by_SMILES
PubChem name lookupChEMBL search → SMILES → PubChem_get_CID_by_SMILES
ChEMBL bioactivityPubChem bioassay summary
Drug labelNote "unavailable"

Evidence Grading

GradeCriteria
ConfirmedCID + ChEMBL cross-match, InChI/SMILES agree
ProbableCID found, partial ChEMBL match
UncertainSingle database only, or multiple CIDs
UnverifiedNo cross-reference, single-source

Bioactivity: ChEMBL > PubChem BioAssay for curated data. IC50/Ki < 100nM = potent, 100nM-1uM = moderate, >10uM = weak. Lipinski violations reduce oral bioavailability but don't disqualify.


SMILES Verification

Always verify novel SMILES: python3 src/tooluniverse/tools/smiles_verifier.py --smiles "SMILES_STRING". Invalid SMILES produce wrong results or cryptic errors.


Tool Reference

PubChem: PubChem_get_CID_by_compound_name, PubChem_get_CID_by_SMILES, PubChem_get_compound_properties_by_CID, PubChem_get_compound_2D_image_by_CID, PubChemBioAssay_get_assay_summary, PubChemTox_get_acute_effects, PubChem_get_associated_patents_by_CID, PubChem_search_compounds_by_similarity, PubChem_search_compounds_by_substructure

ChEMBL: ChEMBL_search_drugs, ChEMBL_get_molecule, ChEMBL_get_activity, ChEMBL_get_target, ChEMBL_search_targets, ChEMBL_search_assays

Name parsing: OPSIN_name_to_structure (param name) — deterministic IUPAC/systematic-name → SMILES/InChI/InChIKey parser; the go-to for resolving a systematic name to structure without a DB round-trip. Trade/trivial names return parsed=false (use PubChem name lookup for those).

Frequently asked questions about Chemical Compound Retrieval

Similar skills