Agent skill · Backend & API

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

NVIDIAgithub.com/NVIDIAGitHub ↗
claude-codecodexApache-2.0
Install
npx skills add NVIDIA/skills --skill doca-verbs --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 8
SKILL.md size: 19 KB
Bundled scripts: none
Requires: > Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU or…
Path: skills/doca-verbs/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 2,789
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

This skill acts as a gatekeeper for raw-verbs tasks under DOCA Core, instructing the agent to route users back to the appropriate higher-level library when their needs are already covered, and only engage raw-verbs handling when a specific verb, opcode, WR flag, QP attribute, SRQ option, or error diagnosis is truly not exposed by the higher-level APIs. It frames when to load, what surface areas are within scope, and how to determine whether raw verbs are necessary.

How it works

The skill outlines a decision flow:

  • Confirm whether the user’s task requires raw-verbs versus higher-level libraries (doca-rdma, doca-eth, doca-rmax). If not, route to the appropriate library.
  • If the user needs a specific verb/option not exposed by the higher-level surface, determine that the task is in scope for doca-verbs and proceed to provide guidance on integration using DOCA Core constructs (doca_verbs_context, doca_verbs_query_device, etc.).
  • Emphasize porting libibverbs code only when necessary and outline the integration path (lifecycle, progress engine, no-mixing rule).
  • Use companion CAPABILITIES.md and TASKS.md as references for capabilities, safety, and workflows; steer to doca-setup for installation if needed.
  • Provide guidance on when to climb back up to a higher-level library and when to extend non-C bindings.

When to use it

Load this skill when the user explicitly or implicitly questions raw-verbs usage because the higher-level DOCA libraries do not expose the required semantics. Triggered in scenarios like needing a specific raw WR flag, a unique QP attribute, custom CQ handling, or porting libibverbs code into the DOCA Core model.

What it can touch

The skill references the DOCA Verbs surface and the related files for deeper guidance, including CAPABILITIES.md and TASKS.md for workflows, and relies on the DOCA SDK being installed at the standard path. It indicates that the substantive material lives in companion files and does not itself ship sample code or standalone manifests. It also implies interaction with the DOCA environment (pkg-config doca-verbs, /opt/mellanox/doca paths).

Caveats

The skill explicitly refuses loading for general DOCA RDMA/Eth/RMAX tasks, DOCA install, Core internals, or libibverbs theory unless the user needs raw-verbs attributes. It promotes routing back to higher-level libraries for most workloads and requires confirmation that the specific needs are not exposed by those libraries before engaging raw-verbs guidance.

From the SKILL.md

# 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`](../doca-rdma/SKILL.md) and fo

More from skills
All skills →
About this skill
What does the doca-verbs skill do?

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

How do I install it?

Run `npx skills add NVIDIA/skills --skill doca-verbs --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From NVIDIA/skills, a repository with 2,789 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going