hello-qm/catgo-lrg/energy-diagram

Claude Code and agent skill by hello-qm/catgo-lrg

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when the user asks to generate a reaction energy diagram, free energy profile, potential energy surface plot, or pathway comparison diagram for catalysis or reaction mechanism studies.

Install

npx vskill@latest install hello-qm/catgo-lrg/energy-diagram

SKILL.md

Energy Diagram Generation

Overview

Generates Plotly-compatible reaction energy pathway diagrams from computed intermediate and transition-state energies. The output includes horizontal line segments for intermediates, cubic-spline curves for transition states, and dashed connectors between consecutive steps.

Key applications:

  • Reaction mechanism comparison: Overlay multiple pathways on one diagram
  • Catalysis studies: Visualize OER, HER, CO2RR, NRR free energy profiles
  • Transition state analysis: Show activation barriers as TS arches
  • Publication figures: Export as SVG/PNG from the Plotly viewer

MCP Tool: catgo_catalysis_energy_diagram

In the full MCP server, use the catgo_catalysis_energy_diagram tool. In the workflow engine, the free_energy node generates energy diagrams automatically from upstream gibbs_energy nodes.

Generate a Simple Energy Diagram
json
{"tool": "catgo_catalysis_energy_diagram", "arguments": {
"pathways": [
{
"name": "OER on RuO2(110)",
"color": "#1f77b4",
"steps": [
{"label": "*", "energy": 0.0},
{"label": "*OH", "energy": 0.85},
{"label": "*O", "energy": 1.60},
{"label": "*OOH", "energy": 3.20},
{"label": "O2", "energy": 4.92}
]
}
]
}}
Compare Multiple Pathways
json
{"tool": "catgo_catalysis_energy_diagram", "arguments": {
"pathways": [
{
"name": "RuO2(110)",
"color": "#1f77b4",
"steps": [
{"label": "*", "energy": 0.0},
{"label": "*OH", "energy": 0.85},
{"label": "*O", "energy": 1.60},
{"label": "*OOH", "energy": 3.20},
{"label": "O2", "energy": 4.92}
]
},
{
"name": "IrO2(110)",
"color": "#ff7f0e",
"steps": [
{"label": "*", "energy": 0.0},
{"label": "*OH", "energy": 1.05},
{"label": "*O", "energy": 1.95},
{"label": "*OOH", "energy": 3.45},
{"label": "O2", "energy": 4.92}
]
}
]
}}
Include Transition States

Mark transition states with "is_ts": true. These appear as cubic-spline arches between the adjacent intermediates:

json
{"tool": "catgo_catalysis_energy_diagram", "arguments": {
"pathways": [
{
"name": "CO oxidation on Pt(111)",
"color": "#2ca02c",
"steps": [
{"label": "CO* + O*", "energy": 0.0},
{"label": "TS", "energy": 0.85, "is_ts": true},
{"label": "CO2(g)", "energy": -1.20}
]
}
]
}}
Custom Layout Configuration
json
{"tool": "catgo_catalysis_energy_diagram", "arguments": {
"pathways": [ ... ],
"config": {
"height": 500,
"y_label": "Gibbs Free Energy (eV)",
"x_label": "Reaction Coordinate",
"energy_format": ".3f",
"line_width": 4
}
}}

Parameters

pathways (required)

Array of pathway objects. Each pathway contains:

FieldTypeRequiredDescription
namestringnoLegend label for this pathway
colorstringnoLine color (CSS color, e.g., "#1f77b4")
stepslist[dict]yesOrdered list of intermediates and TSs

Each step dict:

FieldTypeRequiredDescription
labelstringyesState label (e.g., "*OH", "TS1")
energyfloatyesEnergy in eV
is_tsboolnoTrue for transition states (default false)
config (optional)
ParameterTypeDefaultDescription
base_spacingfloat1.0Base horizontal spacing between states
hline_ratiofloat0.3Width of horizontal energy lines
ts_spacing_ratiofloat0.4Width of TS spline curves
vline_ratiofloat0.3Width of dashed connectors
line_widthfloat3Line thickness
energy_formatstring".2f"Python format string for energy labels
heightint450Plot height in pixels
y_labelstring"Free Energy (eV)"Y-axis title
x_labelstring"Reaction Coordinate"X-axis title

Return Format

json
{
"traces": [ ... ],
"layout": { ... },
"annotations": [ ... ]
}

The return value is directly compatible with Plotly: pass traces as the data array, merge annotations into layout.annotations, and render with Plotly.newPlot(div, traces, layout).

Workflow Integration: free_energy Node

In the CatGo workflow engine, the free_energy node automatically generates an energy diagram from upstream gibbs_energy nodes:

json
{"tool": "catgo_workflow", "arguments": {
"action": "batch",
"workflow_id": "wf_oer",
"operations": [
{"op": "add_node", "node_type": "free_energy", "label": "diagram",
"params": {"input_mode": "auto"}},
{"op": "connect", "from_id": "gibbs_oh", "to_id": "diagram",
"from_handle": "gibbs", "to_handle": "gibbs"},
{"op": "connect", "from_id": "gibbs_o", "to_id": "diagram",
"from_handle": "gibbs", "to_handle": "gibbs"},
{"op": "connect", "from_id": "gibbs_ooh", "to_id": "diagram",
"from_handle": "gibbs", "to_handle": "gibbs"}
]
}}

The free_energy node collects Gibbs energies from all connected upstream nodes and arranges them into a pathway diagram automatically.

Important: Use Gibbs Free Energies, NOT DFT Energies

All energy values passed to this tool must be Gibbs free energies (G), not raw DFT electronic energies (E_DFT). Each intermediate and gas-phase reference must go through the full chain: geo_opt --> freq --> gibbs_energy.

G = E_DFT + ZPE - TS

Using raw E_DFT omits zero-point energy (ZPE) and entropy (TS), which contribute 0.2-0.5 eV per intermediate. This makes the resulting diagram quantitatively wrong and can change which step is potential-determining.

For electrochemical reactions (OER, HER, CO2RR, NRR), also apply:

  • Atom balancing with gas-phase references (H2, H2O, CO2, N2, NH3)
  • pH correction: subtract 0.059 * pH eV per proton-transfer step at 298 K

Common Pitfalls

  1. Transition-state steps (is_ts: true) must be placed between two

non-TS steps in the pathway. A TS at the start or end of a pathway will cause errors because the spline needs adjacent energy values.

  1. Energies should be Gibbs free energies in eV, referenced to a common

zero (typically the clean slab + gas-phase references).

  1. When comparing pathways, use the same energy reference for all of

them. Shifting one pathway by a constant offset invalidates the comparison.

  1. The anti-overlap algorithm adjusts annotation positions when

multiple pathways have states at the same x-coordinate. For heavily overlapping pathways, increase base_spacing in the config.

  1. The returned traces use null-gap separation for disconnected

line segments. This is a standard Plotly pattern for drawing multiple segments in one trace.

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

Popularity

Repository stars
172
Repository forks
18
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hello-qm/catgo-lrg/energy-diagram/badge)](https://verified-skill.com/skills/hello-qm/catgo-lrg/energy-diagram)

Something wrong with this skill or its page? Tell us.