Skip to content
Back to skills

Ops Runpod

ASecurity

Provision, manage, and terminate RunPod GPU instances for LLM training. Use when user says "spin up GPU", "create RunPod instance", "terminate pod", "check GPU status", "provision training server", or needs cloud GPU resources.

  • 6 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
devopsbashdockergitapidocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add grahama1970/agent-skills --skill ops-runpod --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ops Runpod?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ops Runpod
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/grahama1970-ops-runpod/badge)](https://www.skillsdirectory.com/skills/grahama1970-ops-runpod)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ops-runpod
description: >
  Provision, manage, and terminate RunPod GPU instances for LLM training. Use when
  user says "spin up GPU", "create RunPod instance", "terminate pod", "check GPU status",
  "provision training server", or needs cloud GPU resources.
allowed-tools: Bash, Read
triggers:
  - spin up GPU
  - create RunPod
  - terminate pod
  - GPU instance
  - provision server
  - check pod status
  - RunPod management
metadata:
  short-description: RunPod GPU instance management
  project-path: $RUNPOD_OPS_REPO (set via env; defaults to GitHub clone)

provides:
  - ops-runpod
composes:
  - task-monitor
  - agentic-evals
disciplines:
  - model-ops
  - observability-operations
---

# RunPod Operations Skill

Manage RunPod GPU instances for LLM training and inference.

**Self-contained skill** - auto-installs via `uv run` from git (no pre-installation needed).

## Quick Start

```bash
# Via wrapper (auto-installs from GitHub on demand)
.pi/skills/ops-runpod/run.sh list-instances

# Create an instance
.pi/skills/ops-runpod/run.sh create-instance 70B --hours 4

# Monitor an instance
.pi/skills/ops-runpod/run.sh monitor <pod-id>

# Terminate an instance
.pi/skills/ops-runpod/run.sh terminate <pod-id>
```

## Commands

| Command | Purpose |
|---------|---------|
| `create-instance` | Create GPU pod optimized for model size |
| `list-instances` | Show all running pods with status/cost |
| `monitor` | Live monitoring of pod metrics |
| `terminate` | Safely terminate a pod |
| `estimate-cost` | Estimate training cost before creating |
| `optimize` | Find optimal GPU config using benchmarks |
| `start-training` | Start a training job on RunPod |
| `serve` | Start inference server on RunPod |

## Examples

### Create Instance
.pi/skills/ops-runpod/run.sh create-instance 70B --hours 4
# Returns: pod_id=abc123
```

### Estimate Cost
```bash
.pi/skills/ops-runpod/run.sh estimate-cost 70B --hours 8
```

### Monitor Instance
```bash
.pi/skills/ops-runpod/run.sh monitor <pod-id>
```

### Terminate Instance
```bash
.pi/skills/ops-runpod/run.sh terminate <pod-id>
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `RUNPOD_API_KEY` | Yes | RunPod API key |

## Typical Workflow

```bash
# 1. Estimate cost
.pi/skills/ops-runpod/run.sh estimate-cost 70B --hours 8

# 2. Create pod
.pi/skills/ops-runpod/run.sh create-instance 70B --hours 8

# 3. Monitor or SSH into pod
.pi/skills/ops-runpod/run.sh monitor <pod-id>

# 4. Run training...

# 5. Terminate when done
.pi/skills/ops-runpod/run.sh terminate <pod-id>
```

## Deepseek V3 FP8 Deployment (Large-Scale Inference)

For deploying Deepseek V3 (671B MoE, ~350GB FP8) for large-scale QRA generation:

### Requirements

| Component | Specification |
|-----------|--------------|
| GPU | 8x A100 80GB or 8x H100 80GB |
| VRAM | 640GB total (FP8 requires ~350GB) |
| Volume | 750GB (model + cache) |
| Docker | `lmsysorg/sglang:latest` |
| Tensor Parallel | TP=8 |

### Estimate Cost (Before Deploying)

```bash
.pi/skills/ops-runpod/deploy-deepseek-v3.sh --estimate-only --hours 12
```

### Deploy for Overnight Job

```bash
# Cost-optimized (8x A100, ~$15/hr)
.pi/skills/ops-runpod/deploy-deepseek-v3.sh --hours 12

# Speed-optimized (8x H100, ~$24/hr)
.pi/skills/ops-runpod/deploy-deepseek-v3.sh --hours 8 --fast
```

### Throughput Estimates

| GPU Config | Tokens/sec | QRAs/hour (1K tokens) | 90K QRAs Time |
|------------|------------|----------------------|---------------|
| 8x A100 | ~150 | ~540 | ~12-14 hours |
| 8x H100 | ~250 | ~900 | ~7-9 hours |

### First-Time Deployment

First run requires ~45 min for model download (~350GB). Subsequent runs use cached weights.

### Cost Comparison

| Config | Hourly | 90K QRAs | Notes |
|--------|--------|----------|-------|
| 8x A100 Spot | ~$15/hr | ~$180-200 | Overnight recommended |
| 8x H100 Spot | ~$24/hr | ~$170-190 | Faster, similar total cost |

**Recommendation**: 8x A100 overnight for cost optimization (user preference).

## Integration with Memory

After training completes, log the lesson:
```bash
memory-agent learn \
  --problem "Training Qwen3-70B on RunPod" \
  --solution "Used A100-80GB, 8 hours, cost $24.72. Config: lr=2e-5, batch=4"
```

## Common Mistakes

### WRONG: Creating instances without estimating cost first
```bash
./run.sh create-instance 70B --hours 8  # could be $200+ surprise
```

### RIGHT: Always estimate before provisioning
```bash
./run.sh estimate-cost 70B --hours 8  # see cost before committing
./run.sh create-instance 70B --hours 8
```

### WRONG: Forgetting to terminate pods after training
```bash
./run.sh create-instance 70B --hours 8
# Training finishes in 4 hours, pod runs for 4 more hours at full price
```

### RIGHT: Terminate immediately after training completes
```bash
./run.sh terminate <pod-id>  # stop billing
```

### WRONG: Using ops-runpod for training when Flash is available
```bash
./run.sh create-instance 7B  # persistent pod for training, expensive
```

### RIGHT: Use classifier-lab or create-gpt --target flash for training
```bash
# Flash replaces ops-runpod for all training paths
.pi/skills/create-gpt/run.sh train --task X --target flash --gpu B200
```

## References (retrieve on demand — do not vendor)

External docs drift; cite the canonical URLs and fetch them when needed
with `/context7` (library docs) or `/fetcher` (any URL/PDF) rather than
caching stale copies. Verified reachable (HTTP 200) 2026-08-24.

- RunPod documentation: <https://docs.runpod.io/>
- llms.txt (LLM-friendly doc index): <https://docs.runpod.io/llms.txt>
- llms-full.txt (expanded LLM index): <https://docs.runpod.io/llms-full.txt>

```bash
skills/context7/run.sh "runpod gpu pods api"
skills/fetcher/run.sh "https://docs.runpod.io/"
```

Files in this skill

  • SKILL.md5.7 KB
  • deepseek_v3_config.py8.2 KB
  • deploy-deepseek-v3.sh6.7 KB
  • fixtures/agentic_eval.json488 B
  • pyproject.toml709 B
  • run.sh814 B
  • runpod_ops_src/README.md5.1 KB
  • runpod_ops_src/pyproject.toml1.7 KB
  • runpod_ops_src/runpod_ops/README.md5.1 KB
  • runpod_ops_src/runpod_ops/runpod_ops/README.md5.1 KB
  • runpod_ops_src/runpod_ops/runpod_ops/__init__.py470 B
  • runpod_ops_src/runpod_ops/runpod_ops/cost_calculator.py15.3 KB
  • runpod_ops_src/runpod_ops/runpod_ops/inference_server.py17.5 KB
  • runpod_ops_src/runpod_ops/runpod_ops/instance_monitor.py18.4 KB
  • runpod_ops_src/runpod_ops/runpod_ops/instance_optimizer.py21.1 KB
  • runpod_ops_src/runpod_ops/runpod_ops/runpod_manager.py15.4 KB
  • runpod_ops_src/runpod_ops/runpod_ops/training_orchestrator.py18.6 KB
  • runpod_ops_src/setup.py154 B
  • sanity.sh3.7 KB
  • src/runpod_ops_fixed/__init__.py516 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.