| name | job-results |
| description | Read and parse results from completed SLURM jobs — check status, retrieve output, filter candidates |
| metadata | null |
Job Results Skill
Read results from completed SLURM jobs. Checks job status via sacct, reads output files (stdout JSON), and can filter results by criteria (e.g., thermodynamic stability, convergence).
This skill bridges the gap between job submission and subsequent analysis steps. When a screening job completes, use this skill to retrieve results and identify candidates for the next pipeline stage.
Scripts
read_job_results.py — Retrieve and parse job output
Check status and read results:
python3 {baseDir}/scripts/read_job_results.py \
--job-id 27018190 \
--output-dir ./uma_screen_output \
--format json
Filter thermodynamically stable candidates:
python3 {baseDir}/scripts/read_job_results.py \
--output-dir ./uma_screen_output \
--filter-stable \
--format json
Read the latest results from a directory:
python3 {baseDir}/scripts/read_job_results.py \
--output-dir ./uma_screen_output \
--format json
Parameters
| Parameter | Description |
|---|
--job-id | SLURM job ID to check status for |
--output-dir | Directory containing SLURM output files (slurm-*.out) |
--results-file | Direct path to a JSON results file |
--filter-stable | Only return candidates with formation_energy < 0 or e_above_hull < 0.1 |
--filter-converged | Only return converged calculations |
--list-cifs | List relaxed CIF file paths for stable candidates |
--format | summary | json |
Output (JSON)
{
"status": "COMPLETED",
"job_id": "27018190",
"results": { ... },
"stable_candidates": [
{
"label": "YH10_from_LaH10",
"formula": "YH10",
"formation_energy_eV_per_atom": -0.18,
"e_above_hull_eV": 0.0,
"relaxed_cif": "/path/to/YH10_0GPa.cif"
}
],
"stable_cif_paths": ["/path/to/YH10_0GPa.cif", ...]
}