Agent skill

Substitutional Doping

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

A skill your agent uses when the user asks to dope a material, substitute one element for another, create alloy surfaces, or introduce heteroatoms into a structure.

AGPL-3.0Auto-check passed

Install Substitutional Doping

skills CLI
$ npx skills add Hello-QM/catgo-LRG --skill substitutional-doping -a claude-code

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

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

At a glance

A skill your agent uses when the user asks to dope a material, substitute one element for another, create alloy surfaces, or introduce heteroatoms into a structure.

  • Works in 3 steps: Fetch and build host structure → Replace one Ni with Fe → Relax doped structure
  • The user asks to dope a material
  • SKILL.md covers Overview, MCP Tool:…, Complete Doping Workflow:… and Python API, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Substitutional Doping is an agent skill from Hello-QM/catgo-LRG. Use when the user asks to dope a material, substitute one element for another, create alloy surfaces, or introduce heteroatoms into a structure.

Its SKILL.md is about 1.6k 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.

When your agent uses it

  • The user asks to dope a material
  • Substitute one element for another
  • Create alloy surfaces
  • Introduce heteroatoms into a structure

Example prompts

  • “/substitutional-doping”

Requirements

  • Python 3

Workflow steps

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

  1. Fetch and build host structure
  2. Replace one Ni with Fe
  3. Relax doped structure

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 and python).

    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

Substitutional Doping loads about 1.6k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 519 words of instructions outside code blocks.

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

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). 519 words, ~1,584 tokens.

