Prepare, explain, validate, and run DP-GEN simplify workflows for reducing repeated or redundant DeepMD datasets. Use when the user wants to generate or modify `param.json` and `machine.json`, run `dpgen simplify param.json machine.json`, organize repeated simplify experiments, or inspect simplify outputs.
npx skills add https://github.com/jinzhezenggroup/computational-chemistry-agent-skills --skill dpgen-simplify
Use this skill when the user wants to prepare, explain, validate, or execute the dpgen simplify workflow.
This skill is for dataset simplification workflows where the user already has candidate data in DeepMD-compatible format and wants to reduce repeated or redundant structures through iterative selection.
DP-GEN simplify always uses two parameter classes and therefore two JSON files:
param.jsonmachine.jsonRun exactly:
dpgen simplify param.json machine.json
Environment boundary rule:
dpgen simplify param.json machine.json in an activated environment where dpgen --version works.resources.source_list on the server side.When using this skill, the agent should:
param.jsonmachine.jsonDo not ask the user for everything if part of the configuration is already available.
If the user already provides:
param.jsonmachine.jsonthen patch those files instead of rebuilding everything from scratch.
Do not silently change:
type_map orderingIf a value looks scientifically questionable, explain the concern instead of silently replacing it.
If the user wants local execution, produce local-friendly commands.
If the user wants scheduler execution, produce scheduler-friendly commands and keep queue, partition, and resource requests explicit.
Do not invent scheduler module names or executable paths.
If the user already has a working activation command such as:
conda activate ...module load ...source ...reuse it exactly.
If execution is requested and the activation method is unknown, ask the user for the precise activation command.
Do not guess conda environment names, module names, or site-specific paths.
Use an activated DP-GEN environment and verify with:
dpgen --version
Do not start simplify from a shell where dpgen is unavailable.
Treat simplify execution as two separate environment layers:
dpgen simplify param.json machine.json (must have dpgen in PATH)train / model_devi / fp) on server/runtime sideEven if the outer layer is correct, inner stage tasks still need explicit runtime setup in machine.json.
Do not assume the outer shell environment will be inherited by dispatched stage jobs.
For scheduler-style execution, resources.source_list must explicitly activate the required runtime environment.
When generating a simplify workflow, keep files organized and predictable.
Recommended structure:
project/
├── param.json
├── machine.json
├── run.sh
├── logs/
└── summary/
For repeated experiments:
project/
├── base/
├── exp_01/
├── exp_02/
├── exp_03/
└── summary/
Collect the following information before generating files.
pick_datasys_configsinit_data_prefixinit_data_syssys_batch_sizetype_mapmass_map if neededlabeledinit_pick_numberiter_pick_numbermodel_devi_f_trust_lomodel_devi_f_trust_himodel_devi_e_trust_lo / model_devi_e_trust_hi if energy trust is usednumb_models if not already specifiedtrain_backend if required by environment (for example pytorch)default_training_paramfp_stylefp_style to none.fp_style != "none", collect matching FP runtime settings such as:fp_task_maxfp_task_minfp_paramsFor each stage train, model_devi, and fp, collect or preserve:
commandmachine.batch_typemachine.context_typemachine.local_rootmachine.remote_rootresources.number_noderesources.cpu_per_noderesources.gpu_per_noderesources.group_sizeresources.source_list (required for scheduler jobs; use it to activate environment explicitly)Choose a runtime profile first, then fill the matching template:
assets/machine.template.server-local-slurm.jsonassets/machine.template.ssh-remote-slurm.jsonassets/machine.template.local-shell.jsonparam.jsonConstruct param.json around these logical blocks:
Key fields usually include:
type_mapmass_mappick_datainit_data_prefixinit_data_syssys_batch_sizenumb_modelsdefault_training_paramfp_styleshuffle_poscarfp_task_maxfp_task_minfp_pp_pathfp_pp_filesfp_paramsinit_pick_numberiter_pick_numbermodel_devi_f_trust_lomodel_devi_f_trust_hiIf the user is doing grid experiments, keep a base template and derive variants from it.
Official reference example (QM7-style, adapted with path placeholders):
assets/param.example.qm7.from-official-docs.jsonmachine.jsonConstruct machine.json with separate stage blocks for:
trainmodel_devifpFor each stage, keep the following explicit:
commandDo not merge all stages into one vague machine block.
Before execution, validate the workflow in this order:
dpgen is available:dpgen --version
python -m json.tool param.json
python -m json.tool machine.json
fp_style is none, do not require FP-specific backend settingsdpgen simplify param.json machine.json
Always provide:
param.json and machine.jsondpgen simplify param.json machine.json)dpgen simplify before both JSON files are present.type_map ordering consistent with dataset typing.fp_style is none, skip FP-specific prompts and keep FP-specific settings disabled or unset.fp_style = "none" and do not require active FP runtime fields.source_list per stage.Use these bundled files:
assets/param.template.jsonassets/param.example.qm7.from-official-docs.jsonassets/machine.template.jsonassets/machine.template.server-local-slurm.jsonassets/machine.template.ssh-remote-slurm.jsonassets/machine.template.local-shell.jsonreferences/param-fields.mdreferences/machine-fields.mdreferences/workflow-notes.mdExternal references:
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.
Bayesian modeling with PyMC. Build hierarchical models, MCMC (NUTS), variational inference, LOO/WAIC comparison, posterior checks, for probabilistic programming and inference.
Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
Statistical modeling toolkit. OLS, GLM, logistic, ARIMA, time series, hypothesis tests, diagnostics, AIC/BIC, for rigorous statistical inference and econometric analysis.
Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.
Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.
Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.
Take jinzhezenggroup/dpgen-simplify from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.