plugins/tooluniverse/skills/tooluniverse-inorganic-physical-chemistry/SKILL.md
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 skillsauth add mims-harvard/tooluniverse tooluniverse-inorganic-physical-chemistryInstall 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.
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
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.
# Simple Ksp: MaXb(s) <-> aM + bX
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
--type ksp_simple --ksp 5.3e-27 --stoich 1:3
# Ksp + complex formation (e.g., Al(OH)3 in water with Al(OH)4- complex)
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
--type ksp_kf --ksp 5.3e-27 --kf 1.1e33 --stoich 1:3
# Common ion effect (e.g., AgCl in 0.1M NaCl)
python3 skills/tooluniverse-inorganic-physical-chemistry/scripts/equilibrium_solver.py \
--type common_ion --ksp 1.77e-10 --stoich 1:1 --common-ion 0.1
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 |
tools
Generate the success criteria for a task or question, then review work against them. Given a task, goal, or open-ended question, decompose it into scenarios, evaluation perspectives, and fine-grained weighted YES/NO criteria using the Recursive Expansion Tree (RET) method; if work is supplied, score it criterion-by-criterion and surface what is missing or could be better. Use when asked to self-review or check your own work, judge whether a task is done well or completely, build a definition-of-done or completeness checklist, create an evaluation rubric or grading criteria, score or grade answers to a question, set up an LLM-as-judge rubric, or when the user mentions self-review, completeness check, success criteria, evaluation criteria, scoring rubric, Qworld, or the RET algorithm.
tools
Find the real protein target(s) of a peptide from its sequence — peptide target deorphanization / off-target identification, for ANY target class (GPCR, ion channel, protease, cytokine/growth-factor receptor, enzyme, integrin), not only GPCRs. Use when a peptide has a phenotype but does not bind its hypothesized target, when a peptide binds a target in one species or assay but not another, or to screen candidate targets for an orphan peptide. A target-class router steers a multi-route keyless pipeline (PROSITE/ELM motif, BLAST homology, HGNC/InterPro/GPCRdb/GtoPdb target-family enumeration, OpenTargets phenotype anchor, EnsemblCompara/Alliance cross-species reconciliation) plus optional NVIDIA-NIM co-folding (Boltz2, AlphaFold2-Multimer, OpenFold3) for structural confirmation.
tools
Install or update ToolUniverse in Claude Science — create the conda env, install the tooluniverse pip package, and (re)build the tooluniverse-research skill by fetching the current workflow library from GitHub. Use for first-time setup, upgrading the ToolUniverse version, refreshing the bundled workflows after an upstream release, or reinstalling on a new machine.
tools
Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on OpenAI Codex. ALWAYS consult this skill for any of those — don't answer from memory, because the exact marketplace name (mims-harvard/ToolUniverse), the "codex plugin marketplace add" then "codex plugin add -m tooluniverse" flow, Codex's startup auto-upgrade behavior, the uvx tooluniverse MCP server, and the API-key env vars are easy to get wrong. Use it whenever someone wants to get ToolUniverse (or "the 1000+ scientific tools" / "the harvard tools") working on Codex, says the Codex plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Codex updates it, wants to pin or remove it, or finds it running an old tool version — even if they never say the word "plugin". Not for the Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.