A collection of Agent Skills for setting up, running, benchmarking, and profiling arbitrary Hugging Face safetensors and GGUF models on Intel GPUs (Arc, Arc Pro, Battlemage, Data Center GPU Max). Covers the PyTorch + Transformers, vLLM-XPU, SGLang-XPU, and llama.cpp-SYCL stacks, plus CUDA to XPU migration.
Format follows the Agent Skills specification. Ships as the intel-model-skillpack plugin.
| Skill | Useful for | Example prompt |
|---|---|---|
xpu-system-setup |
First-time host setup: installs xpu-smi, Level Zero runtime, Docker, configures the render group and Intel GPU PPA. Also fixes Battlemage-specific prerequisites. |
"Prepare this bare-metal Ubuntu box for Intel GPU work." |
xpu-discover |
Inventory Intel GPUs and check driver health (xpu-smi wrapper). CUDA analogue is nvidia-smi. |
"Is my Intel GPU detected? Run a quick health check." |
xpu-runtime-preflight |
Check shared host, device, Docker, proxy, storage, and optional container readiness before using GPU/XPU skills in this pack. | "Before using the XPU skills on this host, run the preflight and tell me what blocks it." |
xpu-container-run |
Launch a Docker container with Intel GPU access (/dev/dri, render group, ZE_AFFINITY_MASK, --ipc=host). |
"How do I launch a Docker container that can see my Intel GPU?" |
| Skill | Useful for | Example prompt |
|---|---|---|
model-can-it-fit |
Estimate VRAM (weights + KV + activations + framework) from HF config.json. Decoder-only LLM, MoE, VLM; refuses diffusion. |
"Will Qwen2.5-32B in int4 fit on my Arc Pro B70 at 8K context, concurrency 4?" |
model-config-recommend (experimental) |
Recommend a vLLM-XPU deployment config (quant, KV dtype, DP/TP, capacity) using roofline math against Intel Arc B-series specs. Predict → calibrate → verify. | "What's the best config to serve Qwen2.5-7B on my B70 at 8K?" |
xpu-deploy-plan |
Chain preflight, fit, config-recommend, and a runtime skill into one PLAN.md with an exact launch command, smoke test, and rollback. |
"Give me a coordinated deployment plan for Llama-3-8B on this box." |
| Skill | Useful for | Example prompt |
|---|---|---|
xpu-model-type-detect |
Detect a Hugging Face model's actual type (text-gen, VLM, diffusion, encoder, etc.) before loading, so the agent picks the right AutoModel class and input kwargs. |
"What kind of model is this, and how should I load it?" |
torch-xpu-run |
Run any HF safetensors model via upstream PyTorch + Transformers + torch.xpu. CUDA → XPU code translation. |
"Run gemma-3 in pure PyTorch on my Intel GPU." |
vllm-xpu-run |
Serve a model with vLLM-XPU's OpenAI-compatible HTTP API. Image picker, flag rationales, multi-GPU patterns. | "Start a vLLM server with Qwen2.5-7B on my Intel GPU." |
sglang-xpu-run |
Serve a model with SGLang's XPU backend (--device xpu --attention-backend intel_xpu). RadixAttention prefix caching. |
"Serve Qwen3 with sglang on my Battlemage GPU." |
llamacpp-xpu-run |
Run a GGUF model via llama.cpp's SYCL backend with an OpenAI-compatible llama-server; no Python/PyTorch required. |
"Serve this GGUF model locally on my Arc GPU with llama.cpp." |
| Skill | Useful for | Example prompt |
|---|---|---|
torch-xpu-bench |
Single-process bench of an HF model via pure PyTorch (no server). TTFT, decode rate, peak XPU memory. | "Bench Qwen3-8B forward pass on Intel without any server." |
vllm-xpu-bench |
Bench a running vLLM-XPU server (vllm bench serve / throughput). TTFT, TPOT, ITL, throughput at concurrency. |
"Benchmark TTFT and TPOT on my running vLLM-XPU server." |
sglang-xpu-bench |
Bench a running SGLang server (sglang.bench_serving). Includes prefix-cache hit-rate measurement. |
"Measure RadixAttention prefix-cache hit rate on my sglang server." |
| Skill | Useful for | Example prompt |
|---|---|---|
torch-xpu-profile |
Profile an HF model with torch.profiler + Kineto. Export Chrome trace; find hot ops + idle gaps. |
"Why is my Qwen2.5 generate() slow on Intel?" |
vllm-xpu-profile |
Profile a running vLLM server via /start_profile and /stop_profile, or offline vllm bench --profile. |
"Capture a vLLM-XPU profile around a real-traffic window." |
xpu-profile-unitrace |
SYCL / Level Zero kernel-level profiling with unitrace (PTI-GPU; built from source). Per-kernel timing, oneCCL events, HW counters. |
"Show me the actual SYCL kernel names taking the time." |
| Skill | Useful for | Example prompt |
|---|---|---|
cuda-to-xpu-migration |
Assess a CUDA repo, notebook, Dockerfile, or launch script; produce a migration report and route to the right XPU skills. Plans and routes only. | "Migrate this CUDA training repo to Intel XPU." |
xpu-port |
Execute a single-target CUDA → XPU port: libcst-based scan, mechanical rewrite, and CPU FP64 vs. target-dtype correctness verification. | "Port my repo at ./my-model to XPU now." |
The descriptions are designed to disambiguate by deployment shape: "benchmark X" alone is intentionally ambiguous (which framework?), so a good agent will ask whether you mean PyTorch / vLLM / sglang before picking. If you want to be explicit, mention the skill by name: "Use the vllm-xpu-bench skill to ...".
These skills work with any agent that supports the Agent Skills standard, including Claude Code, opencode, OpenAI Codex, Cursor, GitHub Copilot CLI, Gemini CLI, Qwen Code, Kimi Code, Hermes Agent, and OpenClaw.
git clone https://github.com/intel/gpu-ai-skills.git intel-model-skillpack
cd intel-model-skillpack
bash scripts/install.shInstalls into every agent skills directory it detects. Pass --all to also create dirs for agents you haven't used, --agent <name> for one agent, --uninstall to reverse.
/plugin marketplace add intel/gpu-ai-skills
/plugin install <skill-name>@intel-model-skillpack
This repo ships gemini-extension.json:
gemini extensions install . --consent
# or from URL:
gemini extensions install https://github.com/intel/gpu-ai-skills.git --consentFor any other agent, clone this repo and copy the skill folders into the agent's skills directory:
| Agent | Skill Directory | Docs |
|---|---|---|
| Claude Code | ~/.claude/skills/ |
docs |
| opencode | ~/.config/opencode/skills/ |
docs |
| OpenAI Codex | ${CODEX_HOME:-~/.codex}/skills/ |
docs |
| GitHub Copilot CLI | ~/.copilot/skills/ |
docs |
| Cursor | ~/.cursor/skills/ |
docs |
| Qwen Code | ~/.qwen/skills/ |
docs |
| Kimi Code | ~/.kimi/skills/ |
docs |
| Hermes Agent | ~/.hermes/skills/ or hermes skills tap add intel/gpu-ai-skills |
docs |
| OpenClaw | ~/.openclaw/skills/, <workspace>/skills/, or skills.load.extraDirs |
docs |
Generic / AGENTS.md |
<repo>/.agents/skills/ or ~/.config/agents/skills/ |
uses agents/AGENTS.md |
cp -r plugins/intel-model-skillpack/skills/* <skill-directory>/opencode also auto-loads from ~/.claude/skills/ and ~/.agents/skills/, so any of those paths works. GitHub Copilot CLI also accepts gh skill install intel/gpu-ai-skills --agent github-copilot --scope user (gh ≥ v2.90).
plugins/intel-model-skillpack/skills/ # one directory per skill
scripts/ # repo tooling (install, publish, generate AGENTS.md)
agents/ # generated AGENTS.md fallback bundle
.claude-plugin/ # Claude Code plugin marketplace manifests
tests/ # static validation
template/ # SKILL.md template for contributors
The agents/AGENTS.md bundle is generated from the individual SKILL.md files; re-run scripts/ tooling after adding a skill to keep it fresh.
On Ubuntu 24.04 with the stock kernel, Battlemage GPUs require three prerequisites before the skills work. Run the diagnostic first:
bash plugins/intel-model-skillpack/skills/xpu-system-setup/scripts/check_battlemage_prerequisites.shIt checks for nomodeset in GRUB, the OEM kernel 6.17 requirement, and
compute runtime >=26.18. Pass --fix to apply remediations, or follow
the steps in plugins/intel-model-skillpack/skills/xpu-system-setup/SKILL.md
→ Battlemage Prerequisites.
New skills go under plugins/intel-model-skillpack/skills/<skill-name>/ with a SKILL.md. Start from template/SKILL.md.
Before committing any skill change:
bash scripts/check-skills.shSee CONTRIBUTING.md for the validation rules.
bash tests/static.shThe checks themselves are stdlib-only. On this development branch it also
runs guardrails/check.py, which needs PyYAML — without it that one step exits
PyYAML is required: pip install pyyaml and it fails:
python3 -m pip install pyyamlUnit tests for the VRAM calculator, which need pytest:
python3 -m pip install pytest
python3 -m pytest tests/test_fit.py -q # 71 passed, 6 skipped without HF_TOKENThese fetch each model's upstream config.json from the Hub at a pinned
revision on first use and cache it under tests/data/.cache/. The configs are
third-party files under their own licences and are deliberately not committed to
this repository; a config that cannot be fetched skips its tests rather than
failing them. To pre-fetch the configs and then run with no network, see
Layer 3a in HOW_TO_TEST.md.
For deeper testing — install round-trip, per-skill acceptance, end-to-end smoke — see HOW_TO_TEST.md.
- Agent Skills specification
- Anthropic — Equipping agents for the real world with Agent Skills
- vllm-project/vllm-skills — NVIDIA equivalents
- huggingface/skills — Hub workflows
- PyTorch XPU getting started
- vLLM XPU installation
Apache-2.0. See LICENSE.