hello-qm/catgo-lrg/adsorbate
Claude Code and agent skill by hello-qm/catgo-lrg
- community
Checking that the SKILL.md file is still in the repository.
Use when the user asks to place an adsorbate molecule on a surface, find adsorption sites, or set up a surface+adsorbate model for DFT.
Install
npx vskill@latest install hello-qm/catgo-lrg/adsorbateSKILL.md
Adsorbate Placement
Overview
The adsorbate_place task type places adsorbate molecules on surface slabs. It uses ferrox (Rust) find_adsorption_sites to locate surface sites, then the CatGo placement engine (utils/adsorbate_placement.py) for Rodrigues rotation, overlap detection, and multi-dentate support.
Task Type: adsorbate_place
- Type:
adsorbate_place(local task, no HPC needed) - Engine: ferrox site finder + CatGo placement engine
- Outputs:
structure(slab+adsorbate as JSON)
Parameters
| Parameter | Type | Default | Description | |
|---|---|---|---|---|
structure | JSON | required | Slab structure input | |
species | str | "OH" | Adsorbate species name | |
site | str | "ontop" | Site type: "ontop", "bridge", "hollow", or "all" | |
height | float | 2.0 | Height above surface in Angstroms | |
site_index | int | 0 | Which site of the given type to use (0 = first) |
Supported Adsorbate Species
| Species | Atoms | Binding Atom | Notes | |
|---|---|---|---|---|
| OH | O, H | O | Hydroxyl, O-H = 0.96 A | |
| O | O | O | Atomic oxygen | |
| OOH | O, O, H | O1 | Hydroperoxo, key OER intermediate | |
| H | H | H | Atomic hydrogen | |
| H2O | O, H, H | O | Water molecule | |
| CO | C, O | C | Carbon monoxide, C-O = 1.13 A | |
| CO2 | C, O, O | C | Carbon dioxide, linear | |
| N2 | N, N | N | Dinitrogen, N-N = 1.10 A | |
| NH | N, H | N | Imide | |
| NH2 | N, H, H | N | Amino | |
| NH3 | N, H, H, H | N | Ammonia | |
| CHO | C, H, O | C | Formyl | |
| COOH | C, O, O, H | C | Carboxyl |
Site Types
| Site | ferrox Type | Coordination | Description | |
|---|---|---|---|---|
| ontop | atop | 1-fold | Directly above one surface atom | |
| bridge | bridge | 2-fold | Between two surface atoms | |
| hollow | hollow3 | 3-fold | Above threefold hollow site | |
| all | atop (default) | 1-fold | Auto-selects ontop |
Discussion Checkpoints
🔴 Must discuss with user:
- Adsorbate species — determines the chemistry being studied; wrong species = wrong intermediate in the reaction pathway
- Adsorption site (ontop/bridge/hollow) — different sites have different binding energies; for screening, test all three and report the most stable
🟡 Recommend confirming:
- Height above surface (default: 2.0 A) — too close triggers repulsion during geo_opt, too far causes adsorbate to fly away; use 1.5-1.8 A for atomic O, 2.0-2.5 A for molecular species
- Site index (default: 0) — which specific site of the given type; call catgo_analyze(action="adsorption_sites") first to see available sites
- Multi-dentate orientation — for OOH, COOH, and other multi-atom adsorbates, the binding orientation matters; verify with catgo_view after placement
🟢 Safe defaults:
- Collision detection enabled (ferrox automatic)
- Automatic site finding via ferrox find_adsorption_sites
- Binding atom orientation follows species convention (O down for OH, C down for CO)
MCP Workflow: Place Adsorbate on Slab
Step 1: Generate slab (or use existing)
Step 2: Find adsorption sites
This returns all available sites (ontop, bridge, hollow) with coordinates.
Step 3: Build workflow with adsorbate placement
Using the workflow engine with adsorbate_place node:
Step 4: PENDING_REVIEW -- verify adsorbate position
The user should inspect the structure before submitting geo_opt. Check:
- Adsorbate is at the correct site (ontop/bridge/hollow)
- Height above surface is reasonable (1.5-2.5 A for most species)
- No atom overlaps or unrealistic bond lengths
- Binding atom orientation is correct (e.g., C down for CO, O down for OH)
Step 5: Submit for DFT optimization
Python API
Complete OER Workflow Example
The oxygen evolution reaction (OER) has four intermediates: OH, O, *OOH, and clean slab. Each needs geo_opt + freq + gibbs_energy.
DAG Structure (Single Adsorbate)
DAG Structure (OER)
Comparing Multiple Sites
To compare adsorption at different sites (ontop, bridge, hollow), create separate branches from the same slab:
Common Pitfalls
- Always build the slab and supercell BEFORE placing adsorbates.
Adding adsorbates to a 1x1 slab gives unphysically high coverage.
- The initial height matters: too close triggers repulsion, too far
may cause the adsorbate to fly away during geo_opt. Use 1.5-2.5 A for most species.
- OOH tends to dissociate into O + OH during relaxation on some
surfaces. Use tight EDIFFG and monitor the trajectory.
- For bridge and hollow sites, the adsorbate is placed between atoms
automatically by the ferrox site finder. Do not manually calculate midpoints.
- After placement, always verify with
catgo_viewthat no atoms overlap
and the geometry looks reasonable before submitting to DFT.
- When using
site_index, callcatgo_analyzewith
action: "adsorption_sites" first to see available sites and their indices.
- The
site="all"option defaults to ontop (atop) sites. For specific
site types, always pass the explicit type name.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingserver/catgo/workflow/skills/structure/adsorbate/SKILL.md
Popularity
- Repository stars
- 188
- Repository forks
- 22
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 24 Aug 2026, 2 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/hello-qm/catgo-lrg/adsorbate)