skills/stability-analyzer/SKILL.md
Analyze thermodynamic stability of inorganic materials by routing between two workflows: a cheap Materials Project-backed lookup path for known compositions, and a custom self-consistent MLIP hull workflow for novel or structure-specific materials. Use this skill whenever the user asks whether a material is stable, requests energy above hull, decomposition products, polymorph context, or wants to include stability as a screening criterion. This skill is intended to become the single orchestration layer for stability analysis, with workflow branching handled in the skill rather than inside an MCP tool.
npx skillsauth add hkqai/MatClaw stability-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
It unifies two stability workflows under one routing layer:
Stability analysis is a workflow decision, not a single tool call.
The key distinction is not whether the user says “stability” or “energy above hull,” but whether the answer should come from:
This skill should own that routing logic.
Use this skill when the user asks any of the following:
This skill should apply both to:
SrNb2O6Use this route when all of the following are true:
Typical triggers:
Preferred tools for this route:
mp_search_materialsmp_get_material_propertiesExpected outputs:
formation_energy_per_atomenergy_above_hullis_stableUse this route when any of the following are true:
energy_above_hull as a Phase 2 computed propertyPreferred tools and helpers for this route:
pymatgen_majority_ordererpymatgen_enumeration_ordererpymatgen_sqs_orderermp_search_materialsmp_get_material_propertiesmatcalc_calc_energeticsscripts/build_self_consistent_hull.pyExpected outputs:
energy_above_hullDetailed custom-hull execution guidance lives below and in references/workflow.md.
This skill assumes the following separation of concerns:
The skill should avoid hiding these decisions. It should make the route explicit in the final response.
Parse whether the user gave:
Use this decision rule:
If the answer can be satisfied by known MP thermodynamic data,
take the MP-backed lookup path.
If the user requests a structure-specific or novel-material answer,
take the custom hull path.
Use this section when the skill chooses the custom self-consistent hull route.
If the target structure has fractional occupancies, choose an ordering strategy before any energetics:
pymatgen_majority_ordererpymatgen_enumeration_ordererpymatgen_sqs_ordererDefault reasoning:
< 10% dopant concentration: majority ordering is an acceptable first pass10-20%: majority ordering for screening, but call out the approximation> 20%: prefer SQS or enumerationAlways report the ordering strategy in the final summary.
Use mp_search_materials over the full chemical system and also query unary element systems explicitly. Keep:
Then use mp_get_material_properties(..., properties=["structure", "thermodynamic", "basic"]) to fetch the competitor structures.
Be explicit that this is still a curated competitor set, not a claim of exhaustive phase-space completeness.
Call matcalc_calc_energetics on:
Use the same settings for all calls:
calculatorelemental_refsrelax_structurefmaxoptimizeruse_gs_referenceThe point is to place all entries on one internally consistent potential-energy surface.
Create a JSON file with:
hull_toleranceThen run:
python skills/stability-analyzer/scripts/build_self_consistent_hull.py <input.json>
The helper will:
energy_above_hull, decomposition, and per-entry formation energiesThis skill is the intended home for all stability-specific decision logic in candidate screening.
Recommended split:
energy_above_hull is a computed screening property.This keeps the screening workflow aligned with computational cost while still treating “stability” as one conceptual property family.
Every response should declare which route was taken:
Stability route: MP-backed lookup | custom self-consistent hull
For the MP-backed route, include:
formation_energy_per_atomenergy_above_hullis_stableFor the custom-hull route, include:
formation_energy_per_atomenergy_above_hullPreferred custom-hull summary shape:
Target: <formula>
Ordering strategy: <none|majority|enumeration|sqs>
Calculator: <calculator>
Relaxed: <true|false>
Formation energy per atom: <value> eV/atom
Energy above hull: <value> eV/atom
Stability level: <stable|metastable|unstable>
Decomposition: <products or self>
Notes: <important caveats>
development
Professional skill for setting up, executing, and debugging VASP DFT calculations using the Atomic Simulation Environment (ASE).
tools
Pre-import validation and auto-fix for URDF files targeting Isaac Sim / USD
tools
Intelligent synthesis route planning for inorganic materials. Use this skill whenever the user needs a synthesis protocol.
development
Optimize CUDA/GPU simulation code using NVIDIA Nsight Systems (nsys) profiling. Use this skill whenever the user mentions performance problems, slow simulations, profiling, nsys, Nsight Systems, kernel optimization, GPU bottlenecks, or wants to speed up CUDA code. Also trigger when the user compares two scenes and one is unexpectedly slower, or asks "why is this slow?" about GPU code. This skill covers the full optimization loop: profiling, bottleneck diagnosis, targeted optimization, verification, and iterative measurement.