Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: orca-router description: Routes ORCA calculation requests to opt, neb_ts, or freq sub-skills. Enforces ORCA-specific policies for method, basis set, charge, and multiplicity.
ORCA Router Skill
When to Use
Use this skill when the user requests any ORCA-based calculation. Route to the appropriate sub-skill based on what the user needs:
| User intent | Route to | |
|---|---|---|
| Geometry optimization, energy minimization | orca/opt | |
| Transition state, NEB, reaction barrier | orca/neb_ts | |
| Vibrational frequencies, IR spectrum, thermochemistry | orca/freq |
ORCA-Specific Policies
Method and Basis Set Defaults
Always set software: "orca" in workflow node params. Default method/basis combinations by use case:
| Use case | Method | Basis | Notes | |
|---|---|---|---|---|
| General organic | B3LYP | def2-SVP | Good balance of cost/accuracy | |
| Production organic | B3LYP | def2-TZVP | Publication quality | |
| Transition metals | PBE0 | def2-SVP | Better for d-electrons | |
| Weak interactions | B3LYP-D3BJ | def2-TZVP | Dispersion-corrected | |
| Quick screening | HF-3c | (built-in) | Composite, very fast | |
| Accurate energies | DLPNO-CCSD(T) | cc-pVTZ | Gold standard, expensive |
Charge and Multiplicity
ORCA requires explicit charge and multiplicity for every calculation. Always ask the user or infer from the structure:
- Neutral closed-shell:
charge: 0, multiplicity: 1 - Radical (one unpaired e-):
charge: 0, multiplicity: 2 - Anion:
charge: -1, multiplicity: 1(or 2 if radical anion) - Cation:
charge: 1, multiplicity: 1(or 2 if radical cation) - Transition metal complexes: determine from d-electron count and ligand field
If unsure, ask the user. Never guess multiplicity for open-shell systems.
Solvent Models
ORCA supports implicit solvation via CPCM:
orca_extra_keywords: "CPCM(Water)"
Common solvents: Water, Acetonitrile, DMSO, THF, Toluene, DCM.
MCP Tool Examples
Check what the user has loaded
catgo_view(action: "get_state")
Always check the viewer state first to confirm a molecular structure is loaded (not a periodic crystal -- ORCA is for molecular calculations).
Create an ORCA optimization workflow
catgo_workflow_engine(action: "create", params: {name: "Ethanol B3LYP optimization"})
Then add an ORCA geo_opt task (see orca/opt skill for full details):
catgo_workflow_engine(action: "add_task", params: {workflow_id: "<wf_id>",task_type: "geo_opt",params: {software: "orca",orca_method: "B3LYP",orca_basis: "def2-SVP",charge: 0,multiplicity: 1}})
Create an ORCA frequency workflow
catgo_workflow_engine(action: "add_task", params: {workflow_id: "<wf_id>",task_type: "freq",params: {software: "orca",orca_method: "B3LYP",orca_basis: "def2-SVP",charge: 0,multiplicity: 1}})
Opt + Freq chain (common pattern)
After creating the workflow, add both tasks and connect them:
catgo_workflow_engine(action: "add_task", params: {workflow_id: "<wf_id>",task_type: "geo_opt",task_id: "opt1",params: { software: "orca", orca_method: "B3LYP", orca_basis: "def2-SVP",charge: 0, multiplicity: 1 }})
catgo_workflow_engine(action: "add_task", params: {workflow_id: "<wf_id>",task_type: "freq",depends_on: ["opt1"],params: { software: "orca", orca_method: "B3LYP", orca_basis: "def2-SVP",charge: 0, multiplicity: 1 }})
Routing Decision Tree
- Does the user want to find a transition state or reaction barrier?
- YES -> route to
orca/neb_ts
- Does the user want vibrational frequencies, IR spectrum, or thermochemistry?
- YES -> route to
orca/freq
- Does the user want to optimize a geometry or get an energy?
- YES -> route to
orca/opt
- Unsure? Ask the user what property they need.
Common Mistakes
- Using ORCA for periodic systems (ORCA is molecular only -- use VASP or CP2K)
- Forgetting charge/multiplicity (ORCA will fail or give wrong results)
- Using too large a basis for initial screening (start with def2-SVP)
- Not including dispersion for systems with non-covalent interactions