Agent skill

Orca Freq

by Hello-QM in Hello-QM/catgo-LRG

ORCA frequency calculation. An agent skill from Hello-QM/catgo-LRG.

AGPL-3.0Auto-check passed

Install Orca Freq

skills CLI
$ npx skills add Hello-QM/catgo-LRG --skill orca-freq -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Hello-QM/catgo-LRG orca-freq --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Hello-QM/catgo-LRG.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/orca-freq .claude/skills/orca-freq && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
orca-freq
GitHub stars
205
Token cost
~2.8k tokens
SKILL.md length
833 words
Files
1
Skills in repo
75
Repo updated
First seen
Licence
AGPL-3.0

At a glance

ORCA frequency calculation. An agent skill from Hello-QM/catgo-LRG.

  • Works in 8 steps: Confirm structure is loaded and find… → Create the workflow (auto-captures… → Add the freq node (or opt → freq chain) → …
  • SKILL.md covers When to Use, Prerequisites, MCP Tool Examples — proven… and Interpreting Results, plus 4 more sections
  • Calls curl and pip

What it does

Orca Freq is an agent skill from Hello-QM/catgo-LRG. ORCA frequency calculation. Computes vibrational frequencies, IR intensities, zero-point energy, and thermochemistry at specified temperature/pressure.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: AI-driven workbench for computational materials science — interactive 3D structure viewer, natural-language CatBot assistant, visual DAG workflow engine, HPC job submission… The licence is AGPL-3.0.

Example prompts

  • “/orca-freq”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Confirm structure is loaded and find Expanse session_id
  2. Create the workflow (auto-captures viewer structure)
  3. Add the freq node (or opt → freq chain)
  4. Optional: append a Gibbs energy node
  5. Run with the full HPC run_config
  6. Monitor
  7. Pull results when COMPLETED
  8. Parse with OPI

What it can do on your machine

Read from SKILL.md and the folder at commit fd6291b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use curl and pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Orca Freq loads about 2.8k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 833 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Hello-QM/catgo-LRG at commit fd6291b, republished under its AGPL-3.0 licence (© Hello-QM). 833 words, ~2,781 tokens.

Download SKILL.mdSave it as .claude/skills/orca-freq/SKILL.md (or your agent's skills folder).
name
orca-freq
description
ORCA frequency calculation. Computes vibrational frequencies, IR intensities, zero-point energy, and thermochemistry at specified temperature/pressure.

ORCA Frequency Calculation Skill

When to Use

Use this skill when the user wants to:

  • Compute vibrational frequencies of a molecule
  • Get an IR spectrum
  • Calculate zero-point energy (ZPE)
  • Obtain thermochemical quantities (enthalpy, entropy, Gibbs free energy)
  • Verify a transition state (exactly one imaginary frequency)
  • Confirm a minimum (no imaginary frequencies)

Prerequisites

The input structure MUST be optimized at the same level of theory used for the frequency calculation. Running frequencies on an unoptimized structure will produce meaningless imaginary frequencies.

MCP Tool Examples — proven Expanse submission flow

Use catgo_workflow (graph-based), NOT catgo_workflow_engine (task-based). The graph-based tool auto-captures the viewer structure on create and supports connecting opt→freq via explicit node edges. Task-based add_task doesn't attach the viewer structure → "No input structure provided". Param keys also differ: graph-based uses method/basis, task-based uses orca_method/orca_basis.

1. Confirm structure is loaded and find Expanse session_id
json
catgo_view(action: "get_state")
bash
curl -s http://localhost:8000/api/hpc/connections

Copy the session_id for host: login.expanse.sdsc.edu.

2. Create the workflow (auto-captures viewer structure)
json
catgo_workflow(action: "create", name: "Water frequencies B3LYP")

This creates a structure_input node with the current viewer structure. Note its node ID.

3. Add the freq node (or opt → freq chain)

Standalone freq (when structure is already optimized at the same level):

Inject extra_blocks: "%output jsongbwfile True jsonpropfile True end" so ORCA emits the JSON files OPI parses.

json
catgo_workflow(action: "batch", workflow_id: "<wf_id>", operations: [
  {"op": "add_node", "node_type": "freq", "label": "freq1",
   "params": {
     "software": "orca",
     "method": "B3LYP",
     "basis": "def2-SVP",
     "charge": 0,
     "multiplicity": 1,
     "extra_blocks": "%output jsongbwfile True jsonpropfile True end"
   }},
  {"op": "connect", "from_id": "<structure_input_id>", "to_id": "freq1",
   "from_handle": "structure", "to_handle": "structure"}
])

Opt → Freq chain (recommended — consistent PES guaranteed):

json
catgo_workflow(action: "batch", workflow_id: "<wf_id>", operations: [
  {"op": "add_node", "node_type": "geo_opt", "label": "opt1",
   "params": {
     "software": "orca",
     "method": "B3LYP",
     "basis": "def2-TZVP",
     "opt_convergence": "TightOpt",
     "dispersion": "D3BJ",
     "charge": 0,
     "multiplicity": 1
   }},
  {"op": "add_node", "node_type": "freq", "label": "freq1",
   "params": {
     "software": "orca",
     "method": "B3LYP",
     "basis": "def2-TZVP",
     "dispersion": "D3BJ",
     "charge": 0,
     "multiplicity": 1
   }},
  {"op": "connect", "from_id": "<structure_input_id>", "to_id": "opt1",
   "from_handle": "structure", "to_handle": "structure"},
  {"op": "connect", "from_id": "opt1", "to_id": "freq1",
   "from_handle": "structure", "to_handle": "structure"}
])

The freq node consumes opt1's optimized structure — no separate depends_on needed; the edge defines the dependency.

4. Optional: append a Gibbs energy node

ORCA reports thermochemistry at 298.15 K / 1 atm by default. For other conditions, chain a gibbs_energy analysis node:

json
{"op": "add_node", "node_type": "gibbs_energy", "label": "gibbs1",
 "params": {"temperature": 373.15, "phase": "gas"}},
{"op": "connect", "from_id": "freq1", "to_id": "gibbs1",
 "from_handle": "frequencies", "to_handle": "frequencies"}
5. Run with the full HPC run_config

run_config MUST include module_loads, orca_dir, account, partition, walltime, and the local-scratch SLURM template. Read server/templates/orca_generic.sh and pass its contents as default_template.

json
catgo_workflow(action: "run", workflow_id: "<wf_id>", run_config: {
  "execution_mode": "hpc",
  "default_session_id": "<expanse_session_id>",
  "base_work_dir": "/expanse/lustre/projects/sdp126/jyang25/ORCA/catgo",
  "default_job_params": {
    "nodes": 1, "ntasks": 4, "cpus_per_task": 1,
    "walltime": "00:30:00", "partition": "debug"
  },
  "cluster_configs": {
    "<expanse_session_id>": {
      "account": "sdp126",
      "partition": "debug",
      "module_loads": "module load cpu/0.17.3b\nmodule load gcc/10.2.0/npcyll4\nexport PATH=$HOME/openmpi-4.1.8/bin:$PATH\nexport LD_LIBRARY_PATH=$HOME/openmpi-4.1.8/lib:$LD_LIBRARY_PATH",
      "orca_dir": "/home/jyang25/orca_6_1_1_RRP8",
      "default_template": "<contents of server/templates/orca_generic.sh>",
      "default_job_params": {
        "nodes": 1, "ntasks": 4, "cpus_per_task": 1,
        "walltime": "00:30:00", "partition": "debug"
      }
    }
  }
})

For freq jobs longer than 30 min, bump walltime and switch partition to shared or compute. The local-scratch template stages I/O to $TMPDIR/orca_$SLURM_JOB_ID — necessary on Expanse (Lustre kills ORCA's many-small-file I/O during numerical Hessians).

6. Monitor
json
catgo_workflow(action: "status", workflow_id: "<wf_id>")
7. Pull results when COMPLETED

Pull the outputs into a local directory, including the OPI JSON files:

bash
mkdir -p ./local_run
for f in ORCA.out ORCA.hess ORCA.property.json ORCA.json; do
  curl -s -X POST http://localhost:8000/api/hpc/files/read-content \
    -H 'Content-Type: application/json' \
    -d "{\"session_id\":\"<expanse_session_id>\",\"file_path\":\"<work_dir>/$f\"}" \
    > ./local_run/$f
done

Parsed result fields (when fetched via catgo_workflow get_result or the results-enriched endpoint):

  • frequencies: list of vibrational frequencies in cm⁻¹
  • intensities: IR intensities in km/mol
  • is_imaginary: boolean flags for each frequency
  • zpe: zero-point energy in eV
  • thermochemistry: dict with H, S, G at standard conditions
8. Parse with OPI

Replaces the hand-grep'd thermochemistry block. Requires pip install orca-pi.

python
import sys
sys.path.insert(0, ".claude/skills")  # for the _shared helper
from _shared.orca_opi import parse_local

out = parse_local("./local_run")

# IR table — replaces frequencies + intensities + is_imaginary trio
ir = out.get_ir()  # dict[int, IrMode]
for mode_idx, mode in ir.items():
    print(mode_idx, mode.wavenumber, mode.intensity, mode.dipole)

# Thermochemistry (units: hartree, hartree/K)
thermo = {
    "zpe_eh":           out.get_zpe(),
    "inner_energy_eh":  out.get_inner_energy(),
    "enthalpy_eh":      out.get_enthalpy(),
    "entropy_eh_per_K": out.get_entropy(),
    "free_energy_eh":   out.get_free_energy(),
    "G_minus_Eel_eh":   out.get_free_energy_delta(),
}

# Imaginary check from the raw frequency list (negatives = imaginary)
freqs = out.results_properties.geometries[0].thermochemistry_energies[0].freq
n_imag = sum(1 for f in freqs if f < 0)
print(f"Imaginary modes: {n_imag}")
Viewing the IR spectrum in the IDE

Use the shared helper to plot a stick spectrum and surface the PNG inline.

python
from _shared.orca_opi import quick_plot_ir, show_png
png = quick_plot_ir(out)             # writes ./local_run/ir_spectrum.png
show_png(png, "IR spectrum")         # prints `![IR spectrum](local_run/ir_spectrum.png)`

After running this, reply to the user with the markdown link the script printed so Claude Code renders the figure inline in chat.

Submission gotchas (real failures we hit)
  • catgo_workflow_engine.add_task doesn't auto-attach the viewer structure → "No input structure provided".
  • partition=workq (Shaheen default) is invalid on Expanse → use debug or shared.
  • Missing account=sdp126 → "Invalid account or account/partition combination".
  • Missing module_loads + orca_dir → orca not on PATH; numerical Hessians silently produce nothing.
  • After re-connecting to Expanse, the session_id changes — re-discover via /api/hpc/connections and update default_session_id + cluster_configs key.
  • Engine doesn't regenerate submit.sh on retry alone — call run with the new run_config to get a fresh script.
Show full SKILL.md (321 more words)Show less

Interpreting Results

Minima verification
  • All frequencies should be real (positive)
  • Small negative frequencies (<50 cm-1) are numerical noise, usually harmless
  • Large imaginary frequencies indicate the structure is NOT a minimum
Transition state verification
  • Exactly ONE imaginary frequency (negative value)
  • The imaginary mode should correspond to the expected reaction coordinate
  • Use catgo_view to visualize the mode
Thermochemistry output

ORCA prints a thermochemistry block with:

QuantitySymbolUnits
Zero-point energyZPEeV (or kcal/mol)
Thermal energyUeV
EnthalpyH = U + pVeV
EntropySeV/K
Gibbs free energyG = H - TSeV

For catalysis, feed the DFT energy and frequencies into gibbs_energy:

  • phase: "adsorbed" -- harmonic approximation (no translational/rotational)
  • phase: "gas" -- ideal gas (includes translation, rotation, vibration)

Frequency Scaling Factors

DFT frequencies are systematically overestimated. Common scaling factors:

MethodScaling factor
B3LYP/def2-SVP0.9813
B3LYP/def2-TZVP0.9654
PBE/def2-SVP0.9948
HF-3c0.86

These are applied automatically by the gibbs_energy task when available.

Common Mistakes

  • Running freq on unoptimized geometry (will show spurious imaginary modes)
  • Using different method/basis for opt and freq (inconsistent PES)
  • Ignoring imaginary frequencies and proceeding with thermochemistry
  • Not using TightOpt for the preceding optimization (loose opt can leave residual forces that appear as small imaginary frequencies)

Canonical params (what the engine actually reads)

ParameterDefaultDescription
methodB3LYPDFT functional
basisdef2-SVPBasis set
charge / multiplicity0 / 1Charge and 2S+1
dispersion(none)D4 | D3BJ | D3 | none. Use this field, NOT extra_keywords.
gridDefGrid2DefGrid1/2/3
wavefunction, uno, uco—Open-shell tweaks
num_cores / max_core_mb4 / 4000%pal nprocs / %maxcore

⚠️ extra_keywords and extra_blocks are NOT read by the engine. Forcing NumFreq, adding CPCM(Water), etc. via those keys silently does nothing. These are current node-def gaps for freq.

ORCA-Specific Notes

  • ORCA uses analytical frequencies when available, numerical otherwise
  • For large molecules (>100 atoms), frequencies become very expensive
  • ORCA output lists frequencies as negative values for imaginary modes (not "i" notation)
  • Forcing NumFreq is currently a gap — analytical Hessians are used by default for whatever functional supports them

© Hello-QM, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/orca-freq of Hello-QM/catgo-LRG.

Open the folder on GitHubat commit fd6291b

Compare with similar skills

Orca Freq next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Orca Freq compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Orca Freq this skillHello-QM/catgo-LRG205—~2.8kAutomated safety check: PassAGPL-3.0
Orca Computer Usestablyai/orca88k—~553Automated safety check: PassMIT
Ito Computeaffaan-m/ECC276k1 repos~1.7kAutomated safety check: PassMIT
Senior Computer Visiondavila7/claude-code-templates32k2 repos~1.4kAutomated safety check: PassMIT
Orcaalsk1992/CloddsBot2.9k—~119Automated safety check: PassMIT
Senior Computer Visionalirezarezvani/claude-skills28k1 repos~3.2kAutomated safety check: PassMIT

Similar skills

  • Orca Computer Use

    stablyai/orca

    Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and screenshots in native apps and…

    88k GitHub stars~553 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Ito Compute

    affaan-m/ECC

    Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, revoke device credentials, and run explicitly gated node qualification through the separately…

    276k GitHub starsUsed in 1 repo~1.7k tokens
    Business, Finance & HRAuto-check passed
  • Senior Computer Vision

    davila7/claude-code-templates

    World-class computer vision skill for image/video processing, object detection, segmentation, and visual AI systems.

    32k GitHub starsUsed in 2 repos~1.4k tokens
    AI & LLM EngineeringAuto-check passed
  • Orca

    alsk1992/CloddsBot

    Orca Whirlpools - concentrated liquidity on Solana. An agent skill from alsk1992/CloddsBot.

    2.9k GitHub stars~119 tokensUpdated 7 days ago
    Auto-check passed
  • Senior Computer Vision

    alirezarezvani/claude-skills

    Computer vision engineering skill for object detection, image segmentation, and visual AI systems.

    28k GitHub starsUsed in 1 repo~3.2k tokens
    AI & LLM EngineeringAuto-check passed
  • Orca Chat Visuals

    stablyai/orca

    Show a chart, diagram, table, report or mockup inline in this Orca chat as an HTML page.

    88k GitHub stars~413 tokensUpdated today
    Frontend & DesignAuto-check passed

More from Hello-QM/catgo-LRG

All 75 skills in this repo
  • Campaign Md Orchestration

    Hello-QM/catgo-LRG

    Drive a file-first, agent-in-the-loop computational campaign via a folder + markdown tree (no DB).

    205 GitHub stars~1.6k tokensUpdated 17 days ago
    Auto-check passed
  • Catgo Gibbs Pipeline

    Hello-QM/catgo-LRG

    Compute adsorption/reaction Gibbs free energies, free-energy diagrams, and electrochemical overpotentials (HER/ORR/OER/CO2RR/NRR) with VASP.

    205 GitHub stars~669 tokensUpdated 17 days ago
    Auto-check passed
  • Abinit

    Hello-QM/catgo-LRG

    Generate and manage ABINIT DFT calculations. An agent skill from Hello-QM/catgo-LRG.

    205 GitHub stars~963 tokensUpdated 17 days ago
    Auto-check passed
  • Adsorbate Placement

    Hello-QM/catgo-LRG

    A skill your agent uses when the user asks to place an adsorbate molecule on a surface, find adsorption sites, or set up a surface+adsorbate model for DFT.

    205 GitHub stars~3k tokensUpdated 17 days ago
    Auto-check passed
  • Adsorption Energy

    Hello-QM/catgo-LRG

    A skill your agent uses when the user asks for adsorption energy, binding energy, or wants to compare how strongly a molecule binds to a surface.

    205 GitHub stars~1.4k tokensUpdated 17 days ago
    Auto-check passed
  • Analysis Router

    Hello-QM/catgo-LRG

    A skill your agent uses when the user asks to analyze computational results: Gibbs free energy, OER/HER/CO2RR overpotentials, adsorption energy, convergence tests, DOS/d-band analysis, or Bader…

    205 GitHub stars~869 tokensUpdated 17 days ago
    Auto-check passed

Questions about Orca Freq

What does Orca Freq do?

ORCA frequency calculation. An agent skill from Hello-QM/catgo-LRG. Orca Freq is an agent skill from Hello-QM/catgo-LRG. ORCA frequency calculation.

How do I install Orca Freq in Claude Code?

Run `npx skills add Hello-QM/catgo-LRG --skill orca-freq -a claude-code`. Or copy the skill folder (.claude/skills/orca-freq in Hello-QM/catgo-LRG) into .claude/skills/orca-freq in your project. Claude Code loads it when a task matches its description.

How do I install Orca Freq in Codex?

Run `npx skills add Hello-QM/catgo-LRG --skill orca-freq -a codex`. Or copy the skill folder (.claude/skills/orca-freq in Hello-QM/catgo-LRG) into .agents/skills/orca-freq in your project. Codex loads it when a task matches its description.

Can I use Orca Freq in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Hello-QM/catgo-LRG --skill orca-freq -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/orca-freq, .gemini/skills/orca-freq, .github/skills/orca-freq and .opencode/skills/orca-freq in your project.

What does Orca Freq need to run?

Going by SKILL.md and its folder, Orca Freq needs the command-line tools its instructions call (curl and pip). Our summary lists: Python 3.

Does Orca Freq access the network?

SKILL.md contains no URLs. Its commands use curl and pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Orca Freq safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Orca Freq use?

Orca Freq is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Orca Freq use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Orca Freq?

Skills that share tags, products or a category with Orca Freq: Orca Computer Use (stablyai/orca, 88k stars), Ito Compute (affaan-m/ECC, 276k stars), Senior Computer Vision (davila7/claude-code-templates, 32k stars) and Orca (alsk1992/CloddsBot, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Orca Freq?

Hello-QM (a GitHub user) maintains it in Hello-QM/catgo-LRG, which has 205 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on September 22, 2026.

Source: Hello-QM/catgo-LRG on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.