Agent skill

Cluster Ops

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

One-shot recipes for adding, removing, or repositioning molecular fragments (adsorbates, water layers, ion clusters) on the active CatGo viewer structure.

AGPL-3.0Auto-check passedResearch & Science

Install Cluster Ops

skills CLI
$ npx skills add Hello-QM/catgo-LRG --skill cluster-ops -a claude-code

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

GitHub CLI
$ gh skill install Hello-QM/catgo-LRG cluster-ops --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/server/catgo/workflow/skills/structure/cluster_ops .claude/skills/cluster-ops && 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
cluster-ops
GitHub stars
205
Token cost
~1.9k tokens
SKILL.md length
993 words
Files
1
Skills in repo
75
Repo updated
First seen
Licence
AGPL-3.0

At a glance

One-shot recipes for adding, removing, or repositioning molecular fragments (adsorbates, water layers, ion clusters) on the active CatGo viewer structure.

  • Works in 2 steps: Call catgo_analyze once to enumerate… → Add the adsorbate at the chosen site,…
  • The user asks to place CO on the surface
  • SKILL.md covers When to use this skill, Operation cheat sheet, What NOT to do and After-edit confirmation
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Cluster Ops is an agent skill from Hello-QM/catgo-LRG. One-shot recipes for adding, removing, or repositioning molecular fragments (adsorbates, water layers, ion clusters) on the active CatGo viewer structure. Use whenever the user asks to "place CO on the surface", "put H2O on top site", "add an adsorbate", "build a coverage", "add a water layer", "place two adsorbates for coupling", "build a (2,2,1) supercell", "remove the adsorbate", "delete the water cluster". Skips the discovery loop, finds adsorption sites once, and places the molecule(s) with a single…

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.

It sits in Research & Science. It works with Model Context Protocol. 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.

When your agent uses it

  • The user asks to place CO on the surface
  • Put H2O on top site
  • Add an adsorbate
  • Build a coverage

Example prompts

  • “place CO on the surface”
  • “put H2O on top site”
  • “add an adsorbate”
  • “/cluster-ops”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Call catgo_analyze once to enumerate adsorption sites
  2. Add the adsorbate at the chosen site, offset above the surface by the typical bond length

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

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

  • Network

    No URLs in SKILL.md.

    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

Cluster Ops loads about 1.9k tokens when it runs. Until then it costs about 155 tokens; SKILL.md has 993 words of instructions outside code blocks.

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

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). 993 words, ~1,922 tokens.

