Correct
cursor/plugins
Find the mistakes agents keep repeating in this repo and make each one impossible.
VASP vibrational frequency calculation. An agent skill from Hello-QM/catgo-LRG.
$ npx skills add Hello-QM/catgo-LRG --skill vasp-freq -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Hello-QM/catgo-LRG vasp-freq --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/vasp-freq .claude/skills/vasp-freq && 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 "vasp-freq" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/vasp-freq into .claude/skills/vasp-freq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vasp-freq", 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/vasp-freqType 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 vasp-freq -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Hello-QM/catgo-LRG vasp-freq --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/vasp-freq .agents/skills/vasp-freq && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vasp-freq" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/vasp-freq into .agents/skills/vasp-freq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vasp-freq", 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 vasp-freq -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Hello-QM/catgo-LRG vasp-freq --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/vasp-freq .cursor/skills/vasp-freq && 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 "vasp-freq" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/vasp-freq into .cursor/skills/vasp-freq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vasp-freq", 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/vasp-freq--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 vasp-freq -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Hello-QM/catgo-LRG vasp-freq --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/vasp-freq .gemini/skills/vasp-freq && 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 "vasp-freq" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/vasp-freq into .gemini/skills/vasp-freq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vasp-freq", 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 vasp-freqInstalls 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 vasp-freq -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/vasp-freq .github/skills/vasp-freq && 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 "vasp-freq" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/vasp-freq into .github/skills/vasp-freq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vasp-freq", 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 vasp-freq -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 vasp-freq --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/vasp-freq .opencode/skills/vasp-freq && 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 "vasp-freq" agent skill from https://github.com/Hello-QM/catgo-LRG/tree/main/.claude/skills/vasp-freq into .opencode/skills/vasp-freq/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vasp-freq", 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.
vasp-freqVASP vibrational frequency calculation. An agent skill from Hello-QM/catgo-LRG.
Vasp Freq is an agent skill from Hello-QM/catgo-LRG. VASP vibrational frequency calculation. Compute ZPE and thermodynamic corrections. Handles frozen atoms for slab systems with multiple freeze modes.
Its SKILL.md is about 1.9k 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.
4 steps, taken from the first numbered list 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Vasp Freq loads about 1.9k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 531 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). 531 words, ~1,921 tokens.
.claude/skills/vasp-freq/SKILL.md (or your agent's skills folder).Compute vibrational frequencies using finite differences. Used for zero-point energy (ZPE), thermodynamic corrections, and checking transition states.
🔴 Must discuss with user:
🟡 Recommend confirming:
🟢 Safe defaults:
from catgo.workflow import Workflow
from catgo.workflow.builtins import geo_opt, freq, gibbs_energy
wf = Workflow("Frequency calculation")
struct = wf.add_task("structure_input", structure=optimized_json)
frq = wf.add_task(freq, structure=struct.output.structure,
system_name="CO_gas")
wf.submit()MCP equivalent:
catgo_workflow_engine(action="create", params={"name": "Frequency calc"})
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "structure_input",
"structure": "<optimized_json>"
})
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "freq",
"software": "vasp",
"structure": "{{t_001.output.structure}}",
"system_name": "CO_gas"
})
catgo_workflow_engine(action="submit", params={"workflow_id": "wf_xxx"})For adsorbates on surfaces, freeze the slab atoms and only compute frequencies for the adsorbate (and optionally top surface layer). This dramatically reduces cost.
| Mode | Description | Example |
|---|---|---|
"none" | All atoms vibrate (gas-phase molecules) | Small molecules |
"layers" | Freeze bottom N layers by z-coordinate | freeze_mode="layers", freeze_layers=4 |
"z_range" | Freeze atoms below a z threshold | freeze_mode="z_range", freeze_z_below=8.0 |
"element" | Freeze specific elements | freeze_mode="element", freeze_elements=["Ru", "O"] |
"indices" | Freeze specific atom indices | freeze_mode="indices", freeze_indices=[0,1,2,3] |
"manual" | Use selective_dynamics from structure | Pre-set in POSCAR |
For a typical slab with adsorbate:
opt = wf.add_task(geo_opt, structure=slab_oh_json,
ISIF=2, freeze_layers=2, system_name="*OH")
frq = wf.add_task(freq, structure=opt.output.structure,
freeze_mode="layers",
freeze_layers=4, # Freeze bottom 4 layers (all slab atoms)
system_name="*OH")Why freeze_layers=4 for freq but freeze_layers=2 for geo_opt?
Useful when layer detection is ambiguous:
frq = wf.add_task(freq, structure=opt.output.structure,
freeze_mode="z_range",
freeze_z_below=12.5, # Angstrom
system_name="*OH")The standard thermodynamics workflow:
wf = Workflow("OH adsorption Gibbs energy")
struct = wf.add_task("structure_input", structure=slab_oh_json)
# Step 1: Optimize geometry
opt = wf.add_task(geo_opt, structure=struct.output.structure,
ISIF=2, freeze_layers=2, system_name="*OH")
# Step 2: Frequency on optimized structure
frq = wf.add_task(freq, structure=opt.output.structure,
freeze_mode="layers", freeze_layers=4,
system_name="*OH")
# Step 3: Gibbs energy from DFT energy + frequencies
gib = wf.add_task(gibbs_energy,
energy=opt.output.energy,
frequencies=frq.output.frequencies,
phase="adsorbed", # Harmonic approximation for adsorbates
temperature=298.15, # K
freq_cutoff=50, # cm-1, replace low freqs with this value
system_name="*OH")
wf.submit()For free molecules (H2, H2O, CO, etc.), do NOT freeze any atoms:
frq = wf.add_task(freq, structure=molecule_json,
freeze_mode="none", # All atoms vibrate
system_name="H2O_gas")
gib = wf.add_task(gibbs_energy,
energy=opt.output.energy,
frequencies=frq.output.frequencies,
phase="gas", # Ideal gas partition function
system_name="H2O_gas")Gas vs adsorbed phase:
phase="adsorbed": harmonic approximation, frustrated translations/rotations replaced by freq_cutoffphase="gas": ideal gas approximation with translational + rotational contributions| Parameter | Default | Purpose |
|---|---|---|
| IBRION | 5 | Finite differences |
| NFREE | 2 | Central differences (2-point) |
| POTIM | 0.015 | Displacement step size (Angstrom) |
| EDIFF | 1e-6 | Tight SCF convergence (tighter than geo_opt) |
| LREAL | .FALSE. | Must be exact for frequencies |
LREAL=.FALSE. is mandatory. Real-space projection introduces noise in forces that corrupts finite-difference frequencies. The config default overrides LREAL=Auto for freq tasks.
# Check frequencies after completion
catgo_analyze(action="frequencies", params={"task_id": "t_freq"})
# Returns: list of frequencies (cm-1), ZPE, imaginary modes
# Get raw result
catgo_workflow_engine(action="get_result", params={"task_id": "t_freq"})
# Returns: {"frequencies": [...], "zpe": 0.543}The freq task produces:
output.frequencies — list of vibrational frequencies in cm-1 (negative = imaginary)output.zpe — zero-point energy in eV| Problem | Fix |
|---|---|
| Many imaginary frequencies | Structure not converged — re-optimize with tighter EDIFFG=-0.01 |
| One imaginary frequency | Could be a transition state (expected) or shallow minimum — check mode |
| Frequencies seem wrong | Ensure LREAL=.FALSE. and EDIFF=1e-6 |
| Calculation too expensive | Freeze more atoms (increase freeze_layers) |
| Numeric noise in frequencies | Reduce POTIM to 0.01 or increase NFREE to 4 |
Frequency calculations require 6N single-point calculations where N is the number of free atoms (with NFREE=2). For a 5-atom adsorbate on a frozen slab, that is 30 SCF calculations — roughly 30x the cost of a single point.
© 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/vasp-freq of Hello-QM/catgo-LRG.
Open the folder on GitHubat commit fd6291b
Vasp 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vasp Freq this skillHello-QM/catgo-LRG | 205 | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| Correctcursor/plugins | 10k | 3 repos | ~612 | Automated safety check: Pass | None | |
| CorrectionNxcoreAI/EverRoom | 3k | — | ~290 | Automated safety check: Pass | Custom licence | |
| Hunting For Beaconing With Frequency Analysismukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Eol Resistor Calculatorsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Correction Root-Cause Pipelinegarrytan/gbrain | 31k | — | ~3.4k | Automated safety check: Pass | MIT |
cursor/plugins
Find the mistakes agents keep repeating in this repo and make each one impossible.
NxcoreAI/EverRoom
Compute Room overview corrections—citation corrections as per-claim edits and general corrections as a single proposal.
mukul975/Anthropic-Cybersecurity-Skills
Identify command-and-control beaconing patterns in network traffic by applying statistical frequency analysis, jitter calculation, and coefficient of variation scoring to detect periodic callbacks…
sickn33/agentic-awesome-skills
Calculates and validates end-of-line (EOL, SEOL, DEOL, TEOL) resistor loops for intrusion alarm panels (Honeywell, DSC, Paradox, Bosch) with wire gauge drop and state tables.
garrytan/gbrain
Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.
InternScience/scp
Calculate optical frequency and wavelength relationships for photonics and electromagnetic analysis.
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
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.
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…
VASP vibrational frequency calculation. An agent skill from Hello-QM/catgo-LRG. Vasp Freq is an agent skill from Hello-QM/catgo-LRG. VASP vibrational frequency calculation.
Run `npx skills add Hello-QM/catgo-LRG --skill vasp-freq -a claude-code`. Or copy the skill folder (.claude/skills/vasp-freq in Hello-QM/catgo-LRG) into .claude/skills/vasp-freq in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Hello-QM/catgo-LRG --skill vasp-freq -a codex`. Or copy the skill folder (.claude/skills/vasp-freq in Hello-QM/catgo-LRG) into .agents/skills/vasp-freq 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 vasp-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/vasp-freq, .gemini/skills/vasp-freq, .github/skills/vasp-freq and .opencode/skills/vasp-freq in your project.
SKILL.md names no scripts, command-line tools or credentials: Vasp Freq is instructions for the agent only. Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Vasp 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.
About 1.9k tokens (SKILL.md is roughly 7.7k 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 Vasp Freq: Correct (cursor/plugins, 10k stars), Correction (NxcoreAI/EverRoom, 3k stars), Hunting For Beaconing With Frequency Analysis (mukul975/Anthropic-Cybersecurity-Skills, 34k stars) and Eol Resistor Calculator (sickn33/agentic-awesome-skills, 47k 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.