doca-verbs
Raw verbs inside DOCA Core (doca-verbs): direct control of QP, CQ, PD, SRQ and address-handle objects through doca_verbs_context and doca_verbs_qp_create /…
Skill by NVIDIA <doca@nvidia.com>
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/nvidia-doca-verbs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/doca-verbs
What's inside
- Skill name
doca-verbs- Description
- Raw verbs inside DOCA Core (doca-verbs): direct control of QP, CQ, PD, SRQ and address-handle objects through doca_verbs_context and doca_verbs_qp_create / doca_verbs_qp_modify / doca_verbs_cq_create, porting libibverbs code into DOCA Core, or a QP attribute, opcode or WR flag the doca-rdma task API does not expose. Trigger on "raw QP attribute the task API does not expose", "porting libibverbs code", "IO_FAILED on WR submit", "QP state transition rejected", or "attach a congestion-control group", even without naming doca-verbs. Refuse and route elsewhere for ordinary doca-rdma / doca-eth / doca-rmax workloads, DOCA install, Core internals, and general libibverbs theory.
- License
- Apache-2.0
- Compatibility
- Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu 22.04/24.04 or RHEL/SLES) with a BlueField DPU or ConnectX NIC attached. Reads the local install via `pkg-config doca-verbs` (experimental ABI tier — symbols may shift between releases) and inspects /opt/mellanox/doca/{lib,include,samples,applications}. The verbs headers (doca_verbs.h + doca_verbs_*.h family) are the authoritative symbol surface per headers-win-over-docs.
- Metadata
- kind: library · author: NVIDIA <doca@nvidia.com> · doca_version: 3.5
- Instructions
- 276 lines in SKILL.md · view on GitHub
Files (14)
- BENCHMARK.md
- CAPABILITIES.md
- SKILL.md
- SKILLCARD.yaml
- TASKS.md
- evals.json · evals/
- command-appendix.md · references/
- deferred-topics.md · references/
- deferred-verbs.md · references/
- install.md · references/
- pattern-overview.md · references/
- use.md · references/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# DOCA Verbs ## Examples - **"Should I use doca-verbs or doca-rdma?"** — ordinary RDMA data movement with no raw QP / CQ / WR / SRQ / Address-Handle attribute named is out of scope — route to `doca-rdma/SKILL.md`. - **"I need a raw QP attribute the task API does not expose."** — stay here. Use only the public `doca_verbs.h` surface; do not quote restricted headers. ## Instructions Follow [`## Loading order`](#loading-order). Open only the companion that matches the question. ## 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 raw QP / CQ / work-request / SRQ / Address-Handle attribute the higher-level API cannot express, this skill is **out of scope** — route to `doca-rdma/SKILL.md` and stop after explaining the boundary. Unless `doca-rdma` guidance is loaded, do not infer its implementation APIs; conceptual terms (QP, CQ, connection, send, receive) are not implementation API names. Loading this skill is **never** a license to hand-roll `libibverbs` / `librdmacm`. A general-RDMA deliverable whose `ldd` shows no `libdoca_rdma` is a **failed task** — the same rule `doca-rdma/SKILL.md` enforces. Raw `doca_verbs_*` is in scope only for the narrow attribute-level needs below; everything else climbs back up. **Where to start:** This skill is the **raw-verbs escape hatch beneath the higher-level DOCA libraries** (`doca-rdma/SKILL.md`, `doca-eth/SKILL.md`, `doca-rmax/SKILL.md`). The agent's first job is to confirm the user actually needs to drop down — most users do not; the right answer is almost always *"stay in the higher-level library"*. Open [`CAPABILITIES.md`](CAPABILITIES.md) for *what the verbs surface exposes and the libibverbs boundary*; open [`TASKS.md`](TASKS.md) once raw verbs is confirmed. If DOCA is not installed, route to `doca-setup/SKILL.md` first. ## Non-negotiable answer checklist For every in-scope porting, lifecycle, or debugging answer, do not declare it complete until it explicitly states all applicable items below: 1. `doca_verbs_context` is the DOCA Core context owning the verbs surface; it wraps the `doca_dev`, integrates with the progress engine, and owns the per-object PD / MR / CQ / QP lifecycle in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes). 2. A submit-time success followed by `DOCA_ERROR_IO_FAILED` is diagnosed from the completion-queue entry's error field — not the submit return — before recommending retries or code changes. 3. The answer selects exactly one completion path: progress engine, manual CQ polling, or completion-channel delivery. 4. Both version axes are stated before any symbol is promised: `pkg-config --modversion doca-verbs` must agree with `doca_caps --version` and `pkg-config --modversion doca-common`; and the `doca_verbs_*` ABI ships in the EXPERIMENTAL tier — symbols may rename or graduate between releases and the installed headers outrank documentation (`doca-version/SKILL.md`). Device support for a verb is answered by the `doca_devinfo` capability query, not by either version. 5. Existing `ibv_*` handles are replaced, never mixed with `doca_verbs_*` handles on the same hardware objects. ## The decision this skill exists to gate The decision every conversation loading this skill must make FIRST, before any code-level discussion: 1. **Has the user confirmed that the matching higher-level DOCA library does not expose the semantic they need?** If no — route back: `doca-rdma/SKILL.md` for general RDMA, `doca-eth/SKILL.md` for Ethernet TX / RX, `doca-rmax/SKILL.md` for timing-precise media. The most common failure is recommending raw verbs *unnecessarily* because the user said "verbs" or "QP" without confirming the higher-level surface already covers the case. 2. **Is the needed semantic a specific verb / opcode / WR flag / QP attribute / SRQ option the higher-level library does not expose?** Examples: a raw WR flag `doca_rdma_task_*` does not surface; custom CQ handling beyond the progress engine; an esoteric QP attribute (path MTU, PSN, ECE); explicit SRQ control; congestion-control group (`doca_verbs_cc_group_*`) attachment; Address-Handle tuning (DGID / DLID / SL / SGID index / hop limit / traffic class / UDP source port). If yes — in scope. 3. **Is the user porting existing libibverbs code into the DOCA Core model?** In scope, AND the agent must teach the porting path (replace `ibv_*` handles with `doca_verbs_*` handles, integrate via `doca_verbs_context_create`, drive completions via the DOCA progress engine instead of polling the CQ) — not a mechanical 1:1 replacement. If none of (1)-(3) apply, the answer to *"should I use `doca-verbs`?"* is **no** — route back to the matching higher-level library. A raw-verbs skill that talks the user *out* of raw verbs is doing its job. ## Audience This skill serves **external developers building applications that consume the DOCA Verbs library** — code calling `doca_verbs_*` (directly in C/C++, or via FFI/bindings) for raw QP / CQ / PD / MR / SRQ / Address-Handle / Ethernet-SQ / Ethernet-RQ control inside a DOCA Core context. It is *not* for NVIDIA developers contributing to DOCA Verbs, and *not* the entry point for general DOCA RDMA / Eth / RMAX work — that belongs in the matching higher-level library skill. ## Language scope DOCA Verbs ships as a C library (`pkg-config` module `doca-verbs`); public headers live under the installed DOCA tree (`$(pkg-config --variable=includedir doca-common)/doca_verbs.h` plus the `doca_verbs_*.h` family) and, per the headers-win-over-docs rule in `doca-version/SKILL.md`, are the
From NVIDIA/skills, Apache-2.0.
More from NVIDIA/skills
- 0.846score
nemo-fabric-integrate
NVIDIA Corporation and Affiliates
Use this skill when integrating NVIDIA NeMo Fabric into a consumer application, service, evaluation harness, or platform through the typed Python SDK —…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-pipeline
Vinit Bansal <vinitkumarb@nvidia.com>
Use when planning, executing, and independently validating Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-pytorch
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing plain or manual PyTorch training code into an NVFLARE federated job using Client API model exchange, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-get-started
NVIDIA Corporation and Affiliates
Use this skill when first-time NeMo Relay users want help selecting and following an appropriate quick-start guide or verifying their first working integration.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-recipe
Vinit Bansal <vinitkumarb@nvidia.com>
Use when turning a Jetson encoder use case into one surface-neutral recipe with native Video Codec SDK and PyNvVideoCodec projections.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvidia-broadcast
NVIDIA Broadcast Team <broadcast-skills-dev@nvidia.com>
Use when controlling NVIDIA Broadcast through MCP to apply effects, process local media, select devices, or change camera resolution, or when Broadcast is…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-setup
Vinit Bansal <vinitkumarb@nvidia.com>
Use when installing, repairing, reusing, inspecting, or verifying readiness of the native NVIDIA Video Codec SDK or PyNvVideoCodec on Jetson, including the…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-diagnose-job
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Use when the user asks why a reported NVFLARE job failure signal occurred: the job failed, stalled, timed out, lost clients, ended with EXECUTION_EXCEPTION…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-convert-lightning
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Convert existing PyTorch Lightning training code into an NVFLARE federated job using the Lightning Client API patch, local validation, and job export; use…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nemo-relay-install
NVIDIA Corporation and Affiliates
Use this skill when choosing or running NeMo Relay installation for an agent runtime, application language, framework integration, or plugin bundle, or…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
nvflare-fed-stats
NVIDIA FLARE Team <federatedlearning@nvidia.com>
Compute federated statistics over tabular data (count, sum, mean, stddev, var, histogram, quantile, noise-protected min/max) and image data (count…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.846score
jetson-video-capability
Vinit Bansal <vinitkumarb@nvidia.com>
Use when Jetson codec, profile, chroma, bit-depth, dimension, engine-count, or operational support must be reconciled from live APIs, authenticated NVIDIA…
SkillAFreshness: A★ 3.7KClaude Code +9
Signals
- Stars
- 3,718
- Forks
- 457
- Open issues
- 8
- Last commit (this folder)
- Oct 22, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/NVIDIA/skills
- Website
- docs.nvidia.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from NVIDIA <doca@nvidia.com>
- 0.790score
doca-bf4-deployment
NVIDIA <doca@nvidia.com>
WARNING: guides IRREVERSIBLE BlueField-4 hardware operations (PLDM firmware burns, ISO reflashes, power cycles, BMC factory resets); every mutating step is…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.790score
doca-container-deployment
NVIDIA <doca@nvidia.com>
Running an in-bundle DOCA service as a container on a BlueField (Argus, DMS, Firefly, or UROM service): kubelet standalone watching a static-pod manifests…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.790score
doca-bf3-deployment
NVIDIA <doca@nvidia.com>
Use this skill for BlueField-3 (BF3) day-1 platform bring-up via the classic RShim/BFB path: pushing a BlueField bundle (BFB) to the DPU over RShim with…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.790score
doca-bare-metal-deployment
NVIDIA <doca@nvidia.com>
Running a DOCA-linked binary directly on the hardware, with no container or kubelet: on host x86 with a BlueField NIC over PCIe, or bare-metal on BlueField Arm.
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.790score
doca-collectx-deployment
NVIDIA <doca@nvidia.com>
Use this skill to deploy and operate a CollectX (clx) based DOCA telemetry collector on a host or BlueField — wiring providers / counters into the collector…
SkillAFreshness: A★ 3.7KClaude Code +9 - 0.790score
doca-public-knowledge-map
NVIDIA <doca@nvidia.com>
Use this skill to locate authoritative NVIDIA DOCA information without the source tree: the docs.nvidia.com page for a library/service/tool, which DOCA…
SkillAFreshness: A★ 3.7KClaude Code +9
Cite this page
doca-verbs skill. Agent Mart. https://agentmart.dev/skills/nvidia-doca-verbs (last updated 2026-10-24)