remote-hpc-slurm
Skill0 starsChanged 4 months agoMITView on GitHub
Operate remote HPC/Slurm GPU clusters from Hermes: capture cluster docs locally, establish SSH identity, stage code/data, submit jobs, and poll logs without leaving long jobs attached to chat sessions.
- Reads credentials
In this repository5 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 10 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 24
If the user shares a Google Doc, web page, or cluster tutorial, save a local Markdown copy and optionally the raw HTML/PDF under a durable …
- Distinctive: line 25
Write a short companion note with the host, login pattern, Slurm account/allocation, storage roots, and open authentication questions.
- Distinctive: line 31
Do not assume these are the same.
- Distinctive: line 34
Use non-interactive SSH first:
- Very specific: line 42
If the cluster uses Duo/BoilerKey/MFA, tell the user they likely need their institutional credentials and an MFA approval.
- Distinctive: line 43
Prefer having the user complete the first interactive login out-of-band or approve an interactive SSH session, then add the Hermes …
- Very specific: line 46
Read the local public key, usually ~/.ssh/id_ed25519.pub.
- Very specific: line 47
Add it to the remote account's ~/.ssh/authorized_keys only through an approved login/setup path.
- Very specific: line 48
After key setup, verify with BatchMode=yes again.
- Distinctive: line 51
Do not keep big runs attached to a long-lived SSH terminal in Hermes.
- Very specific: line 53
Use sinteractive only for setup, smoke tests, and short debugging.
- Distinctive: line 57
Put code, scripts, important outputs, and handoff notes in persistent storage.
- Distinctive: line 58
Put large temporary datasets/checkpoints in scratch only when purge/backup risk is acceptable.
- Very specific: line 62
Put session-specific details in references/<cluster>.md rather than creating a one-off narrow skill.
- Distinctive: line 66
Before claiming Hermes can run jobs on the cluster:
- Distinctive: line 80
Do not request passwords in Discord/chat: Use institutional login/MFA flows and SSH keys.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Remote HPC / Slurm Operations
Use this skill when Gavin asks to run large jobs on an external cluster, login node, university HPC system, Slurm partition, or remote GPU server from Hermes. The goal is to make Hermes a control plane from the current machine while respecting remote auth, scheduler, storage, and billing constraints.
References
references/gautschi.md— Purdue RCAC Gautschi specifics discovered from the Wanglab tutorial and initial SSH probe.
Operating pattern
- Capture the remote docs locally first.
- If the user shares a Google Doc, web page, or cluster tutorial, save a local Markdown copy and optionally the raw HTML/PDF under a durable project/control-plane path.
- Write a short companion note with the host, login pattern, Slurm account/allocation, storage roots, and open authentication questions.
- Separate three identities.
- Local Hermes identity: e.g.
whoamiandhostnameon the current machine. - Remote login username: the Unix/Purdue/cluster username used in
ssh <user>@<host>. - Slurm account/allocation: the billing/allocation name passed to
--accountor-A. Do not assume these are the same. In lab clusters, the Slurm account often names the PI/lab while the SSH username is the user's institutional account.
- Local Hermes identity: e.g.
- Probe SSH safely before asking the user for secrets.
- Use non-interactive SSH first:
ssh -o BatchMode=yes -o ConnectTimeout=12 -o StrictHostKeyChecking=accept-new <user>@<host> 'hostname' - This confirms network reachability, host key setup, and whether key auth already works.
- Redact any password/passcode/token-like prompt text in shared output.
- Use non-interactive SSH first:
- Never ask the user to paste institutional passwords into chat.
- If the cluster uses Duo/BoilerKey/MFA, tell the user they likely need their institutional credentials and an MFA approval.
- Prefer having the user complete the first interactive login out-of-band or approve an interactive SSH session, then add the Hermes machine's public key if the institution allows it.
- Set up key-based control when allowed.
- Read the local public key, usually
~/.ssh/id_ed25519.pub. - Add it to the remote account's
~/.ssh/authorized_keysonly through an approved login/setup path. - After key setup, verify with
BatchMode=yesagain.
- Read the local public key, usually
- Use Slurm as the durable job boundary.
- Do not keep big runs attached to a long-lived SSH terminal in Hermes.
- Stage code/data, submit via
sbatch, and pollsqueue, job logs, and output artifacts. - Use
sinteractiveonly for setup, smoke tests, and short debugging.
- Respect storage semantics.
- Identify persistent/project storage vs scratch/purgeable storage before launching jobs.
- Put code, scripts, important outputs, and handoff notes in persistent storage.
- Put large temporary datasets/checkpoints in scratch only when purge/backup risk is acceptable.
- Record reusable cluster facts.
- Save stable host/account/storage facts in the local project/control-plane notes and, if broadly useful, in memory.
- Put session-specific details in
references/<cluster>.mdrather than creating a one-off narrow skill.
Verification checklist
Before claiming Hermes can run jobs on the cluster:
- Local docs/notes saved.
- Remote login username confirmed.
- SSH reachability tested.
- Authentication mode known: SSH key, password+MFA, Kerberos/GSSAPI, etc.
- Non-interactive SSH works, or the need for interactive MFA is clearly stated.
- Slurm account/allocation and partition known.
- Persistent and scratch storage roots known.
- A tiny remote command or smoke-test job has succeeded.
Pitfalls
- Do not confuse Slurm account with SSH username.
--account joywangis not necessarily the login username. - Do not request passwords in Discord/chat. Use institutional login/MFA flows and SSH keys.
- Do not run heavy jobs directly over SSH. Submit
sbatchjobs and poll. - Do not put irreplaceable artifacts only in purgeable scratch.
- Do not overgeneralize one cluster's modules or CUDA/PyTorch versions. Capture those in cluster-specific references.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

