| name | registry |
| description | Manage recipe registries and create inference recipes |
Provides complete reference for managing sparkrun recipe registries, browsing and searching recipes, managing benchmark profiles, validating recipes, and understanding the recipe file format for NVIDIA DGX Spark inference workloads.
<Use_When>
- User wants to add, remove, enable, disable, or update recipe registries
- User wants to browse or search for available recipes
- User wants to create or edit a recipe YAML file
- User wants to validate a recipe or check VRAM requirements
- User wants to browse or inspect benchmark profiles
- User asks about recipe format or fields
</Use_When>
<Do_Not_Use_When>
- User wants to run, stop, or monitor workloads -- use the run skill instead
- User wants to install sparkrun or set up clusters -- use the setup skill instead
</Do_Not_Use_When>
Registry Commands
sparkrun registry list
sparkrun registry list --show-disabled
sparkrun registry list --only-show-visible
sparkrun registry add <git_url>
sparkrun registry remove <name>
sparkrun registry enable <name>
sparkrun registry disable <name>
sparkrun registry update
sparkrun registry update <name>
sparkrun update
Browsing Recipes
sparkrun list
sparkrun list --all
sparkrun list --registry <name>
sparkrun list --runtime vllm
sparkrun list <query>
sparkrun recipe search <query>
sparkrun recipe search <query> --registry <name> --runtime sglang
sparkrun recipe show <recipe> [--tp N]
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.
Recipe names support @registry/name syntax for explicit registry selection (e.g. @spark-arena/qwen3-1.7b-vllm).
Benchmark Profiles
sparkrun registry list-benchmark-profiles
sparkrun registry list-benchmark-profiles --registry <name>
sparkrun registry list-benchmark-profiles --all
sparkrun registry show-benchmark-profile <name>
Validating Recipes
sparkrun recipe validate <recipe>
sparkrun recipe vram <recipe> [--tp N] [--max-model-len 32768] [--gpu-mem 0.9]
Recipe File Format
Recipes are YAML files defining an inference workload:
model: org/model-name
runtime: vllm | sglang | llama-cpp
container: registry/image:tag
min_nodes: 1
max_nodes: 4
model_revision: abc123
metadata:
description: Human-readable description
maintainer: name <email>
model_params: 7B
model_dtype: fp16
category: general
defaults:
port: 8000
host: 0.0.0.0
tensor_parallel: 2
pipeline_parallel: 1
gpu_memory_utilization: 0.9
max_model_len: 32768
served_model_name: my-model
tokenizer_path: org/base-model
command: |
python3 -m vllm.entrypoints.openai.api_server \
--model {model} \
--tensor-parallel-size {tensor_parallel} \
--port {port}
env:
NCCL_DEBUG: INFO
post_exec:
- "echo 'Model loaded'"
post_commands:
- "curl http://{head_ip}:{port}/v1/models"
stop_after_post: false
Key fields:
{placeholder} in command: templates are substituted from defaults + CLI overrides
model_revision pins downloads to a specific HuggingFace commit/tag
tokenizer_path is required for GGUF models on SGLang (points to base non-GGUF model)
min_nodes / max_nodes control cluster size validation
- Shell variable references like
${HF_TOKEN} in env: are expanded from the control machine's environment
post_exec and post_commands run after the server is healthy (port listening + /v1/models check)
pipeline_parallel enables pipeline parallelism (total nodes = TP * PP)
<Tool_Usage>
Use the sparkrun_exec tool for all sparkrun commands.
</Tool_Usage>
<Important_Notes>
- Run
sparkrun registry update or sparkrun update periodically to get the latest community recipes
- Use
sparkrun recipe validate before publishing custom recipes
- Use
sparkrun recipe vram to check if a model fits on DGX Spark before trying to run it
- When creating GGUF + SGLang recipes, always set
tokenizer_path in defaults
- Custom command templates should include all relevant
{placeholder} references to pick up defaults and CLI overrides
- Registries are cached at
~/.cache/sparkrun/registries/ and updated with sparkrun registry update
- sparkrun ships with built-in recipes; additional registries point to any git repo containing
.yaml recipe files
- Use
sparkrun registry list-benchmark-profiles to discover available benchmark profiles from registries
- Recipe names support
@registry/name syntax for explicit registry selection
- Use
sparkrun recipe export to get a normalized view of a recipe (useful for debugging)
</Important_Notes>
Task: {{ARGUMENTS}}