# Hull Desk > Paste computed entries - formulas with total energies in eV - and find out what their phase > diagram supports. The browser builds the convex hull exactly as pymatgen 2026.5.4's PhaseDiagram > does (formation energy per atom, stable entries, energy above hull, decompositions) and flags > entry sets whose hull cannot be trusted. Then a metered reading explains what the hull supports, > or writes the pymatgen script that reproduces it. URL: https://hull-desk.skillsafe.ai/ API: https://hull-desk.skillsafe.ai/api.html Model: gpt-terra ยท publisher markup 1000 bps (10%) ## The free engine (in the browser, no account) - Reads the pymatgen agent skill's strict entries JSON (schema_version 1.0, total eV per entry, provenance), a table of id, formula, energy (total or per atom) with optional source and method columns, or a list of pymatgen Entry.as_dict() objects (energy plus stored corrections). Up to 2,000 entries. - Computes: elemental references, formation energy per atom, the lower convex hull, stable entries, energy above hull and the decomposition of every entry, and the decomposition of up to 20 compositions you name (the script's --analyze). Binary hull plot; ternary diagram with tie-lines. - Flags: mixed calculation methods, no method stated, no compound below its elements, formation energies above +1 or below -5 eV/atom, elemental outliers, entries within kT (298.15 K) of the hull, ties on the hull, duplicates, sparse entry sets, rows left out. - Checked against pymatgen 2026.5.4 running the skill's phase_diagram_generator.py on Materials Project entries (up to 859, Li-Fe-P-O), 600 random and degenerate entry sets and 24 malformed datasets - about 121,000 compared values. - Exports: entries.json (the strict dataset analysed), the report JSON in the script's format, CSV, a Markdown summary. ## The metered lanes (input field `task`) - `interpret` - a reading of each metric, a description of the computed phase diagram and the compositions asked about, the user's claims judged against the facts, and what a 0 K computed hull cannot show. Verdict sound / caveated / unreliable, never looser than the browser's read unless its flags are dismissed. - `script` - a Python script that reads entries.json into ComputedEntry objects, builds PhaseDiagram, checks every expected value with math.isclose, and runs follow-up checks (dropping named entries, restricting to one method, a competing phase with an author-supplied energy, decompositions, equilibrium reaction energies). Every reply is reconciled on the page: every flag answered, every number found in the browser's facts or the user's notes, every formula one the facts contain, script paths, imports and expected values checked. Only the analysis is sent, never the pasted file. ## Sources - Derived from the agent skill @k-dense-ai/pymatgen (https://skillsafe.ai/skill/@k-dense-ai/pymatgen), k-dense-ai/scientific-agent-skills by K-Dense Inc. (arXiv:2609.00065). - pymatgen: Ong et al., Computational Materials Science 68, 314-319 (2013), doi:10.1016/j.commatsci.2012.10.028. - Materials Project: Jain et al., APL Materials 1, 011002 (2013), doi:10.1063/1.4812323 (data CC BY 4.0). - Notice: https://hull-desk.skillsafe.ai/NOTICE.txt