Download SKILL.mdSave it as .claude/skills/substitutional-doping/SKILL.md (or your agent's skills folder).
name
substitutional-doping
description
Use when the user asks to dope a material, substitute one element for another, create alloy surfaces, or introduce heteroatoms into a structure.

Substitutional Doping

Overview

Substitutional doping replaces one or more host atoms with dopant atoms. Common applications:

  • Catalyst tuning: Fe-doped NiOOH for OER, N-doped graphene for ORR
  • Alloy surfaces: PtRu, PtNi, CuZn for selectivity control
  • Band engineering: Al-doped ZnO, Nb-doped TiO2
  • Single-atom catalysts: isolated Pt in CeO2, Fe in N-doped carbon

MCP Tool: catgo_structure(action: replace_atom)

Replace a single atom
json
{"tool": "catgo_structure", "arguments": {
  "action": "replace_atom",
  "atom_index": 5,
  "new_element": "Co"
}}

This replaces atom #5 (0-based index) with Co, keeping the same position.

Identify which atom to replace

First, inspect the structure to find the target atom:

json
{"tool": "catgo_view", "arguments": {"action": "get_state"}}

The response lists all atoms with indices, elements, and positions. Select the atom index based on:

  • Element type (replace Ni with Co)
  • Position (surface vs bulk, specific layer)
Replace multiple atoms (alloy)

For a Pt3Ni(111) alloy slab, replace every 4th Pt with Ni:

json
{"tool": "catgo_structure", "arguments": {
  "action": "replace_atom", "atom_index": 3, "new_element": "Ni"
}}
json
{"tool": "catgo_structure", "arguments": {
  "action": "replace_atom", "atom_index": 7, "new_element": "Ni"
}}
json
{"tool": "catgo_structure", "arguments": {
  "action": "replace_atom", "atom_index": 11, "new_element": "Ni"
}}
Verify after doping
json
{"tool": "catgo_view", "arguments": {"action": "get_state"}}

Check: correct composition, dopant in expected position, no structural distortion (will be resolved by geo_opt).

Complete Doping Workflow: Fe-doped NiOOH for OER

Step 1: Fetch and build host structure
json
{"tool": "catgo_fetch", "arguments": {
  "action": "crystal", "formula": "NiOOH", "source": "mp"
}}
json
{"tool": "catgo_structure", "arguments": {
  "action": "slab", "miller_index": [0, 0, 1],
  "min_slab_size": 12.0, "min_vacuum_size": 15.0
}}
json
{"tool": "catgo_structure", "arguments": {
  "action": "supercell", "scaling": [2, 2, 1]
}}
Step 2: Replace one Ni with Fe
json
{"tool": "catgo_view", "arguments": {"action": "get_state"}}

Identify a surface Ni atom (e.g., atom_index=8):

json
{"tool": "catgo_structure", "arguments": {
  "action": "replace_atom", "atom_index": 8, "new_element": "Fe"
}}
Step 3: Relax doped structure
json
{"tool": "catgo_workflow_engine", "arguments": {
  "action": "create", "name": "Fe-doped NiOOH OER"
}}
json
{"tool": "catgo_workflow_engine", "arguments": {
  "action": "add_task", "workflow_id": "wf_doped",
  "task_type": "geo_opt",
  "params": {"software": "vasp", "ENCUT": 520,
             "system_name": "Fe-NiOOH relaxation"}
}}

Python API

python
from catgo.workflow import Workflow
import json

# Load and modify structure
with open("niooh_slab.json") as f:
    structure = json.load(f)

# Replace atom in structure dict before workflow
# (Index 8 is a surface Ni atom)
structure["sites"][8]["species"][0]["element"] = "Fe"

wf = Workflow("Fe-doped NiOOH")

inp = wf.add_task("structure_input", structure=json.dumps(structure))
opt = wf.add_task("geo_opt",
    structure=inp.output.structure,
    software="vasp", ENCUT=520, ISPIN=2)

wf.submit()

Doping Strategies

Surface Doping

Replace atoms in the top 1-2 layers. These directly interact with adsorbates and affect catalytic properties.

json
{"tool": "catgo_view", "arguments": {"action": "get_state"}}

Surface atoms have the highest z-coordinates. Replace those.

Subsurface Doping

Replace atoms in the 2nd or 3rd layer. This modifies the electronic structure of surface atoms (ligand effect) without directly participating in bonding.

Random Alloy

For a random A_x B_(1-x) alloy, replace atoms randomly to match the desired composition. For a 2x2x1 slab with 16 metal atoms:

CompositionAtoms to Replace
Pt3Ni (25% Ni)4 of 16
PtNi (50% Ni)8 of 16
PtNi3 (75% Ni)12 of 16
Ordered Alloy

For L1_0 or L1_2 ordered alloys, replace atoms in a specific pattern. Use catgo_view to identify the sublattice positions.

Show full SKILL.md (219 more words)Show less

Magnetic Considerations

Many dopants (Fe, Co, Ni, Mn, Cr) are magnetic. Enable spin polarization:

json
{"tool": "catgo_workflow_engine", "arguments": {
  "action": "add_task", "workflow_id": "wf_doped",
  "task_type": "geo_opt",
  "params": {
    "software": "vasp", "ENCUT": 520,
    "ISPIN": 2,
    "MAGMOM": "16*0.6 1*5.0 24*0.6",
    "system_name": "spin-polarized Fe-NiOOH"
  }
}}

Set initial MAGMOM high for the dopant atom (e.g., 5.0 for Fe) and low for the host (e.g., 0.6 for Ni in NiOOH).

DFT+U for Transition Metal Dopants

Localized d-electrons in dopants often require Hubbard U correction:

DopantTypical U (eV)Host Systems
Fe (3d)4.0-5.3Oxides, oxyhydroxides
Co (3d)3.3-3.5Oxides
Ni (3d)6.0-6.4NiO, NiOOH
Mn (3d)3.9-4.0MnO2, perovskites
Ti (3d)3.0-4.0TiO2

Add U parameters via LDAU settings in VASP task params.

Common Pitfalls

  1. Always relax (geo_opt) after doping. The dopant has a different atomic radius, so the local structure will distort.
  2. For charged dopants (e.g., Al3+ replacing Si4+), the system may need charge compensation. Consider adding/removing atoms or using a charged cell (not recommended for slabs).
  3. Doping changes atom indices. If you plan to place adsorbates after doping, re-check atom positions with catgo_view.
  4. For transition metal dopants in oxides, always use ISPIN=2 and consider DFT+U. Non-magnetic calculations may converge to wrong electronic ground states.
  5. When comparing doped vs undoped systems, use the same supercell size, k-points, and ENCUT. The doped cell should only differ by the substituted atom.
  6. For single-atom catalysts (SAC), use a large supercell (3x3 or 4x4) to minimize dopant-dopant periodic interactions.

© 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/structure-doping of Hello-QM/catgo-LRG.

Open the folder on GitHubat commit fd6291b

Compare with similar skills

Substitutional Doping 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.

Substitutional Doping compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Substitutional Doping this skillHello-QM/catgo-LRG205—~1.6kAutomated safety check: PassAGPL-3.0
Cwicr Material Substitutionmajiayu000/claude-skill-registry6661 repos~3.5kAutomated safety check: PassMIT
Decorative Elementsthedaviddias/Front-End-Checklist74k—~672Automated safety check: PassMIT
Scaffold Elementremotion-dev/remotion62k—~202Automated safety check: PassCustom licence
Investor Materialsaffaan-m/ECC275k3 repos~268Automated safety check: PassMIT
Material Designsickn33/agentic-awesome-skills47k1 repos~2.6kAutomated safety check: PassMIT

Similar skills

  • Cwicr Material Substitution

    majiayu000/claude-skill-registry

    Find substitute materials using CWICR data. An agent skill from majiayu000/claude-skill-registry.

    666 GitHub starsUsed in 1 repo~3.5k tokens
    Auto-check passed
  • Decorative Elements

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Hide decorative elements from assistive technology.

    74k GitHub stars~672 tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Scaffold Element

    remotion-dev/remotion

    Official

    Scaffold a new Remotion Element for development in the docs Remotion Studio.

    62k GitHub stars~202 tokensUpdated today
    Media & CreativeAuto-check passed
  • Investor Materials

    affaan-m/ECC

    创建和更新宣传文稿、一页简介、投资者备忘录、加速器申请、财务模型和融资材料。当用户需要面向投资者的文件、预测、资金用途表、里程碑计划或必须在多个融资资产中保持内部一致性的材料时使用。

    275k GitHub starsUsed in 3 repos~268 tokens
    Auto-check passed
  • Material Design

    sickn33/agentic-awesome-skills

    Web and App implementation guide for Material Design. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~2.6k tokens
    MobileAuto-check passed
  • Material

    bergside/awesome-design-skills

    Google's Material Design with layered surfaces, dynamic theming, built-in motion, and responsive cross-platform patterns.

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

Questions about Substitutional Doping

What does Substitutional Doping do?

A skill your agent uses when the user asks to dope a material, substitute one element for another, create alloy surfaces, or introduce heteroatoms into a structure. Substitutional Doping is an agent skill from Hello-QM/catgo-LRG. Use when the user asks to dope a material, substitute one element for another, create alloy surfaces, or introduce heteroatoms into a structure.

When should I use Substitutional Doping?

Substitutional Doping fits situations like: the user asks to dope a material; substitute one element for another; create alloy surfaces; introduce heteroatoms into a structure.

How do I install Substitutional Doping in Claude Code?

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

How do I install Substitutional Doping in Codex?

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

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

What does Substitutional Doping need to run?

SKILL.md names no scripts, command-line tools or credentials: Substitutional Doping is instructions for the agent only. Our summary lists: Python 3.

Does Substitutional Doping 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 Substitutional Doping 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 Substitutional Doping use?

Substitutional Doping 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 Substitutional Doping use?

About 1.6k tokens (SKILL.md is roughly 6.3k 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 Substitutional Doping?

Skills that share tags, products or a category with Substitutional Doping: Cwicr Material Substitution (majiayu000/claude-skill-registry, 666 stars), Decorative Elements (thedaviddias/Front-End-Checklist, 74k stars), Scaffold Element (remotion-dev/remotion, 62k stars) and Investor Materials (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Substitutional Doping?

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.