/run
ALWAYS invoke this skill before running any sparkrun CLI commands. Never run sparkrun directly via Bash without loading this skill first. Covers launching, monitoring, stopping, and checking status of inference workloads on NVIDIA DGX Spark.
$ npx -y skills add spark-arena/sparkrun --skill run --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/run
Context preview
The summary Claude sees to decide when to auto-load this skill.
ALWAYS invoke this skill before running any sparkrun CLI commands. Never run sparkrun directly via Bash without loading this skill first. Covers launching, monitoring, stopping, and checking status of inference workloads on NVIDIA DGX Spark.
SKILL.md
run.SKILL.mdname: run
description: "ALWAYS invoke this skill before running any sparkrun CLI commands. Never run sparkrun directly via Bash without loading this skill first. Covers launching, monitoring, stopping, and checking status of inference workloads on NVIDIA DGX Spark."
<Purpose> Provides complete reference for launching, monitoring, and stopping LLM inference workloads using sparkrun on NVIDIA DGX Spark systems. Covers the full lifecycle: browse recipes, check VRAM fit, launch jobs, view logs, check status, stop workloads, run benchmarks, tune kernels, and manage the inference proxy. </Purpose>
<Use_When>
- User wants to run an LLM inference model on DGX Spark
- User wants to check status of running workloads
- User wants to stop a running inference job
- User wants to view logs from a running workload
- User wants to preview VRAM requirements before launching
- User wants to benchmark an inference workload
- User wants to tune MoE kernels for better performance
- User wants to manage the inference proxy
- User wants to monitor cluster metrics
- User asks "how do I run", "start", "launch", "deploy" a model
</Use_When>
<Do_Not_Use_When>
- User wants to install sparkrun or set up a cluster -- use the setup skill instead
- User wants to manage recipe registries or create custom recipes -- use the registry skill instead
- User is asking about sparkrun internals or development
</Do_Not_Use_When>
<Steps>
Run a Recipe
# Single host
sparkrun run <recipe> --tp 1 --no-follow
sparkrun run <recipe> --hosts <ip> --no-follow
# Multi-node cluster
sparkrun run <recipe> --cluster <name> --no-follow
sparkrun run <recipe> --hosts <ip1>,<ip2>,... --no-follow
sparkrun run <recipe> --tp <N> --no-follow
# With overrides
sparkrun run <recipe> --port 9000 --gpu-mem 0.8 --no-follow
sparkrun run <recipe> -o max_model_len=8192 -o attention_backend=triton --no-follow
sparkrun run <recipe> --served-model-name my-model --no-follow
sparkrun run <recipe> --pp 2 --tp 2 --no-follow # pipeline + tensor parallelism
sparkrun run <recipe> --max-model-len 32768 --no-follow
# Idempotent launch (exit 0 if already running)
sparkrun run <recipe> --ensure --no-follow
# With Docker options
sparkrun run <recipe> --restart unless-stopped --no-follow
sparkrun run <recipe> --no-rm --no-follow # keep containers after stop
sparkrun run <recipe> --transfer-mode push --no-follow # force push-based distribution
# Dry-run (show what would happen)
sparkrun run <recipe> --dry-run
**CRITICAL: Always use `--no-follow`** when running from an agent/skill context to avoid blocking on log streaming. Then use `sparkrun cluster status` or `sparkrun logs` separately to check on the job.
Check Status
# Show all sparkrun containers across cluster hosts
# NOTE: `sparkrun status` is an alias for `sparkrun cluster status` — only run one.
sparkrun cluster status
sparkrun cluster status --cluster <name>
sparkrun cluster status --hosts <ip1>,<ip2>,...
# Output shows:
# - Grouped containers by job (with recipe name if cached)
# - Container role, host, status, and image
# - Ready-to-use logs and stop commands for each job
# - Pending operations (downloads/distributions in progress)
# - Idle hosts
# Check if a specific job is running (scripting-friendly)
sparkrun cluster check-job <recipe> --cluster <name>
sparkrun cluster check-job <cluster_id> --hosts <ip1>,<ip2>
sparkrun cluster check-job <recipe> --check-http-models # also verify /v1/models endpoint
sparkrun cluster check-job <recipe> --json # JSON output
# Exit code: 0 = running, 1 = not running
Monitor Cluster Metrics
# Interactive TUI (requires interactive terminal)
sparkrun cluster monitor --cluster <name>
# Plain-text output (agent-friendly)
sparkrun cluster monitor --cluster <name> --simple
# JSON streaming (automation-friendly)
sparkrun cluster monitor --cluster <name> --json
# Custom interval
sparkrun cluster monitor --cluster <name> --interval 5
View Logs
# By recipe name
sparkrun logs <recipe> --cluster <name>
sparkrun logs <recipe> --hosts <ip1>,<ip2>,...
sparkrun logs <recipe> --tp <N>
# By cluster ID (from sparkrun status output)
sparkrun logs <cluster_id>
sparkrun logs <cluster_id> --cluster <name>
# Control log tail length
sparkrun logs <recipe> --tail 200
Stop a Workload
# By recipe name
sparkrun stop <recipe> --cluster <name>
sparkrun stop <recipe> --hosts <ip1>,<ip2>,...
sparkrun stop <recipe> --tp <N>
# By cluster ID (from sparkrun status output)
sparkrun stop <cluster_id>
sparkrun stop <cluster_id> --cluster <name>
# Stop all sparkrun containers (no recipe needed)
sparkrun stop --all --cluster <name>
sparkrun stop --all --hosts <ip1>,<ip2>,...
# Dry-run
sparkrun stop <recipe> --dry-run
Browse and Inspect Recipes
# List all available recipes (no filter)
sparkrun list
# List with filters
sparkrun list --all # include hidden registry recipes
sparkrun list --registry <name> # filter by registry
sparkrun list --runtime vllm # filter by runtime
sparkrun list <query> # filter by name
# Search for recipes by name, model, runtime, or description (contains-match)
sparkrun recipe search <query>
sparkrun recipe search <query> --registry <name> --runtime sglang
# Inspect a specific known recipe (by exact name or file path)
sparkrun recipe show <recipe>
sparkrun recipe show <recipe> --tp <N>
# Validate or estimate VRAM
sparkrun recipe validate <recipe>
sparkrun recipe vram <recipe> --tp <N> --max-model-len 32768
# Export a recipe
sparkrun recipe export <recipe>
sparkrun recipe export <recipe> --json
sparkrun recipe export <recipe> --save out.yaml
Use `sparkrun recipe search` as the first attempt when looking for a particular recipe. Use `sparkrun recipe show` when given a specific recipe name or file -- it may not appear in search results.
Benchmark
# Full
Read more
name: run description: "ALWAYS invoke this skill before running any sparkrun CLI commands. Never run sparkrun directly via Bash without loading this skill first. Covers launching, monitoring, stopping, and checking status of inference workloads on NVIDIA DGX Spark."
<Purpose> Provides complete reference for launching, monitoring, and stopping LLM inference workloads using sparkrun on NVIDIA DGX Spark systems. Covers the full lifecycle: browse recipes, check VRAM fit, launch jobs, view logs, check status, stop workloads, run benchmarks, tune kernels, and manage the inference proxy. </Purpose>
<Use_When>
- User wants to run an LLM inference model on DGX Spark
- User wants to check status of running workloads
- User wants to stop a running inference job
- User wants to view logs from a running workload
- User wants to preview VRAM requirements before launching
- User wants to benchmark an inference workload
- User wants to tune MoE kernels for better performance
- User wants to manage the inference proxy
- User wants to monitor cluster metrics
- User asks "how do I run", "start", "launch", "deploy" a model
</Use_When>
<Do_Not_Use_When>
- User wants to install sparkrun or set up a cluster -- use the setup skill instead
- User wants to manage recipe registries or create custom recipes -- use the registry skill instead
- User is asking about sparkrun internals or development
</Do_Not_Use_When>
<Steps>
Run a Recipe
# Single host sparkrun run <recipe> --tp 1 --no-follow sparkrun run <recipe> --hosts <ip> --no-follow # Multi-node cluster sparkrun run <recipe> --cluster <name> --no-follow sparkrun run <recipe> --hosts <ip1>,<ip2>,... --no-follow sparkrun run <recipe> --tp <N> --no-follow # With overrides sparkrun run <recipe> --port 9000 --gpu-mem 0.8 --no-follow sparkrun run <recipe> -o max_model_len=8192 -o attention_backend=triton --no-follow sparkrun run <recipe> --served-model-name my-model --no-follow sparkrun run <recipe> --pp 2 --tp 2 --no-follow # pipeline + tensor parallelism sparkrun run <recipe> --max-model-len 32768 --no-follow # Idempotent launch (exit 0 if already running) sparkrun run <recipe> --ensure --no-follow # With Docker options sparkrun run <recipe> --restart unless-stopped --no-follow sparkrun run <recipe> --no-rm --no-follow # keep containers after stop sparkrun run <recipe> --transfer-mode push --no-follow # force push-based distribution # Dry-run (show what would happen) sparkrun run <recipe> --dry-run
**CRITICAL: Always use `--no-follow`** when running from an agent/skill context to avoid blocking on log streaming. Then use `sparkrun cluster status` or `sparkrun logs` separately to check on the job.
Check Status
# Show all sparkrun containers across cluster hosts # NOTE: `sparkrun status` is an alias for `sparkrun cluster status` — only run one. sparkrun cluster status sparkrun cluster status --cluster <name> sparkrun cluster status --hosts <ip1>,<ip2>,... # Output shows: # - Grouped containers by job (with recipe name if cached) # - Container role, host, status, and image # - Ready-to-use logs and stop commands for each job # - Pending operations (downloads/distributions in progress) # - Idle hosts # Check if a specific job is running (scripting-friendly) sparkrun cluster check-job <recipe> --cluster <name> sparkrun cluster check-job <cluster_id> --hosts <ip1>,<ip2> sparkrun cluster check-job <recipe> --check-http-models # also verify /v1/models endpoint sparkrun cluster check-job <recipe> --json # JSON output # Exit code: 0 = running, 1 = not running
Monitor Cluster Metrics
# Interactive TUI (requires interactive terminal) sparkrun cluster monitor --cluster <name> # Plain-text output (agent-friendly) sparkrun cluster monitor --cluster <name> --simple # JSON streaming (automation-friendly) sparkrun cluster monitor --cluster <name> --json # Custom interval sparkrun cluster monitor --cluster <name> --interval 5
View Logs
# By recipe name sparkrun logs <recipe> --cluster <name> sparkrun logs <recipe> --hosts <ip1>,<ip2>,... sparkrun logs <recipe> --tp <N> # By cluster ID (from sparkrun status output) sparkrun logs <cluster_id> sparkrun logs <cluster_id> --cluster <name> # Control log tail length sparkrun logs <recipe> --tail 200
Stop a Workload
# By recipe name sparkrun stop <recipe> --cluster <name> sparkrun stop <recipe> --hosts <ip1>,<ip2>,... sparkrun stop <recipe> --tp <N> # By cluster ID (from sparkrun status output) sparkrun stop <cluster_id> sparkrun stop <cluster_id> --cluster <name> # Stop all sparkrun containers (no recipe needed) sparkrun stop --all --cluster <name> sparkrun stop --all --hosts <ip1>,<ip2>,... # Dry-run sparkrun stop <recipe> --dry-run
Browse and Inspect Recipes
# List all available recipes (no filter) sparkrun list # List with filters sparkrun list --all # include hidden registry recipes sparkrun list --registry <name> # filter by registry sparkrun list --runtime vllm # filter by runtime sparkrun list <query> # filter by name # Search for recipes by name, model, runtime, or description (contains-match) sparkrun recipe search <query> sparkrun recipe search <query> --registry <name> --runtime sglang # Inspect a specific known recipe (by exact name or file path) sparkrun recipe show <recipe> sparkrun recipe show <recipe> --tp <N> # Validate or estimate VRAM sparkrun recipe validate <recipe> sparkrun recipe vram <recipe> --tp <N> --max-model-len 32768 # Export a recipe sparkrun recipe export <recipe> sparkrun recipe export <recipe> --json sparkrun recipe export <recipe> --save out.yaml
Use `sparkrun recipe search` as the first attempt when looking for a particular recipe. Use `sparkrun recipe show` when given a specific recipe name or file -- it may not appear in search results.
Benchmark
# Full
sparkrun - launch, manage, and stop LLM inference workloads on NVIDIA DGX Spark systems. Live support: https://discord.com/invite/GH5kRgv6ZD

