Install Kermt Infer
Pick your agent. Every command is ready to paste.
npx skills add NVIDIA/skills --skill kermt-inferThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads kermt-infer when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the kermt-infer skill”. In Codex, type $kermt-infer.
kermt-infer
Run predictions with a finetuned KERMT checkpoint on a SMILES-only CSV. The skill is the workflow orchestrator: validate ckpt, validate CSV, prepare data, launch the runner blocking, return the predictions CSV.
Skill and runtime paths
Set SKILL_DIR to the absolute path of this installed skill directory. Export
KERMT_REPO as the absolute path to the KERMT checkout used for model
execution. The bundled container helper mounts that checkout at
/workspace and this skill at /skill (read-only). Commands inside
the container use /skill/scripts/; defaults are bundled in config/.
Hardware requirements
- GPUs: 1 (single-GPU). Multi-GPU inference is not currently supported.
- VRAM: ≥ 4 GB for the default
batch_size 32. - Disk: a few hundred MB per run (cleaned CSV + features + predictions).
- Driver / CUDA: any host supporting CUDA 12.6 (the kermt image base).
Inputs
Required:
--ckpt <path>— finetuned checkpoint (must have task FFN heads). The validator refuses pretrain ckpts with a redirect tokermt-finetune.--csv <path>— SMILES-only CSV. First column issmiles; other columns are ignored.
Optional:
--batch-size N— override the configured default (32).--seed N— random seed for inference (deterministic featurization paths).--gpus 0— single GPU id (default 0). Multi-GPU rejected.--from-prepare <dir>— skip the prepare step and reuse an existingprepare_data.jsonin<dir>.
Workflow
Let $KERMT_REPO be the path to your kermt repo checkout, and assume
kermt-setup has built kermt:latest.
Pre-flight: ensure container + system probe.
"$SKILL_DIR/scripts/kermt_container.sh" check_systemRefuse to proceed on
ok: false.Compute run directory.
RUN_DIR=$KERMT_REPO/runs/infer_$(date -u +%Y-%m-%dT%H-%M-%SZ)Validate the checkpoint.
"$SKILL_DIR/scripts/kermt_container.sh" run --ckpt <user-ckpt> -- \ "python /skill/scripts/check_checkpoint.py --mode inference --ckpt /ckpt"Parse the JSON. Abort on
ok: false. The validator rejects pretrain ckpts (has_task_ffn: false) with a redirect tokermt-finetune.Validate the data.
"$SKILL_DIR/scripts/kermt_container.sh" run --data <user-csv> -- \ "python /skill/scripts/check_data.py --mode inference --csv /data/<basename>"Abort on
ok: false.Prepare the data.
"$SKILL_DIR/scripts/kermt_container.sh" run --data <user-csv> --run-dir $RUN_DIR -- \ "python /skill/scripts/prepare_data.py --mode inference \\ --csv /data/<basename> --out /runs/data"Outputs land at
$RUN_DIR/data/prepare_data.jsonwithclean_csv+clean_npzpaths (rdkit_2d_normalized features).Launch the runner (blocking).
"$SKILL_DIR/scripts/kermt_container.sh" run \\ --ckpt <user-ckpt> --run-dir $RUN_DIR -- \\ "python /skill/scripts/run_inference.py \\ --ckpt /ckpt \\ --prepare-manifest /runs/data/prepare_data.json \\ --out /runs \\ [--gpus 0 --batch-size N --seed N]"Returns the predictions CSV path on success.
Report to the user. Output a short summary:
- Predictions:
$RUN_DIR/out/predictions.csv(smiles + per-target columns) - Manifest:
$RUN_DIR/run.json(cmd_replay + image digest + applied args) - Log:
$RUN_DIR/logs/inference.log - Row count: molecules predicted across targets
- Predictions:
Hard rules
- Never modify the user's ckpt. The runner symlinks the ckpt into a
unique
<out>/ckpt_link/subdir somain.py predict --checkpoint_dirpicks it up; the source file stays untouched. - Arch comes from the ckpt, never from CLI/defaults. The runner records
the validator's arch block in
run.jsonbut does not pass arch flags intomain.py predict— predict reads them from the loaded ckpt's saved_args. - Single-GPU only. Multi-GPU inference is not currently supported.
- Echo applied defaults. The
args_appliedfield ofrun.jsonrecords every flag's value + source (user / default-config). Surface a short summary of any default-filled flag.
Common errors
inference requires a finetuned ckpt with task FFN heads→ ckpt is a pretrain ckpt; usekermt-finetunefirst.prepare_data manifest reports ok=False→ check the manifesterrorsfor the failed step (typically clean_smiles or save_features).could not convert string to float: '<value>'from save_features or main.py predict → input CSV has a non-numeric passthrough column (e.g. a 'split' label). The prep step now strips the CSV to SMILES-only at inference; if this error still surfaces, the CSV is being read by a runner that bypassed prepare_data. Re-run via the skill, notmain.pydirectly.--gpus '0,1' is single-GPU only→ pass a single id.
Replayability
The run.json cmd_replay field is a single-line command that re-runs the
inference with the same inputs. To replay inside the kermt container:
$(jq -r .cmd_replay $RUN_DIR/run.json)
If ok_to_replay: false (dirty kermt repo worktree at launch time), pin
the commit via repo.commit and git checkout it first.
Tips for Kermt Infer
- • Start a fresh session after installing so your agent picks up the new skill.
- • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
- • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Kermt Infer
What does the Kermt Infer skill do?
Run predictions with a finetuned KERMT checkpoint on a SMILES-only CSV. The skill validates that the input ckpt has task FFN heads (refuses pretrain ckpts with a redirect to kermt-finetune), validates the CSV, prepares the data (clean + rdkit_2d features), then launches main.py predict inside the kermt container (blocking, minutes-scale).
How do I install Kermt Infer?
Run "npx skills add NVIDIA/skills --skill kermt-infer" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Kermt Infer work in Cursor and Codex?
Yes. Kermt Infer uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Kermt Infer free?
Kermt Infer is open source on GitHub under the Apache-2.0 license. It is free to install; check the license before commercial use.
Who made Kermt Infer?
Kermt Infer is published by NVIDIA in the NVIDIA/skills repository, together with 29 other skills.



