Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when provisioning Prime Intellect GPU compute, managing pods/disks/sandboxes, running hosted RL training via prime lab, installing or publishing RL environments, or exposing local services via Prime Tunnel. Covers the `prime` CLI (PyPI: prime) for all Prime Intellect platform operations.
.claude/skills/mkurman-prime-intellect-cli/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 87% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 55% | 0% |
The prime CLI is the command-line interface for managing Prime Intellect compute resources, RL environments, code sandboxes, and tunnels. This skill provides the command reference and decision patterns for all platform operations.
uv tool install prime (preferred) or pip install primeprime login (interactive) or prime config set-api-key (headless)prime config set-ssh-key-path (for pod access)prime config viewprime config)| Command | Description | Default | |---|---|---| | view | Display current configuration | - | | set-api-key | Set API key | - | | set-team-id | Set team ID for team billing | - | | remove-team-id | Switch back to personal account | - | | set-base-url | Set API base URL | https://api.primeintellect.ai | | set-ssh-key-path | Set SSH private key path | ~/.ssh/id_rsa | | set-share-resources-with-team <bool> | Auto-share new instances with team | false | | reset | Reset all settings (removes API key) | - |
prime availability)bash# List all GPU configurations with pricing prime availability list # Filter by GPU type, region, count, socket prime availability list --gpu-type H100_80GB --regions united_states --gpu-count 2 --socket PCIe # Find GPUs compatible with existing disks prime availability list --disks disk-id-1 --disks disk-id-2 # List disk availability prime availability disks --regions united_states
Filters: --gpu-type, --gpu-count, --regions, --socket (PCIe, SXM2, SXM3, SXM4, SXM5), --disks, --group-similar (default true).
prime pods)bash# Create interactively prime pods create # Create non-interactively prime pods create \ --gpu-type H100_80GB \ --gpu-count 1 \ --disk-size 100 \ --name my-pod # Create with persistent disks attached prime pods create --id 346663 --disks disk-id-1 --disks disk-id-2 # Create with custom template prime pods create --image custom_template --custom-template-id "template_id" # List pods prime pods list # SSH into a pod prime pods ssh <pod-id> # Delete a pod prime pods delete <pod-id>
Pod creation options: --id, --cloud-id, --gpu-type, --gpu-count, --name, --disk-size, --vcpus, --memory, --image, --team-id, --env KEY=value, --disks, --share-with-team, --add-members.
prime disks)bash# Check availability prime availability disks # Create a persistent disk prime disks create --id c008ad --size 500 --name ml-training-data # List disks (with pagination) prime disks list --limit 50 --offset 0 --output json # Delete a disk prime disks delete <disk-id>
Disks persist independently from pods and are billed continuously until terminated. Use --yes to skip confirmation in automation.
prime sandbox)bash# Create a sandbox prime sandbox create python:3.11-slim \ --name analytics-lab \ --cpu-cores 2 --memory-gb 4 --disk-size-gb 20 \ --timeout-minutes 240 --idle-timeout-minutes 15 \ --env PROFILE=production \ --secret DB_PASSWORD=<value> \ --label experiment --label ml-pipeline # Run a command inside prime sandbox run sbx_123 --working-dir /workspace "python -c 'print(42)'" # Upload / download (200MB per-file limit) prime sandbox upload sbx_123 notebooks/analysis.ipynb /workspace/ prime sandbox download sbx_123 /workspace/report.csv reports/latest.csv # Expose ports (range 22-9000; 8080, 2222, 8081 excluded) prime sandbox expose <sandbox-id> 8000 --name web-server prime sandbox expose <sandbox-id> 9000 --name tcp-server --protocol TCP prime sandbox list-ports <sandbox-id> prime sandbox unexpose <sandbox-id> <exposure-id> --yes # SSH into a sandbox prime sandbox ssh <sandbox-id> --shell zsh # Inspect, logs, cleanup prime sandbox list --status RUNNING --output table prime sandbox get sbx_123 --output json prime sandbox logs sbx_123 > logs.txt prime sandbox delete --label experiment --yes
Idle timeout constraints:
--idle-timeout-minutes.1 <= idle <= timeout and idle <= 1440.--vm).prime sandbox reset-cache then retry.prime lab, prime train, prime eval)bash# Set up workspace prime lab setup # Install an environment prime env install primeintellect/alphabet-sort # Run baseline evaluation prime eval run primeintellect/alphabet-sort \ -m Qwen/Qwen3-4B-Instruct-2507 -n 20 -r 1 prime eval tui # Launch training prime train run configs/rl/alphabet-sort.toml # Monitor prime train logs <run-id> -f prime train models # list available models
Training config (TOML):
tomlmodel = "Qwen/Qwen3-4B-Instruct-2507" max_steps = 50 batch_size = 128 rollouts_per_example = 8 [sampling] max_tokens = 512 [[env]] id = "primeintellect/alphabet-sort" # Optional W&B integration [wandb] project = "my-experiment" name = "alphabet-sort-30b" # Optional periodic eval [eval] interval = 50
Run size guidelines:
| Size | Model | max_steps | batch_size | rollouts_per_example | |---|---|---|---|---| | Validation | Qwen/Qwen3-4B-Instruct-2507 | 50 | 128 | 8 | | Experimentation | Qwen/Qwen3-30B-A3B-Instruct-2507 | 200 | 256 | 16 | | Production | Qwen/Qwen3-235B-A22B-Instruct-2507 | 1000+ | 512+ | 16+ |
prime env)bashprime env list prime env info owner/environment-name prime env install owner/environment-name prime env init my-new-environment
prime tunnel)bash# Expose a local service prime tunnel start --port 8000 # With basic auth (password auto-generated, shown once) prime tunnel start --port 8000 --auth alice
Returns a public HTTPS URL like https://t-0-abc123def456.tunnel.pinfra.io. Hosted evaluations can use tunnels with --allow-tunnel-access flag.
prime disks delete when done.--env for secrets: env vars are plaintext and visible on inspect. Use --secret for credentials.prime config set-team-id before provisioning, or pass --team-id per command.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 7,198 | 4,231 | -41% | 1 | 1 | 0% | 1,619 | 3,028 | +87% | 0 | 0 | — |
case-02 | fail→pass | 18,580 | 4,432 | -76% | 1 | 1 | 0% | 3,451 | 2,812 | -19% | 0 | 0 | — |
case-03 | fail→pass | 10,837 | 3,556 | -67% | 1 | 1 | 0% | 2,271 | 2,978 | +31% | 0 | 0 | — |
case-04 | fail→pass | 7,708 | 1,588 | -79% | 1 | 1 | 0% | 1,502 | 2,369 | +58% | 0 | 0 | — |
case-05 | fail→fail | 8,504 | 1,991 | -77% | 1 | 1 | 0% | 1,695 | 2,400 | +42% | 0 | 0 | — |
case-06 | fail→pass | 8,247 | 1,634 | -80% | 1 | 1 | 0% | 1,542 | 2,389 | +55% | 0 | 0 | — |
case-07 | fail→pass | 17,377 | 2,894 | -83% | 1 | 1 | 0% | 3,103 | 2,576 | -17% | 0 | 0 | — |
case-08 | fail→pass | 14,383 | 2,685 | -81% | 1 | 1 | 0% | 2,377 | 2,487 | +5% | 0 | 0 | — |
case-09 | fail→pass | 20,068 | 2,423 | -88% | 1 | 1 | 0% | 3,193 | 2,531 | -21% | 0 | 0 | — |
case-10 | pass→pass | 8,811 | 3,346 | -62% | 1 | 1 | 0% | 1,549 | 2,600 | +68% | 0 | 0 | — |
case-11 | fail→pass | 10,839 | 3,418 | -68% | 1 | 1 | 0% | 1,858 | 2,574 | +39% | 0 | 0 | — |
case-12 | pass→pass | 12,354 | 4,571 | -63% | 1 | 1 | 0% | 1,910 | 2,865 | +50% | 0 | 0 | — |
case-13 | fail→pass | 10,682 | 4,651 | -56% | 1 | 1 | 0% | 1,749 | 2,954 | +69% | 0 | 0 | — |
case-14 | fail→pass | 9,340 | 2,571 | -72% | 1 | 1 | 0% | 1,411 | 2,369 | +68% | 0 | 0 | — |
case-15 | fail→pass | 9,267 | 3,319 | -64% | 1 | 1 | 0% | 1,699 | 2,585 | +52% | 0 | 0 | — |
case-16 | fail→pass | 9,709 | 2,295 | -76% | 1 | 1 | 0% | 1,624 | 2,442 | +50% | 0 | 0 | — |
case-17 | fail→pass | 6,808 | 2,033 | -70% | 1 | 1 | 0% | 1,170 | 2,410 | +106% | 0 | 0 | — |
case-18 | fail→pass | 10,753 | 2,819 | -74% | 1 | 1 | 0% | 1,764 | 2,388 | +35% | 0 | 0 | — |
case-19 | fail→pass | 6,303 | 2,443 | -61% | 1 | 1 | 0% | 1,120 | 2,421 | +116% | 0 | 0 | — |
case-20 | pass→pass | 8,384 | 6,748 | -20% | 1 | 1 | 0% | 1,668 | 3,418 | +105% | 0 | 0 | — |
case-21 | pass→pass | 3,857 | 3,527 | -9% | 1 | 1 | 0% | 708 | 2,582 | +265% | 0 | 0 | — |
case-22 | pass→pass | 4,899 | 3,301 | -33% | 1 | 1 | 0% | 841 | 2,680 | +219% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.