ORCA Router Skill

SkillDev tools

Routes ORCA calculation requests to opt, neb_ts, or freq sub-skills. Enforces ORCA-specific policies for method, basis set, charge, and multiplicity.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the ORCA Router Skill skill

What this skill tells your AI

The instructions your AI receives, as published by hello-qm/catgo-lrg in server/catgo/workflow/skills/orca/SKILL.md and read by ahel’s review.

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 intentRoute to
Geometry optimization, energy minimizationorca/opt
Transition state, NEB, reaction barrierorca/neb_ts
Vibrational frequencies, IR spectrum, thermochemistryorca/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 caseMethodBasisNotes
General organicB3LYPdef2-SVPGood balance of cost/accuracy
Production organicB3LYPdef2-TZVPPublication quality
Transition metalsPBE0def2-SVPBetter for d-electrons
Weak interactionsB3LYP-D3BJdef2-TZVPDispersion-corrected
Quick screeningHF-3c(built-in)Composite, very fast
Accurate energiesDLPNO-CCSD(T)cc-pVTZGold 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

  1. Does the user want to find a transition state or reaction barrier?
    • YES -> route to orca/neb_ts
  2. Does the user want vibrational frequencies, IR spectrum, or thermochemistry?
    • YES -> route to orca/freq
  3. Does the user want to optimize a geometry or get an energy?
    • YES -> route to orca/opt
  4. 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

Signals

GitHub stars
196
Forks
23
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
orca-router
Source
github.com/hello-qm/catgo-lrg