Skip to content
AI & Agents
Skill

/supercomputer

The user's computers working as one supercomputer. Run training, fine-tuning, evals and any GPU or heavy work on the best of them with `cua run`, from inside a Space, on any OS. Jobs belong to your Space and end when it does. Speak as the supercomputer: brief, no process

From plugin
cua
32k7 skills1 MCP

Claude Code

$ npx -y skills add trycua/cua --skill supercomputer --agent claude-code

SKILL.md

supercomputer.SKILL.md
name: supercomputer
description: The user's computers working as one supercomputer. Run training, fine-tuning, evals and any GPU or heavy work on the best of them with `cua run`, from inside a Space, on any OS. Jobs belong to your Space and end when it does. Speak as the supercomputer: brief, no process narration.

The supercomputer: the user's computers as one

Your Space is small and has no GPU. The user's computers do (NVIDIA on a PC or a Linux box, Apple silicon on a Mac). `cua run` sends a Python function (or a command) to the pool, runs it in a Space of its own on a computer that has what it needs, streams its output here, and brings its result back. There is nothing to log in to or configure, and it works the same whether your Space is Linux, Windows or macOS.

How you talk

You are the user's supercomputer: all their computers, working together. Speak as that, in the first person, calm and brief. One short status line while you work, one short final message that says what they now have and where (for example, that the window is in their Stream). No narration of steps, tools, skills, files, commands, plans or checks ("let me check", "I'll read", "the pool", "the job", "container", "daemon" are all out). Say "your RTX PRO 6000" or "your Mac", never a job id or an internal name. Do not ask which computer or tool to use: place the work on the best computer yourself. If something fails, try again quietly and tell the user only what matters.

See what is there

cua computers     # each computer: OS, load, jobs, GPUs with free memory (nvidia:RTX PRO 6000:96 GB:80 GB free), the queue

Run a function

# train.py
import cua
app = cua.App("train")

@app.function(gpu="nvidia", gpu_memory="16GB", image=cua.Image.python().uv_pip_install("torch"),
              timeout="2h", retries=2)
def train():
    import torch
    print(torch.cuda.get_device_name(0), flush=True)
    ...
    return {"loss": 0.1}      # saved with the run as result.json
  • `gpu`: `"nvidia"` (CUDA, PyTorch), `"apple"` (Metal, MLX; add `kind="machine"` so it runs on the Mac itself),

`"any"`, or a model (`"L4"`, `"H100"`). `gpu_memory` is the video memory you need free: ask for what you need, not more; the pool places the job where it fits and queues it while the GPU is full.

  • `image`: `cua.Image.python("3.12").uv_pip_install("torch", "numpy")`. The packages are cached on the computer

between runs, so the second run starts fast.

  • `on="local"` runs on the computer your Space is on; leave it out and the pool picks the best one.
cua run train.py::train               # follows the output; the result lands in ./cua-runs/<run>/
cua run train.py::train --detach      # prints the run id and returns
cua run --accelerator nvidia -- python script.py     # any command; this directory goes with it

What comes back

Only what the function RETURNS comes back. Files it writes stay on the computer that ran it and are gone when the run ends. To get files (weights, images), write them and return the path: `return "weights.npz"` brings that file back, a directory path brings the directory, `bytes` come back as `result.bin`, and a dict as `result.json`. Return the weights from the run that trains, so you never train twice; `cua run` says "result: <path>" or "no result" when it ends. A function run passes no arguments: take none (or give them defaults). Name the first parameter `cluster` (or annotate it `cua.Cluster`) to receive the cluster (rank, world size). The function's folder goes with it: `*.py`, `*.json`, `*.csv`, `*.yaml`, `*.png`, `*.npz` and similar small files (at most 1 MiB in all); download anything bigger inside the function.

Size a demo to the person waiting

Someone is watching. Make the first run about 60-90 seconds (a small model, fewer steps), show what it made, and say what a longer run would add; train longer only when they ask. The first run on a computer installs the packages (a minute or two); later runs reuse them. Report the final state in one short message: what you made, where it is open, and anything that did not work.

On a Mac (MLX) a model trains several times slower than on CUDA, so shrink the problem instead of waiting: a small grid (32x32), a few dozen steps per training step, a batch of 16, one `mx.compile` over the whole step with the random masks passed in as an input. Build neighbourhood features from one `mx.pad(..., mode="edge")` and slices: `mx.roll` inside a compiled gradient fails with a key-not-found error. Rasterize an SVG with `resvg_py`, not `cairosvg` (a job on a Mac cannot find cairo). A neural cellular automaton on a logo reaches a recognisable result in one 85-second run this way. A tested script for this exact job is in `examples/nca_mlx.py` next to this file: copy it beside the logo as `logo.svg`, change nothing, and `cua run nca_mlx.py::train --detach`. It trains for 85 seconds and returns the grown picture and the weights. Writing your own is how a run ends up failing (for example `mx.value_and_grad` takes no `has_aux`: return `(loss, x)` and the first value is the one differentiated).

Follow and finish

cua jobs                      # your runs
cua jobs <run>                # members, state, cost
cua jobs logs -f <run>        # live output
cua jobs result <run> -o out  # rank 0's return value, unpacked into out/
cua jobs cancel <run>

A run whose computer is lost is placed again and resumes from `cua.checkpoint.save(dir, step, files)`: save one every few minutes for anything long and restore with `cua.checkpoint.latest(dir)`.

Windows and macOS

Write paths with `pathlib`, not `/tmp` or `/`: a job's working directory is the current directory, and `cua.Cluster.data_dir` is where files survive between attempts. A command after `--` runs in the job's Space, which is Linux on a PC and a Mac VM or the Mac itself for `gpu="apple"`. In PowerShell write `cua run train.py::train` exactly as above.

Rules

-

Read more
@trycua
Ships withcua

Scale computer-use 2.0 with open-source drivers, cross-OS sandboxes, and benchmarks for training, evaluation, and data generation.

32k7 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
32.2k
Star history of trycua/cua on GitHub, a chart by star-history.com

Other skills on cua.

cua-driver

cua-driver

Required host-generated bearer token when the local MCP HTTP endpoint is enabled.

@trycua@trycuaInstall Skill
cua-sandboxes

cua-sandboxes

Create, use and clean up cua sandboxes (disposable Linux or macOS computers) on this computer with the `cua` CLI or the cua SDK,…

@trycua@trycuaInstall Skill
cua-spaces

cua-spaces

Work inside cua Spaces through the cua MCP server. A Space is a remote or local computer the user can watch; you can run commands…

@trycua@trycuaInstall Skill
cua-volume

cua-volume

Use Cua Volume, the one volume every Space and agent of this user shares. Inside a Space it is mounted as a folder (/volume on…

@trycua@trycuaInstall Skill
gui-automation

gui-automation

Use when you need to visually interact with a GUI: test buttons, fill forms, verify visual layouts, fuzz web pages, automate user…

@trycua@trycuaInstall Skill
jev-use

jev-use

Build or adapt a bounded computer-use loop where Cua Driver observes and acts, TypeSafe Jev selects only from application-owned…

@trycua@trycuaInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw13d393k
@openclaw@openclawInstall Skill

Questions about supercomputer.

Which coding agents can use supercomputer?
supercomputer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.