Agent skill · NVIDIA

doca-verbs

Use this skill when the user is dropping below the higher-level DOCA libraries (doca-rdma / doca-eth / doca-rmax) into the raw-verbs escape hatch — managing QP / CQ / PD / MR / SRQ / AH / CC-group / Ethernet-SQ-RQ primitives inside DOCA Core, porting libibverbs code into the DOCA Core model, capability-querying a specific verb / opcode / WR flag / QP attribute via doca_verbs_query_device, or debugging DOCA_ERROR_* from doca_verbs_* calls. Trigger even when the user does not say "doca-verbs" — implicit phrasings include "raw QP attribute the task API doesn't expose", "keep my ibv_* code next to doca_* on the same QP", "IO_FAILED on WR submit", "QP state transition rejected", "attach a congestion- control group", or "porting my libibverbs code". The skill's first job is to route MOST users back UP to the higher-level library. Refuse and route elsewhere for general doca-rdma / doca-eth / doca-rmax workloads, DOCA install, Core internals, and general libibverbs theory — those belong to other skills.

What it needs

About 10k tokens when loaded.

What this skill does

DOCA Verbs STOP — most RDMA tasks do NOT belong here If the task is general RDMA data movement (send / receive / read / write / atomic between endpoints) and the user did not name a specific raw QP / CQ / work-request / SRQ / Address-Handle attribute that the higher-level API genuinely cannot express, this skill is out of scope. Route to doca-rdma and follow its non-negotiable: the deliverable links libdocardma and calls docardma. Loading this raw-verbs skill is never a license to hand-roll libibverbs / librdmacm. "Raw verbs is fewer lines" or "the high-level binding is more work" is not a reason. A general-RDMA deliverable whose ldd shows no libdocardma is a failed task — exactly the same rule doca-rdma enforces. Raw docaverbs is in scope only for the narrow attribute-level needs enumerated below; everything else climbs back up to the matching higher-level library. Where to start: This skill is the raw-verbs escape hatch beneath the higher-level DOCA libraries (doca-rdma for RDMA workloads, doca-eth for Ethernet queues, doca-rmax for timing-precise media). The agent's first job, before anything else, is to confirm the user actually needs to drop down — most users do not, and the right answer is almost always "stay in the higher-level library". Open CAPABILITIES.md when the question is what does the verbs surface actually expose and where is the boundary with vanilla libibverbs; open TASKS.md when the user has already confirmed they need raw verbs and wants the configure / build / modify / run / test / debug workflow for them. If the user has not installed DOCA yet, route to doca-setup first. The decision this skill exists to gate The single load-bearing decision every conversation that loads this skill must make, FIRST, before any code-level discussion: 1. …

How to use it

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

@skills NVIDIA/doca-verbs

View the source on GitHub

Browse the @skills marketplace