The agent runs here
It reads your project, writes job scripts and a run manifest, and reaches Aqua through the SSH access you already have. Nothing is installed on Aqua.
One shared skill that lets Codex, Claude Code or Copilot prepare, submit, monitor and check your Aqua PBS jobs—following the same rules every time, within the scope and budget you set.
A coding agent can already read your code, edit files and run
commands such as ssh. The aqua-hpc skill is a
folder of instructions it loads when you ask for Aqua work. It tells
the agent how Aqua differs from your laptop: where work may run,
what every submission must include, and what counts as a finished
experiment.
It reads your project, writes job scripts and a run manifest, and reaches Aqua through the SSH access you already have. Nothing is installed on Aqua.
Staging files, submitting with qsub and reading
qstat. Short, lightweight commands only—never the
workload itself.
The scheduler starts each job when resources are free. The agent checks logs and outputs afterwards and reports what it found.
It does not create an HPC account, choose or authorise an RPID, configure SSH, or override your agent’s permission settings. You need working Aqua access first. QUT’s Aqua documentation and job submission guide are authoritative; Aqua basics walks through a first job by hand.
scripts/install_skills.py copies the skill into a
project for your chosen agent.
Set it up.
When you ask for Aqua work, the skill has the agent follow this sequence. Each step leaves evidence you can check. You decide how far it goes: preparation only, one smoke test, or a full campaign.
SSH alias, remote workspace, authorised RPID, input locations, resource budget and which actions you allowed. It reuses answers you already gave instead of asking again.
It separates local preparation, lightweight login-node
administration and scheduled compute, and discovers
qsub, queues and storage rather than assuming them.
Every submission carries a real RPID—never a placeholder, and never the old no-RPID grace period. RPID and PBS rules.
It copies one version of your code into a new run directory and records the revision, lockfile hash, flags and data identity, so queued jobs never read a checkout you are still editing. It checks for fixes made on Aqua before syncing over them.
It preflights the real environment on a compute node, then runs one representative case before scaling. See environments, experiments and ROS.
It saves each PBS job ID immediately, and keeps accepted, queued, running, exited 0 and scientifically complete apart. Success means the expected outputs exist and check out.
It batches SSH queries, reuses one watcher, and retries only within the caps you set. When the evidence needs you or an operator, it stops and says so. Operations · recovery.
What was changed or submitted, job IDs, observed state, output locations, validation evidence and open issues. The agent never infers success from empty output, a missing queue entry or a successful SSH login.
Your wording is the authorisation. Preparing work does not permit submitting it, and a status question does not permit retries or cancellation.
| You ask | The agent may | It will not |
|---|---|---|
| “Prepare it; do not submit yet.” | Inspect the project, write scripts, stage a preview. | Submit anything. |
| “Run a smoke test under my RPID.” | Submit one small job and check its output. | Launch the full matrix. |
| “Submit these 12 cells, max two at once.” | Submit, record every ID, validate each output. | Exceed the concurrency or tested resources. |
| “Update?” | Take one fresh, read-only status snapshot. | Start another watcher, retry or cancel. |
| “Fix errors; one retry, up to 32 GB and 4 h.” | Diagnose, fix in a new snapshot, retry each failed cell once. | Change scientific settings or go past the cap. |
Once you have authorised an action and its budget, the agent won’t ask for the same permission again. Your agent’s own tool prompts still apply.
Let one agent own submissions for each campaign. If you switch agents, hand over the run record—run path, code/lock/data hashes, config, manifest, PBS IDs, last known state and remaining work—but never secrets.
You need Python 3, Git, a coding agent and SSH access to Aqua that already works. The agent runs on your own computer.
git clone https://github.com/margauxmedwards/aqua-hpc-skills.git
cd aqua-hpc-skills
Clone the default branch.
Pick your agent and run this from the toolkit folder. Replace
/path/to/your/project with your experiment’s folder
on your computer, not on Aqua.
python3 scripts/install_skills.py --agent codex --project /path/to/your/project
Installed into .agents/skills/aqua-hpc in your project.
Start or reload Codex there, then mention $aqua-hpc.
The installer never overwrites an existing copy and does not set up SSH or cluster permissions. Updating? See keep things current.
$aqua-hpc Inspect this project's runner, flags and environment.
Use my SSH alias [alias], remote workspace [path], and authorized RPID [ID].
Prepare a representative smoke test before the full experiment.
Budget: [CPUs / RAM / GPUs / walltime], [N] concurrent jobs.
Show me the concrete run configuration; do not submit yet.
When the plan looks right, change the last line to authorise submission. The agent won’t ask again for permission you have already given.
New to coding agents? AI4Coding: getting-started tips covers context, prompts and defining success (repository).
Use these in Codex, Claude Code or Copilot with the Aqua skill loaded. Each response should distinguish observations, proposed actions and work actually completed.
Ask for separate checks of login, scheduler and queue health, plus the observation time. A login success alone does not establish compute health.
Checked at [time]: login reachable; PBS responsive; [queue] enabled and started. Compute execution not tested.
A failed scheduler query means unknown or unresponsive, not necessarily a cluster-wide outage. “Schedule a small test under my RPID” separately authorizes a compute smoke job.
Provide the entrypoint/config, inputs, RPID, remote path and resource budget. Ask for one representative smoke case before the approved matrix.
Run this manifest on Aqua under my recorded RPID. Maximum two concurrent jobs; use the measured resource request. Validate a smoke case first, then submit the eight cells and save their IDs.
Expect the submitted IDs, selected route/placement, per-job resources, output path, smoke evidence and observed state. No job ID should be invented when a submission is unresolved.
Compare QCR and general placement for this experiment. Check my eligibility, tested GPU requirements and current limits. Estimate walltime from representative runs and state queue-wait uncertainty.
Expect a recommendation with evidence. QCR membership, project accounting and hardware compatibility are separate. A job that needs 60 hours without checkpoints will not fit a 48-hour queue. Background: queues and walltime.
As of [time], 3/8 cells are validated: 1 running, 1 queued, 2 failed, 1 not submitted. The running cell is at 50/100 records. One failed cell exited zero but produced 0/100 outputs. ETA unknown.
This is an illustrative response, not current job status. Counts should reconcile with the original manifest; attempts should not inflate cell counts. Stale data and unverified outputs must be labeled.
Monitor these recorded jobs every 10 minutes for up to an hour, or until all are terminal. Reuse any existing monitor. Report failures and incomplete outputs; do not retry jobs automatically.
Expect the actual monitor/session identity, interval, deadline, last observation and available delivery channel. A tool must not promise chat notifications unless that capability is configured. “Update?” should not create a second watcher.
“Stop polling, leave the experiments running” stops only that monitor, not PBS jobs or shared SSH connections.
Inspect the recorded jobs, logs and expected outputs. Fix diagnosed causes in a new snapshot, validate a representative case, and retry terminal failed cells within our existing budget. Preserve successful cells and live jobs.
Expect the evidence, actual fix, validation result, old→new job mapping and remaining issues. An environment repair should not silently change model, sensor, precision or sampling choices.
Allow at most one resource-recovery retry per failed cell, up to 32 GB host RAM and four hours, maximum two concurrent. Preserve the scientific configuration. Confirm the original job is terminal and no replacement is running before submitting.
| Failure | What helps |
|---|---|
| Confirmed host RAM limit | Measured RAM increase within the cap. A cap is not the original request. |
| CUDA / GPU out of memory | Investigate VRAM; more host RAM does not add device memory. |
| Walltime limit with progress | Enough time for a full restart, or a verified compatible checkpoint. |
| Disk, inode or quota exhaustion | Storage diagnosis and scoped recovery, not extra RAM. |
| Unknown state or submission timeout | Reconcile the original job; do not create a possible duplicate. |
Stop at the agreed retry/resource limits. A replacement usually gets a new PBS ID; more walltime does not automatically resume prior work. Recovery rules and evidence.
These formats were exercised in 14 synthetic scenarios with both Codex and Claude, with targeted recovery retests. Read the responses and evaluation notes.
git status, then fetch
and inspect the update.
git pull --ff-only when your working tree is
ready.
skills/aqua-hpc against your project’s
installed copy. Preserve local customizations.
Move the old installed copy aside before reinstalling, retire any old copied Copilot instructions, and never change files that queued or running jobs are using.
For the RPID requirement, the RPID page has a ready-made prompt that asks your agent to update every submission path.
Official QUT guidance takes precedence over this community guide:
The RPID deadline comes from QUT’s notice, and the RPID format from Aqua’s scheduler. Queue details come from read-only scheduler queries on 28 September 2026. The example matrix was tested against simulated PBS; a live array with a valid RPID and automatic recovery are not yet verified.
Full source and maintenance notes · Codex skills · Claude Code skills · Pixi run