bench-on-runpod
Automate remote execution and benchmarking of repository code on Runpod GPU nodes.
Install
mkdir -p .claude/skills/bench-on-runpod && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16563" && unzip -o skill.zip -d .claude/skills/bench-on-runpod && rm skill.zipInstalls to .claude/skills/bench-on-runpod
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Run mxx repository programs, tests, or benchmarks on Runpod instances with GPU machine selection, network volume setup, SSH/scp configuration, branch push and remote checkout synchronization, durable log capture, log retrieval, instance cleanup, and failed-test fix/push/pull/rerun loops. Use when Codex is asked to execute mxx work on a Runpod machine or instance, including requests that mention Runpod GPUs such as RTX5090, RTX PRO 6000, H200, remote benchmarking, remote tests, or running a command on a Runpod pod.Key capabilities
- →Run mxx repository programs on Runpod instances
- →Select GPU machines for benchmarking
- →Set up network volumes and SSH/scp configuration
- →Synchronize local branches to remote checkouts
- →Capture and retrieve durable logs
- →Clean up Runpod instances after runs
How it works
This skill provisions Runpod instances based on user requirements, configures SSH and network volumes, synchronizes the local branch to the remote checkout, executes the specified command while capturing durable logs, and manages the instance lifecycle.
Inputs & outputs
When to use bench-on-runpod
- →Running benchmarks on RTX5090 GPUs
- →Executing remote tests
- →Syncing and rerunning failed jobs
About this skill
Bench on Runpod
Overview
Use this workflow to run mxx commands on Runpod machines while keeping the local branch, remote checkout, logs, and instance lifecycle controlled.
Prefer repo-local Runpod helper skills and CLIs when available, but keep the required state transitions below intact.
Required Inputs
Before provisioning, determine these values from the user request or local context. Ask the user for any value that remains unclear.
- Machine type, such as
RTX5090,RTX PRO 6000, orH200. - Machine count.
- Container volume size.
- Network volume. Prefer an existing Runpod network volume whose name contains
mxx; ask before creating or using a non-mxx volume. - The exact program, test, benchmark, or command to run.
- Whether the selected network volume is new for mxx setup purposes.
Local Preparation
- Inspect the current branch name. If the checkout is detached or the current branch name is not decided, ask the user to choose a branch name before continuing.
- Ensure every local change needed for the remote run is committed and pushed. If there are uncommitted changes and the user has not already authorized committing them, ask before creating a commit.
- Push the current branch to the remote repository.
- Record the pushed branch name and latest commit SHA. The remote checkout must be synchronized to this exact commit before running the command.
Provision and Connect
- Launch the requested Runpod machine configuration with the chosen machine type, machine count, container volume size, and network volume.
- Ensure SSH is configured with
scpsupport enabled. Do not proceed with a machine that cannot receive files throughscp. - SSH into the machine and confirm the mounted workspace path is
/workspace. - Record the machine or pod name because it must be included in the run log filename or metadata.
Remote Setup
- If the network volume is new for this mxx environment, copy
scripts/setup.shfrom this skill to the remote/workspacedirectory withscp, then run it on the remote machine from/workspace. - In every remote shell that runs commands, execute:
source /workspace/env.sh
- Move to
/workspace/mxx. - Align
/workspace/mxxto the pushed local branch and commit:
git fetch origin
git checkout <branch-name>
git reset --hard <commit-sha>
git submodule update --init --recursive
Use the actual pushed branch and commit from local preparation. Do not run against a stale remote checkout.
Run and Log
Always write command output to a durable log file while the command runs.
Construct a log filename or header that includes:
- Machine name or pod name.
- Machine count.
- Git commit SHA.
- Date and time, preferably in JST.
- A command summary of seven words or fewer.
Use tee for foreground commands. For long-running tests, benchmarks, or commands likely to outlive the SSH session, use nohup in the background and redirect both stdout and stderr to the log while preserving the command exit status where practical.
Example foreground shape:
set -o pipefail
<command> 2>&1 | tee <log-file>
Example background shape:
nohup bash -lc 'set -o pipefail; <command>' > <log-file> 2>&1 &
echo $!
Poll or reconnect until the result is known. When a background command finishes, inspect the log tail and exit-status evidence before reporting success or failure.
Retrieve Logs
After the run completes or reaches a useful failure point, copy the log back to the local machine under ~/codes/mxx/logs in an appropriate subdirectory for the run type, date, branch, or command family. Preserve the original remote log name when practical.
Failure Loop
When a test or benchmark fails and the user has not instructed otherwise, use this default loop:
- Diagnose from the retrieved log.
- Fix the issue locally in the mxx workspace.
- Commit and push the local fix.
- SSH to the same remote machine when it is still running.
- Pull or fetch the updated branch in
/workspace/mxxand reset to the new commit. - Rerun the command with a new durable log.
Repeat until the run succeeds or user input is needed.
Instance Lifecycle
After collecting logs:
- Keep the Runpod instance running if a failure means the same machine is likely to be reused within one hour.
- Stop or terminate the Runpod instance if the run succeeded.
- Stop or terminate the instance if the run failed but progress is blocked on user help and reuse within one hour is uncertain.
Report the final instance state, local log path, remote log path, branch, commit, and command result to the user.
When not to use it
- →When the task is not executing mxx work on a Runpod machine
- →When uncommitted local changes are not authorized for committing
- →When a machine cannot receive files through `scp`
Limitations
- →Requires explicit user authorization for committing uncommitted local changes
- →Requires SSH to be configured with `scp` support on the Runpod instance
- →Does not proceed if the mounted workspace path is not `/workspace`
How it compares
This skill provides a structured workflow for remote execution on Runpod, handling instance provisioning, synchronization, and logging, offering a controlled environment compared to manual remote execution.
Compared to similar skills
bench-on-runpod side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bench-on-runpod (this skill) | 0 | 3mo | Review | Advanced |
| deployment-pipeline-design | 6 | 2mo | Review | Advanced |
| cloudflare-deploy | 3 | 6mo | Review | Intermediate |
| deployment-engineer | 4 | 4mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by MachinaIO
View all by MachinaIO →You might also like
deployment-pipeline-design
wshobson
Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices.
cloudflare-deploy
davila7
Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.
deployment-engineer
sickn33
Expert deployment engineer specializing in modern CI/CD pipelines, GitOps workflows, and advanced deployment automation. Masters GitHub Actions, ArgoCD/Flux, progressive delivery, container security, and platform engineering. Handles zero-downtime deployments, security scanning, and developer experience optimization. Use PROACTIVELY for CI/CD design, GitOps implementation, or deployment automation.
devops
mrgoonie
Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm). Use for serverless, containers, CI/CD, GitOps, security audit.
kcli-cluster-deployment
karmab
Guides deployment and management of Kubernetes clusters with kcli. Use when deploying OpenShift, k3s, kubeadm, or other Kubernetes distributions.
managing-deployment-rollbacks
jeremylongshore
Deploy use when you need to work with deployment and CI/CD. This skill provides deployment automation and orchestration with comprehensive guidance and automation. Trigger with phrases like "deploy application", "create pipeline", or "automate deployment".