Error Handling
affaan-m/ECC
Patterns for robust error handling across TypeScript, Python, and Go.
ORCA geometry optimization. An agent skill from Hello-QM/catgo-LRG.
$ npx skills add Hello-QM/catgo-LRG --skill orca-opt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Hello-QM/catgo-LRG orca-opt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-opt .claude/skills/orca-opt && rm -rf skills-srcUse ~/.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/
Install the "orca-opt" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-opt into .claude/skills/orca-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca-opt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-optType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Hello-QM/catgo-LRG --skill orca-opt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Hello-QM/catgo-LRG orca-opt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Hello-QM/catgo-LRG.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/orca-opt .agents/skills/orca-opt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "orca-opt" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-opt into .agents/skills/orca-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca-opt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Hello-QM/catgo-LRG --skill orca-opt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Hello-QM/catgo-LRG orca-opt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Hello-QM/catgo-LRG.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/orca-opt .cursor/skills/orca-opt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "orca-opt" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-opt into .cursor/skills/orca-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca-opt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Hello-QM/catgo-LRG.git --path .claude/skills/orca-opt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Hello-QM/catgo-LRG --skill orca-opt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Hello-QM/catgo-LRG orca-opt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Hello-QM/catgo-LRG.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/orca-opt .gemini/skills/orca-opt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "orca-opt" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-opt into .gemini/skills/orca-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca-opt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Hello-QM/catgo-LRG orca-optInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Hello-QM/catgo-LRG --skill orca-opt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Hello-QM/catgo-LRG.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/orca-opt .github/skills/orca-opt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "orca-opt" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-opt into .github/skills/orca-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca-opt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Hello-QM/catgo-LRG --skill orca-opt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Hello-QM/catgo-LRG orca-opt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Hello-QM/catgo-LRG.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/orca-opt .opencode/skills/orca-opt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "orca-opt" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/orca-opt into .opencode/skills/orca-opt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "orca-opt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
orca-optORCA geometry optimization. An agent skill from Hello-QM/catgo-LRG.
Orca Opt is an agent skill from Hello-QM/catgo-LRG. ORCA geometry optimization. Handles method/basis selection, dispersion corrections, solvent models, and convergence settings.
Its SKILL.md is about 2.7k 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.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fd6291b. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
curlpipFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Orca Opt loads about 2.7k tokens when it runs. Until then it costs about 34 tokens; SKILL.md has 925 words of instructions outside code blocks.
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.
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.
The full file from Hello-QM/catgo-LRG at commit fd6291b, republished under its AGPL-3.0 licence (© Hello-QM). 925 words, ~2,722 tokens.
.claude/skills/orca-opt/SKILL.md (or your agent's skills folder).Use this skill when the user wants to:
Do NOT use for periodic systems (use VASP or CP2K instead).
| Parameter | Default | Description |
|---|---|---|
method | B3LYP | DFT functional (e.g. B3LYP, PBE0, wB97X-D4, r2SCAN-3c) |
basis | def2-SVP | Basis set (omit for composite methods like r2SCAN-3c) |
charge | 0 | Total charge |
multiplicity | 1 | Spin multiplicity (2S+1) |
dispersion | (none) | D4 | D3BJ | D3 | none. Put D4/D3BJ HERE, not in method. |
three_body_dispersion | false | Adds ABC term (D3-class only; ignored for D4) |
grid | DefGrid2 | DefGrid1/2/3 — emitted only when ≠ default |
wavefunction | (none) | e.g. UKS for unrestricted |
uno, uco | false | Unrestricted natural / corresponding orbital tweaks |
num_cores | 4 | %pal nprocs |
max_core_mb | 4000 | %maxcore |
opt_convergence | (none) | e.g. TightOpt, VeryTightOpt |
⚠️
extra_keywordsandextra_blocksare NOT read by the ORCA workflow engine. Earlier versions of this skill recommended them; anything passed via those keys is silently dropped. Use the dedicated fields above. CPCM solvation,SlowConv/SOSCF, andNumFreqcurrently have no first-class field on the opt/freq/neb_ts/irc nodes — that is a node-def gap, not a usage problem.
Use
catgo_workflow(graph-based), NOTcatgo_workflow_engine(task-based). The graph-based tool auto-captures the viewer structure oncreate. The task-based tool'sadd_taskdoes not, so jobs fail with "No input structure provided". Param keys differ too: graph-based usesmethod/basis, task-based usesorca_method/orca_basis.
catgo_view(action: "get_state")Session IDs are volatile — they change on every reconnect. Discover the current one:
curl -s http://localhost:8000/api/hpc/connectionsLook for the entry with host: login.expanse.sdsc.edu and copy its session_id.
catgo_workflow(action: "create", name: "Benzene optimization")Returns a workflow with one structure_input node containing the current viewer
structure. Note its node ID (e.g., n1777012885-iode).
Inject extra_blocks: "%output jsongbwfile True jsonpropfile True end" so ORCA
emits the JSON files OPI parses on the way back. Without this, OPI parsing
falls back to grepping ORCA.out (still works, just less rich).
catgo_workflow(action: "batch", workflow_id: "<wf_id>", operations: [
{"op": "add_node", "node_type": "geo_opt", "label": "opt",
"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": "opt",
"from_handle": "structure", "to_handle": "structure"}
])Real opt jobs on non-trivial molecules can run for hours — default to
partition: "shared" with a generous walltime. Use debug only for tiny
sanity checks (≤ a couple of heavy atoms, single-point or quick test). Read
server/templates/orca_generic.sh and pass its contents as default_template.
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": 8, "cpus_per_task": 1,
"walltime": "04:00:00", "partition": "shared"
},
"cluster_configs": {
"<expanse_session_id>": {
"account": "sdp126",
"partition": "shared",
"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": 8, "cpus_per_task": 1,
"walltime": "04:00:00", "partition": "shared"
}
}
}
})For a quick sanity check (e.g., H2O / methane / single small molecule),
override to partition: "debug", walltime: "00:30:00", ntasks: 4. The
debug partition caps at 30 min — anything bigger will be rejected after the
limit.
The local-scratch template stages I/O to $TMPDIR/orca_$SLURM_JOB_ID and copies
results back to the Lustre work_dir. Required on Expanse — Lustre is bad for
ORCA's many small temp files.
For dispersion (non-covalent systems, dimers, π-stacking, H-bonding):
"params": {"method": "B3LYP", "basis": "def2-TZVP", "dispersion": "D3BJ", "charge": 0, "multiplicity": 1}For D4 (newer Grimme correction, slightly better for metals):
"params": {"method": "B3LYP", "basis": "def2-SVP", "dispersion": "D4", "charge": 0, "multiplicity": 1}For implicit solvation:
CPCM is currently a node-def gap on opt/freq/neb_ts/irc — there's no first-class
solvation/solventfield, andextra_keywordsis not read. UV-Vis is the exception (it has dedicatedsolvation/solventfields). Until this is fixed, single-point CPCM on a gas-phase optimized geometry, or running on a non-CatGo input file, is the workaround.
For tight convergence (publication quality, pre-freq):
"params": {"method": "B3LYP", "basis": "def2-TZVP", "opt_convergence": "TightOpt", "dispersion": "D3BJ", "charge": 0, "multiplicity": 1}For open-shell radicals:
"params": {"method": "UB3LYP", "basis": "def2-SVP", "charge": 0, "multiplicity": 2}catgo_workflow(action: "status", workflow_id: "<wf_id>")Or query SLURM directly via the live session:
curl -s "http://localhost:8000/api/hpc/jobs/<job_id>?session_id=<expanse_session_id>"Pull the ORCA outputs into a local directory, including the OPI JSON files
(*.property.json is the rich structured output OPI parses):
mkdir -p ./local_run
for f in ORCA.out ORCA.xyz ORCA.engrad 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
doneORCA.json and ORCA.property.json only exist if the input had the
%output jsongbwfile True jsonpropfile True end block (step 4). If you
omitted it, OPI parsing falls back to grepping ORCA.out.
Replaces hand-walking ORCA.xyz / ORCA.engrad. Requires pip install orca-pi.
import sys
sys.path.insert(0, ".claude/skills") # for the _shared helper
from _shared.orca_opi import parse_local
out = parse_local("./local_run")
print("SCF converged: ", out.scf_converged())
print("Geometry converged: ", out.geometry_optimization_converged())
print("Final energy (Eh): ", out.get_final_energy())
print("Optimized XYZ:\n", out.get_structure().to_xyz_block())
# Per-step trajectory (energy curve)
for i, geom in enumerate(out.results_properties.geometries):
print(i, geom.single_point_data.finalenergy)
# Population analyses (any of these are one call now)
mulliken = out.get_mulliken()
print("HOMO/LUMO/gap (eV):", out.get_homo(), out.get_lumo(), out.get_hl_gap())Use the shared helper to plot per-step energies and surface the PNG inline.
from _shared.orca_opi import quick_plot_opt_energy, show_png
png = quick_plot_opt_energy(out) # writes ./local_run/opt_energy.png
show_png(png, "Opt energy convergence") # prints ``After running this, reply to the user with the markdown link the script printed (e.g. ) so Claude Code renders the figure inline in chat.
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.account=sdp126 → "Invalid account or account/partition combination".module_loads + orca_dir → orca not on PATH, job runs ORCA-not-found and silently produces nothing./api/hpc/connections and update default_session_id + cluster_configs key.submit.sh on retry alone — call run with the new run_config to get a fresh script with updated SBATCH headers.| Keyword | Method | When to use |
|---|---|---|
D3BJ | Grimme D3 with Becke-Johnson damping | Default choice for dispersion |
D3 | Grimme D3 with zero damping | Legacy, use D3BJ instead |
D4 | Grimme D4 | Newer, slightly better for metals |
Always include dispersion for: molecular dimers, adsorption complexes, conformational searches, anything with pi-stacking or H-bonding.
| Basis | Quality | Cost | Use |
|---|---|---|---|
| def2-SVP | Double-zeta | Low | Screening, initial opt |
| def2-TZVP | Triple-zeta | Medium | Production geometry |
| def2-TZVPP | Triple-zeta+pol | High | Accurate energetics |
| def2-QZVPP | Quadruple-zeta | Very high | Benchmark only |
Strategy: optimize with def2-SVP, then single-point with def2-TZVP for energy.
ORCA SCF tweaks like SlowConv, VerySlowConv, SOSCF, SmearTemp 5000 are not exposed as first-class node params (gap in the engine). For now: pre-optimize with a smaller basis (def2-SVP) and feed that geometry to a larger-basis run, or run ORCA directly on a hand-edited input file outside the workflow engine.
© 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
Just SKILL.md in .claude/skills/orca-opt of Hello-QM/catgo-LRG.
Open the folder on GitHubat commit fd6291b
Orca Opt 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Orca Opt this skillHello-QM/catgo-LRG | 205 | — | ~2.7k | Automated safety check: Pass | AGPL-3.0 | |
| Error Handlingaffaan-m/ECC | 275k | 1 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Error Handlingthedaviddias/Front-End-Checklist | 74k | — | ~416 | Automated safety check: Pass | MIT | |
| Error Handlingaffaan-m/ECC | 275k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Python Error Handlingwshobson/agents | 40k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Error Handling Patternswshobson/agents | 40k | 11 repos | ~1k | Automated safety check: Pass | MIT |
affaan-m/ECC
Patterns for robust error handling across TypeScript, Python, and Go.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing scripts, client components, bundles, or runtime behavior related to Implement proper error handling.
affaan-m/ECC
TypeScript、Python、Goにわたる堅牢なエラー処理のパターン。型付きエラー、エラー境界、リトライ、サーキットブレーカー、ユーザー向けエラーメッセージをカバーします。
wshobson/agents
Python error handling patterns including input validation, exception hierarchies, and partial failure handling.
wshobson/agents
Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications.
alsk1992/CloddsBot
Orca Whirlpools - concentrated liquidity on Solana. An agent skill from alsk1992/CloddsBot.
Hello-QM/catgo-LRG
Drive a file-first, agent-in-the-loop computational campaign via a folder + markdown tree (no DB).
Hello-QM/catgo-LRG
Run LAMMPS molecular dynamics with DeePMD-kit machine learning potentials.
Hello-QM/catgo-LRG
Compute adsorption/reaction Gibbs free energies, free-energy diagrams, and electrochemical overpotentials (HER/ORR/OER/CO2RR/NRR) with VASP.
Hello-QM/catgo-LRG
Generate and manage ABINIT DFT calculations. An agent skill from Hello-QM/catgo-LRG.
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.
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.
ORCA geometry optimization. An agent skill from Hello-QM/catgo-LRG. Orca Opt is an agent skill from Hello-QM/catgo-LRG. ORCA geometry optimization.
Run `npx skills add Hello-QM/catgo-LRG --skill orca-opt -a claude-code`. Or copy the skill folder (.claude/skills/orca-opt in Hello-QM/catgo-LRG) into .claude/skills/orca-opt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Hello-QM/catgo-LRG --skill orca-opt -a codex`. Or copy the skill folder (.claude/skills/orca-opt in Hello-QM/catgo-LRG) into .agents/skills/orca-opt in your project. Codex loads it when a task matches its description.
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-opt -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-opt, .gemini/skills/orca-opt, .github/skills/orca-opt and .opencode/skills/orca-opt in your project.
Going by SKILL.md and its folder, Orca Opt needs the command-line tools its instructions call (curl and pip). Our summary lists: Python 3.
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.
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.
Orca Opt 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.
About 2.7k 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.
Skills that share tags, products or a category with Orca Opt: Error Handling (affaan-m/ECC, 275k stars), Error Handling (thedaviddias/Front-End-Checklist, 74k stars), Error Handling (affaan-m/ECC, 275k stars) and Python Error Handling (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.