skills/domains/chemistry/chemgraph-agent-guide/SKILL.md
Automate molecular simulations with the ChemGraph agentic framework
npx skillsauth add wentorai/research-plugins chemgraph-agent-guideInstall 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.
ChemGraph is an agentic framework from Argonne National Lab that automates molecular simulation workflows using LLMs. Built on LangGraph and ASE (Atomic Simulation Environment), it enables natural language control of computational chemistry tasks — structure generation, geometry optimization, thermochemistry, and more. Supports DFT (NWChem, ORCA), semi-empirical (xTB), and ML potentials (MACE).
pip install chemgraph
# Or via Docker
docker pull ghcr.io/argonne-lcf/chemgraph:latest
from chemgraph import ChemGraphAgent
agent = ChemGraphAgent(
llm_provider="anthropic",
calculator="xtb", # fast semi-empirical
)
# Natural language molecular tasks
result = agent.run("Optimize the geometry of caffeine and calculate its vibrational frequencies")
print(result.energy)
print(result.frequencies)
# Thermochemistry
result = agent.run("Calculate the enthalpy of formation of ethanol at 298K")
print(f"ΔHf = {result.enthalpy:.2f} kJ/mol")
| Calculator | Type | Speed | Accuracy | |-----------|------|-------|----------| | xTB (TBLite) | Semi-empirical | Fast | Moderate | | MACE | ML potential | Fast | Good | | NWChem | Ab initio DFT | Slow | High | | ORCA | Ab initio/DFT | Slow | High | | UMA | Universal ML | Fast | Good |
# Multi-step workflow
workflow = agent.create_workflow([
"Generate 3D structure of aspirin from SMILES",
"Optimize geometry with DFT/B3LYP/6-31G*",
"Calculate IR spectrum",
"Identify key functional group vibrations",
])
results = workflow.execute()
# Reaction pathway
pathway = agent.run(
"Find the transition state for the Diels-Alder reaction "
"between butadiene and ethylene"
)
from ase.io import read
from chemgraph.calculators import get_calculator
# Use ChemGraph's calculator with ASE directly
atoms = read("molecule.xyz")
calc = get_calculator("xtb")
atoms.calc = calc
energy = atoms.get_potential_energy()
forces = atoms.get_forces()
ChemGraph uses LangGraph's state machine to orchestrate:
tools
10 document processing skills. Trigger: extracting text from PDFs, parsing references, document Q&A. Design: parsing pipelines (GROBID, marker) and structured extraction tools.
documentation
Guide to tldraw for infinite canvas whiteboarding and diagram creation
testing
Create graphical abstracts, schematic diagrams, and scientific illustrations
documentation
Create UML diagrams and architecture visualizations with PlantUML