CatGo Workflow Skill
SkillDev toolsCreate and manage computational chemistry workflows with CatGo. Supports VASP, CP2K, ORCA, MLP, LAMMPS. Build OER/HER/CO2RR workflows, geometry optimization, frequency analysis, Gibbs energy calculations.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the CatGo Workflow Skill skill
What this skill tells your AI
The instructions your AI receives, as published by hello-qm/catgo-lrg in server/catgo/workflow/SKILL.md and read by ahel’s review.
Quick Start — Python API
from catgo.workflow import Workflow
from catgo.workflow.builtins import geo_opt, freq, gibbs_energy
wf = Workflow("RuO2 OER")
# Input structure
slab = wf.add_task("structure_input", structure=structure_json)
# Geometry optimization → Frequency → Gibbs Energy
opt = wf.add_task(geo_opt, structure=slab.output.structure, ENCUT=520, system_name="*OH")
frq = wf.add_task(freq, structure=opt.output.structure, system_name="*OH",
freeze_mode="layers", freeze_layers=4)
gib = wf.add_task(gibbs_energy, energy=opt.output.energy,
frequencies=frq.output.frequencies, system_name="*OH")
wf.submit() # Engine picks it up automatically
HPC Confirmation Gate: By default, HPC tasks pause at
PENDING_REVIEWafter local preprocessing completes, so users can verify structures and parameters before spending HPC resources. Users confirm via the frontend "Confirm & Submit" button (per-task or "Confirm All"). To skip this gate, callwf.submit(auto_submit=True).HPC Confirmation Required: Before calling
wf.submit()orcatgo_workflow_engine(action="submit"), you MUST ask the user which HPC cluster to use and confirm job parameters (partition,account,walltime,ntasks). These can be set per-task viaadd_taskparams. Never submit without user confirmation.
Available Task Types
HPC Calculations
geo_opt— Geometry optimization (VASP/CP2K/ORCA/MLP)single_point— Single point energy (VASP/CP2K/ORCA)freq— Vibrational frequencies (VASP/CP2K/ORCA)cell_opt— Cell optimization (VASP/CP2K)md— Molecular dynamics (VASP/CP2K/LAMMPS/MLP)ts_search— Transition state search (Sella/ORCA NEB-TS)
Local Analysis
gibbs_energy— G = E_DFT + ZPE - TSfree_energy_diagram— Plot reaction energy diagramdos_analysis— Density of states analysischarge_analysis— Bader charge analysis
Structure Building
structure_input— Provide input structureslab_gen— Generate surface slabadsorbate_place— Place adsorbate on surface
Key Parameters
VASP
software="vasp",ENCUT,EDIFF,EDIFFG,NSW,ISIF,IBRIONISMEAR,SIGMA,ISPIN,NCORE,KPAR
Frequency
freeze_mode: "none", "layers", "z_range", "element", "indices", "manual"freeze_layers: number of bottom layers to freezefreeze_z_below: freeze atoms below this z coordinate (Angstrom)
Gibbs Energy
phase: "adsorbed" (harmonic) or "gas" (ideal gas)temperature: K (default 298.15)freq_cutoff: cm-1 (default 50, for adsorbed phase)
Output References
Connect tasks by passing .output.key:
opt.output.structure # optimized structure
opt.output.energy # DFT energy (eV)
frq.output.frequencies # vibrational frequencies
frq.output.zpe # zero-point energy
gib.output.gibbs # Gibbs free energy
Workflow Patterns
OER Overpotential
for ads in ["OH", "O", "OOH"]:
opt = wf.add_task(geo_opt, structure=slab.output.structure,
system_name=f"*{ads}")
frq = wf.add_task(freq, structure=opt.output.structure,
freeze_mode="layers", freeze_layers=4)
gib = wf.add_task(gibbs_energy, energy=opt.output.energy,
frequencies=frq.output.frequencies, phase="adsorbed")
Convergence Test
for encut in [400, 500, 600, 700]:
wf.add_task(single_point, structure=struct.output.structure,
ENCUT=encut, system_name=f"ENCUT={encut}")
Signals
- GitHub stars
- 198
- Forks
- 23
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packages (in skills/campaign/scripts/campaign_lit.py)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
workflow-hello-qm- Source
- github.com/hello-qm/catgo-lrg