Loading...
Loading...
Create FAIR-minded reproducibility bundles for materials simulations by collecting input/output file inventories, hashes, units, engine versions, structure identifiers, provenance, and NOMAD/OPTIMADE/Materials Project friendly metadata. Use before publishing, sharing, archiving, or handing simulation results to another agent.
npx skill4agent add heshamfs/materials-simulation-skills fair-simulation-packager| Input | Description | Example |
|---|---|---|
| Project name | Human-readable bundle name | |
| Engine | Simulation code | |
| Input files | Files needed to rerun | |
| Output files | Files needed to verify results | |
| Structure ID | Database or local identifier | |
| Units | Field/unit mapping | |
scripts/fair_packager.py --jsoninputsinputs.inputs--inputsresultsmanifestresults.manifestproject_nameengineengine_versionstructure_idunitsfile_inventoryinputsoutputspathexistssize_bytessha256missing_filesprovenanceworking_directorymanifest_schemafair_checkshas_inputshas_outputshas_unitshas_engine_versionhas_hashes_for_existing_filestruefalsenullrecommended_next_stepsresults.manifest.<field>--out PATHmanifestinputsresultsPATHpython3 skills/data-management/fair-simulation-packager/scripts/fair_packager.py \
--project-name al-cu-diffusion \
--engine LAMMPS \
--inputs in.lammps,data.lmp \
--outputs log.lammps,traj.dump \
--units energy=eV,length=angstrom,time=ps \
--structure-id local:alcu-cell-001 \
--json--out manifest.jsonmissing_files..fair_checks.has_hashes_for_existing_filestruenullfalsenullmissing_filessha256results.manifest.file_inventorysha256sumGet-FileHashengine_version"unknown"--engine-versionunitsstructure_id--out PATHPATHmanifestinputsresults| Tempting shortcut | Why it's wrong / what to do |
|---|---|
| "It exited 0, so the bundle is complete." | Exit 0 only means no validation error; missing files are reported in |
" | |
"Skip | The script defaults |
"Parsing | |
| "The manifest captures the structure, so the run is fully reproducible." | This skill only inventories files, hashes, units, and IDs. It does not record code commit, container digest, or parser versions — follow |
"Absolute paths or | Paths are not sandboxed — absolute and |
--project-name--engine--project-name--engine--structure-idord < 32--inputs--outputs--unitskey=value^[A-Za-z0-9_.:/@+-]+$=size_bytes--out PATH..--out--outBashscripts/fair_packager.pyReadWriteGrepGlobevalexecos.systemsubprocessargparsejson.dumps--jsonreferences/fair_manifest.md--jsonsha256size_bytesunitsstructure_idengine_versionmissing_fileshas_hashes_for_existing_filesevals/files/--jsonhas_hashes_for_existing_filesnull