npx skills add ...
npx skills add mims-harvard/tooluniverse --skill tooluniverse-inorganic-physical-chemistry
Inorganic chemistry, physical chemistry, and materials science — crystal structures, coordination chemistry, lattice parameters, thermodynamic properties, electronic structure. Use for unit cell volume calculations, coordination geometry, materials property estimation, and inorganic-mechanism reasoning. Complementary to tooluniverse-organic-chemistry.
npx skills add mims-harvard/tooluniverse --skill tooluniverse-inorganic-physical-chemistry
When given crystal structure data, always COMPUTE don't guess:
Calculate unit cell volume for the crystal system:
Verify density: d = (Z * M) / (V * Na * 1e-24) where V in ų, M in g/mol, Na = 6.022e23
Preferred: Use CrystalStructure_validate tool (via MCP/SDK). Fallback: python3 skills/tooluniverse-organic-chemistry/scripts/crystal_validator.py --a X --b Y --c Z --alpha A --beta B --gamma G --Z N --MW M --density D
For batch comparison (find the wrong dataset): Save datasets as JSON array and use --datasets path/to/datasets.json
When you need REAL experimental crystal data (not user-supplied numbers to validate), use the Crystallography Open Database (COD) tools — see below. CrystalStructure_validate checks internal consistency of numbers you already have; COD looks up actual deposited structures.
COD_search_structures and COD_get_structure query the Crystallography Open Database (500,000+ experimentally determined structures — inorganic, organic, mineral, and metal-organic). Use when a compound/mineral name, chemical formula, elements, or space group is named and you need real unit-cell parameters, space group, and publication details rather than computing from given numbers.
Verified live: COD_search_structures({"el1":"Si","el2":"O","nel":"2","results":10}) returns real SiO2 polymorph entries (e.g. COD ID 1000007, a=9.7397, b=8.9174, c=5.2503 Å); COD_get_structure({"id":"1515581"}) returns real aspirin crystal data (P 1 21/c 1, sgNumber 14, cell volume 825.44 ų, temperature 123 K). Workflow: search first (by formula/elements/mineral/text) to find candidate COD IDs, then COD_get_structure on a specific ID for the full record including DOI/journal/authors. query/text and spacegroup/sg and max_results/results are alias pairs — use either name.
Gotcha: some search combinations legitimately return zero results (verified live) — an empty data: [] with count: 0 means no matching structures in COD, not a broken query; try relaxing filters (drop sgNumber, widen nel) before concluding the compound isn't in COD.
Key reasoning patterns:
python3 skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py point_groups for point group lookupCOMPUTE DON'T ESTIMATE — write Python code for:
Preferred: Use EquilibriumSolver_calculate tool (via MCP/SDK) with type, ksp, stoich, and other parameters. Fallback: run equilibrium_solver.py directly.
Key points:
ksp_kf mode solves the full charge-balance system numerically (Newton's method) — accounts for free cation, complex anion, and OH-/H+ simultaneouslyMX_b + X- <-> MX_(b+1)-, K_overall = Ksp * Kfcommon_ion mode uses bisection to solve the exact Ksp expression with extra ion concentration--stoich a:b matching the salt formula (e.g., 1:3 for Al(OH)3, 1:2 for CaF2, 1:1 for AgCl)python3 skills/tooluniverse-organic-chemistry/scripts/chemistry_facts.py for reference data.| Tool | Use For |
|---|---|
PubChem_get_CID_by_compound_name | Get compound CID from name |
PubChem_get_compound_properties_by_CID | Detailed compound data by CID |
ChEMBL_search_molecules | Bioactive compounds |
PubMed_search_articles | Literature on synthesis conditions, properties |
CrystalStructure_validate tool (or crystal_validator.py fallback) | Verify crystal structure data consistency |
EquilibriumSolver_calculate tool (or equilibrium_solver.py fallback) | Ksp, complex formation, common-ion solubility |
COD_search_structures / COD_get_structure | Look up real deposited crystal structures (unit cell, space group, DOI) from the Crystallography Open Database |