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
npx skills add NVIDIA/skills --skill doca-verbs --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
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.
# 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
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.