Download SKILL.mdSave it as .claude/skills/cluster-ops/SKILL.md (or your agent's skills folder).
name
cluster-ops
description
One-shot recipes for adding, removing, or repositioning molecular fragments (adsorbates, water layers, ion clusters) on the active CatGo viewer structure. Use whenever the user asks to "place CO on the surface", "put H2O on top site", "add an adsorbate", "build a coverage", "add a water layer", "place two adsorbates for coupling", "build a (2,2,1) supercell", "remove the adsorbate", "delete the water cluster". Skips the discovery loop, finds adsorption sites once, and places the molecule(s) with a single `add_molecule` / `merge` call. Triggers in Chinese on 放吸附物, 放分子, 加水层, 偶联, 双吸附, 加水, 超胞, 删除吸附物, 移除分子.

cluster-ops

Multi-atom edits — adsorbate placement, water layers, ion clusters, supercell expansion. The default exploration path lists catgo_structure actions, asks the analysis MCP for adsorption sites, eyeballs them, then composes a merge call manually. This skill collapses each case to a single MCP call with the correct parameters.

When to use this skill

  • Placing a molecule or polyatomic adsorbate on a surface (add_molecule or analysis→merge).
  • Building dual-adsorbate configurations for coupling reactions (C–N, C–C, N–N).
  • Adding a water solvation layer on top of a slab.
  • Building or expanding a supercell.
  • Removing a previously-placed cluster (delete by indices spanning the cluster atoms).

If the user wants to edit a single atom (add H at coord, swap O for F, move atom 12, delete one atom), use the structure/atom_ops skill instead — atom-level ops have different MCP entry points.

Operation cheat sheet

Add a single small molecule at a Cartesian position

User: "Add a water molecule at (3.0, 3.0, 8.0)" or "加一个 H2O 在 slab 上方"

json
{
  "action": "add_molecule",
  "query": "water",
  "count": 1,
  "position": [3.0, 3.0, 8.0]
}

query accepts common names (water, methanol, ammonia, formate, co, oh, nh2, …) or formulas. If position is omitted, the molecule is placed near the structure centroid; specify position for placement above a slab.

Place an adsorbate on a surface (auto site selection)

User: "Place CO on a hollow site of the Cu(111) slab"

Two-step playbook:

  1. Call catgo_analyze once to enumerate adsorption sites:

    json
    {"action": "adsorption_sites"}

    The response lists sites with type (top/bridge/hollow/fcc/hcp) and [x, y, z] coordinates. Use it to pick the matching site type the user asked for; if multiple, pick the first one by default and tell the user "placed on the first hollow site — there are N total, ask to switch if needed".

  2. Add the adsorbate at the chosen site, offset above the surface by the typical bond length:

    json
    {
      "action": "add_molecule",
      "query": "CO",
      "count": 1,
      "position": [site_x, site_y, site_z + 1.8]
    }

    Typical bond-length offsets above the topmost slab atom:

    • C, N, O end-on to metal: 1.8 Å
    • C–C through carbon: 2.0 Å
    • H to metal (η¹-H): 1.5 Å
    • O of H₂O (η¹ oxygen): 2.2 Å

Do not call adsorption_sites more than once per turn. Re-use the same response if the user asks for several placements on the same slab.

Dual adsorbates for C–N (or any X–Y) coupling

User: "Place CO and NH2 on Cu(111), 3.5 Å apart, for C–N coupling slow-growth"

The CatGo server exposes a dedicated combined call (used by the AI workflow tutorial). Pattern:

  1. catgo_analyze adsorption_sites once.
  2. Pick two distinct sites whose Cartesian distance is closest to the requested separation (or just pick adjacent fcc-hcp pair on a (111) surface — typical distance ~2.5–3 Å on metals).
  3. Two sequential add_molecule calls anchored at those sites, with adsorbates oriented so the coupling atoms face each other. The query accepts the molecule, and orientation is currently a follow-up edit.

If the user names a specific reaction (C–N coupling for nitrate-to-ammonia, urea synthesis, etc.), recommend the slow_growth workflow node with iconst="R i1 i2 0" where i1 and i2 are the atom indices of C and N after placement. The user usually wants to chain "place + slow-growth"; combine this skill with workflow_builder in a single response.

Add a water solvation layer on top of a slab

User: "Add a water layer 3 Å above the Cu surface" or "做水层"

Packmol-style placement using add_molecule with count > 1:

json
{
  "action": "add_molecule",
  "query": "water",
  "count": 16,
  "spacing": 2.8,
  "position": [center_x, center_y, top_z + 3.0]
}
  • count = 16 is a typical 1-monolayer coverage for a 2x2 surface. For larger cells scale ~density: 4 waters per ~6×6 Ų of surface area.
  • spacing = 2.8 Å matches the average O–O hydrogen-bond distance.
  • top_z + 3.0 places the centre of the cluster ~3 Å above the topmost slab atom.

The result is a Packmol-packed cluster of waters above the slab. Tell the user the count and the layer height, and offer to follow with an MD equilibration step (an NVT MD node at 300 K, 2000 steps) if they want a physically reasonable starting geometry instead of a frozen packed configuration.

Show full SKILL.md (357 more words)Show less
Build a supercell

User: "Make a 2x2x1 supercell" / "做超胞 3×3×1"

json
{"action": "supercell", "scaling": [2, 2, 1]}

For non-diagonal supercells (anisotropic strain studies, twisted bilayer commensurate cells), pass a matrix (3×3 integers) instead of scaling.

If the user asks for a supercell of a slab, do it after slab generation, not before — supercelling a bulk and then slabbing along an oblique direction can change the actual surface orientation. The same constraint matters for adsorbate placement: supercell before placing the adsorbate so the placement is the right multiplicity, otherwise the adsorbate gets duplicated.

Merge an external structure (cluster, fragment, molecule from file)

User: "Drop this ammonia cluster I just loaded onto the slab"

json
{"action": "merge", "structure": <pymatgen-dict>, "position": [x, y, z]}

Use this when the incoming fragment is not a standard library molecule (add_molecule covers common species). The structure argument is the pymatgen dict for the incoming fragment; the position is where to place its centroid.

Remove a previously-placed cluster

User: "Remove the CO I just placed" or "删掉刚才的水层"

CatGo flags placed clusters' atom indices in the action response. Re-use those indices in a single delete call from the structure/atom_ops skill ({"action":"delete","indices":[...]}). If you don't have the indices, calling get once and filtering by element / Cartesian range is acceptable but slower; prefer keeping the indices from the previous placement turn.

What NOT to do

  • Calling adsorption_sites repeatedly within a chat turn — the site list does not change unless the slab changes, so cache it.
  • Calling add_molecule once per atom of a polyatomic adsorbate. The skill is add_molecule (one call per molecule, not per atom).
  • Picking a placement height by visual inspection of the structure summary. The bond-length offsets above are calibrated and produce starting geometries within ~0.3 Å of relaxed positions.

After-edit confirmation

One sentence. Name the species, where it was placed (site type, fractional or "above topmost atom by X Å"), and the new total atom count.

Placed CO on the first fcc-hollow site of Cu(111), 1.8 Å above the surface. Structure now has 26 atoms. Added a 16-water layer 3 Å above the slab (Packmol-packed, O–O spacing 2.8 Å). 92 atoms total. Made a 2x2x1 supercell. 48 → 192 atoms.

Do not dump the full coordinate list — the viewer renders the result.

© 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 server/catgo/workflow/skills/structure/cluster_ops of Hello-QM/catgo-LRG.

Open the folder on GitHubat commit fd6291b

Compare with similar skills

Cluster Ops 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.

Cluster Ops compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cluster Ops this skillHello-QM/catgo-LRG205—~1.9kAutomated safety check: PassAGPL-3.0
Deep Researchjordan-gibbs/hyperresearch3.8k—~1.2kAutomated safety check: PassMIT
Annotate Paper54yyyu/zotero-mcp5.3k—~1.5kAutomated safety check: PassMIT
Paper Searchopenags/paper-search-mcp2.8k—~1.2kAutomated safety check: NotesMIT
NSFC Literature Review WriterHuiyuLi-2000/Chinese-Grant-Writer-Skills4321 repos~1.4kAutomated safety check: NotesMIT
Research LitCurryTang/Amadeus1766 repos~963Automated safety check: NotesNone

Similar skills

  • Deep Research

    jordan-gibbs/hyperresearch

    Deep research with hyperresearch, for Claude Code and OpenAI Codex.

    3.8k GitHub stars~1.2k tokensUpdated 6 days ago
    Research & ScienceAuto-check passed
  • Annotate Paper

    54yyyu/zotero-mcp

    Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure…

    5.3k GitHub stars~1.5k tokensUpdated today
    Research & ScienceAuto-check passed
  • Paper Search

    openags/paper-search-mcp

    Search, download, and read academic papers from 20+ sources (arXiv, PubMed, Semantic Scholar, CrossRef, etc).

    2.8k GitHub stars~1.2k tokensUpdated 6 days ago
    Research & ScienceAuto-check: notes
  • NSFC Literature Review Writer

    HuiyuLi-2000/Chinese-Grant-Writer-Skills

    Writes the research-status literature review and critique section of an NSFC grant proposal, backed by a bundled multi-source literature search.

    432 GitHub starsUsed in 1 repo~1.4k tokens
    Research & ScienceAuto-check: notes
  • Research Lit

    CurryTang/Amadeus

    Search and analyze research papers, find related work, summarize key ideas.

    176 GitHub starsUsed in 6 repos~963 tokens
    Research & ScienceAuto-check: notes
  • Research Review

    GRIND-Lab-Core/night_owl_research_agent

    Get a deep critical review of research idea from GPT via Codex MCP.

    106 GitHub starsUsed in 6 repos~1.1k tokens
    Research & ScienceAuto-check: notes

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 15 days ago
    Auto-check passed
  • Lammps Deepmd

    Hello-QM/catgo-LRG

    Run LAMMPS molecular dynamics with DeePMD-kit machine learning potentials.

    205 GitHub starsUsed in 1 repo~1k tokens
    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 15 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 15 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 15 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 15 days ago
    Auto-check passed

Questions about Cluster Ops

What does Cluster Ops do?

One-shot recipes for adding, removing, or repositioning molecular fragments (adsorbates, water layers, ion clusters) on the active CatGo viewer structure. Cluster Ops is an agent skill from Hello-QM/catgo-LRG. One-shot recipes for adding, removing, or repositioning molecular fragments (adsorbates, water layers, ion clusters) on the active CatGo viewer structure.

When should I use Cluster Ops?

Cluster Ops fits situations like: the user asks to place CO on the surface; put H2O on top site; add an adsorbate; build a coverage.

How do I install Cluster Ops in Claude Code?

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

How do I install Cluster Ops in Codex?

Run `npx skills add Hello-QM/catgo-LRG --skill cluster-ops -a codex`. Or copy the skill folder (server/catgo/workflow/skills/structure/cluster_ops in Hello-QM/catgo-LRG) into .agents/skills/cluster-ops in your project. Codex loads it when a task matches its description.

Can I use Cluster Ops 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 cluster-ops -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cluster-ops, .gemini/skills/cluster-ops, .github/skills/cluster-ops and .opencode/skills/cluster-ops in your project.

What does Cluster Ops need to run?

SKILL.md names no scripts, command-line tools or credentials: Cluster Ops is instructions for the agent only.

Does Cluster Ops access the network?

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.

Is Cluster Ops 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 Cluster Ops use?

Cluster Ops 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 Cluster Ops use?

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.

What are the alternatives to Cluster Ops?

Skills that share tags, products or a category with Cluster Ops: Deep Research (jordan-gibbs/hyperresearch, 3.8k stars), Annotate Paper (54yyyu/zotero-mcp, 5.3k stars), Paper Search (openags/paper-search-mcp, 2.8k stars) and NSFC Literature Review Writer (HuiyuLi-2000/Chinese-Grant-Writer-Skills, 432 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cluster Ops?

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.