Agent skill · software engineering · nvidia

doca-devemu

Use this skill when the user is doing hands-on DOCA Device Emulation on a BlueField DPU — exposing a custom emulated PCIe device the host sees as a real peripheral while DPU-side code runs the backend, picking the sub-library (PCI Generic, virtio-net, virtio-fs), wiring the per-sub-library Core context plus doorbell / DMA primitives, querying `doca_devemu_*_cap_*`, or debugging DOCA_ERROR_* from a `doca_devemu_*` call. Trigger even when the user does not say "devemu" — typical implicit phrasings include "expose a custom PCIe device from BlueField to the host", "host should see a virtio NIC backed by my DPU code", "lspci does not show my emulated device", "device enumerated but no driver binds", "DPU sees nothing when host kicks the queue", or "virtio feature negotiation failed at bind". Refuse and route elsewhere for the packaged DOCA SNAP / Virtio-net Services, host-side virtio kernel drivers, backend body design, or standard BlueField NIC behavior — those belong to other skills.

Why this skill is useful

Adds specific commands and workflows for emulating PCIe devices on BlueField DPUs that are not available in public documentation.

What it needs

Requires doca installed locally. About 8k tokens when loaded. Last updated 2026-08-07. 2,816 stars on the source repository.

What this skill does

DOCA Device Emulation Examples "Expose a custom PCIe device from BlueField to the host." — this is in scope. Pick PCI Generic / virtio-net / virtio-fs; do not stand up SNAP or Virtio-net Service here. "lspci does not show my emulated device." — confirm the firmware emulation type and host driver before changing DPU-side code. Instructions Follow Loading order below. Open the tasks companion for configure / emulate / debug. Open the capabilities companion for sub-libraries and cap queries. Do not open every companion file. Where to start: This skill assumes DOCA is already installed on the host AND on the BlueField, the user is doing hands-on emulated-PCIe-device work from the DPU side (writing the backend that the host's kernel driver will talk to over the emulated PCIe surface), and the user knows which CLASS of emulated device they want to build. Open the tasks companion if the user wants to do something (configure / build / modify / run / test / debug); open the capabilities companion when the question is what can Device Emulation express on this DOCA version + this BlueField generation + this firmware. If the user has not installed DOCA yet, route to doca-setup/SKILL.md first. Before anything else, the agent must route the user to the right sub-library — DOCA Device Emulation is an umbrella that covers PCI Generic (raw PCIe device emulation), virtio-net (emulated virtio network device), and virtio-fs (emulated virtio filesystem device); each sub-library has its own context, its own pkg-config module, and its own capability surface. The sub-library selection rule lives in the capabilities companion. If the user wants a packaged solution rather than a library (e.g. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills nvidia/doca-devemu

View the source on GitHub

Browse the @skills marketplace