/doca-urom
Use this skill when the user is doing hands-on DOCA UROM library work from the host side — wiring doca-urom under an HPC / UCX / MPI stack to OFFLOAD remote memory operations (puts, gets, atomics, collectives) onto a BlueField DPU, creating a UROM Service context
$ npx -y skills add NVIDIA/skills --skill doca-urom --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/doca-urom
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill when the user is doing hands-on DOCA UROM library work from the host side — wiring doca-urom under an HPC / UCX / MPI stack to OFFLOAD remote memory operations (puts, gets, atomics, collectives) onto a BlueField DPU, creating a UROM Service context
SKILL.md
doca-urom.SKILL.mdlicense: Apache-2.0
name: doca-urom
description: >
Use this skill when the user is doing hands-on DOCA UROM library work
from the host side — wiring doca-urom under an HPC / UCX / MPI stack
to OFFLOAD remote memory operations (puts, gets, atomics, collectives)
onto a BlueField DPU, creating a UROM Service context
(doca_urom_service_*) and Worker contexts (doca_urom_worker_*) that
run plugins on the DPU, discovering plugins via
doca_urom_service_get_plugins_list, progressing completions, or
debugging DOCA_ERROR_* from a doca_urom_* call. Trigger even without
"DOCA UROM": "MPI all-reduce burning host CPU", "push UCX traffic
onto the BlueField", "first doca_urom call returns NOT_PERMITTED", or
"host library and DPU service look out of sync". Route elsewhere for
UROM Service deployment on the DPU side, MPI / UCX collective
algorithm design, and RDMA / RoCE / IB substrate bring-up.
metadata:
kind: library
compatibility: >
Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu
22.04/24.04 or RHEL/SLES) on a host paired with a BlueField DPU
running the DOCA UROM Service at a compatible version. Reads the
user's local install via `pkg-config doca-urom` and inspects
/opt/mellanox/doca/{lib,include,samples,applications}; underlying
RDMA fabric between host and BlueField must be healthy.DOCA UROM
**Where to start:** This skill assumes DOCA is already installed on both the host and the BlueField, the DOCA UROM Service is deployed and running on the BlueField side, and the user is doing **hands-on UROM work from the host side** — i.e. using `doca-urom` from an HPC / UCX / MPI stack on the host to enqueue remote memory operations (puts, gets, atomics, active messages, collective primitives) that the BlueField DPU will execute on the host's behalf. Open [`TASKS.md`](TASKS.md) if the user wants to *do* something (configure / build / modify / run / test / debug); open [`CAPABILITIES.md`](CAPABILITIES.md) when the question is *what can the host-side UROM API express* on this version + this BlueField + this UROM Service version. If the user has not installed DOCA yet, route to [`doca-setup`](../../doca-setup/SKILL.md) first; if the user is asking about the **DPU-side UROM Service** itself (deployment, container, operation lifecycle on the DPU side), that is a DIFFERENT artifact — route via [`doca-public-knowledge-map ## DOCA services`](../../doca-public-knowledge-map/SKILL.md#doca-services) to the public *DOCA UROM Service* guide. This skill is the **host-side library**; the UROM Service is the **DPU-side executor**, and they are a paired contract.
Example questions this skill answers well
The CLASSES of UROM questions this skill is built to answer, each with one worked example. The agent should treat the *class* as the load-bearing piece — the worked example is a single instance.
- **"How do I offload my MPI / UCX remote memory operations from
the host CPU to the BlueField DPU?"** — worked example: *"my MPI all-reduce is consuming host CPU cycles I'd rather use for compute — how do I push that work onto the BlueField via UROM?"*. Answered by the host-library-plus-DPU-service paired-contract model in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the host-side bring-up workflow in
[`TASKS.md ## configure`](TASKS.md#configure).
- **"Is the DOCA UROM Service even running on my BlueField, and
why does that matter before I write any `doca_urom_*` code?"** — worked example: *"my first `doca_urom_*` call returns `DOCA_ERROR_NOT_PERMITTED` on a host where DOCA is otherwise healthy"*. Answered by the env-precondition matrix in [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)
- the service-deployed-and-running check in
[`TASKS.md ## configure`](TASKS.md#configure) step 1, which routes service-side env questions to [`doca-public-knowledge-map ## DOCA services`](../../doca-public-knowledge-map/SKILL.md#doca-services).
- **"Is this UROM operation type / atomic / collective supported
on my device + this DOCA install + this UROM Service version?"** — worked example: *"does my BlueField support remote atomic Fetch-and-Add for an MPI window?"*. Answered by the plugin-discovery rule (`doca_urom_service_get_plugins_list` on a started Service — UROM operations are plugin-defined Command tasks, so the supported-plugins list is the capability surface) in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the discovery step in
[`TASKS.md ## configure`](TASKS.md#configure).
- **"How does `doca-urom` relate to `doca-rdma` — am I replacing
it, layering on top, or something else?"** — worked example: *"I already have raw `doca-rdma` working; should I rewrite to use UROM, or is that the wrong tool?"*. Answered by the path-selection rule in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes) (UROM uses the RDMA transport substrate underneath but adds the DPU-offload contract on top, and is the right tool only when host CPU is the bottleneck due to communication overhead — small / simple point-to-point cases stay on `doca-rdma`).
- **"Is this UROM API on my installed DOCA version?"** — worked
example: *"is the collective-ops plugin discoverable via `doca_urom_service_get_plugins_list` on DOCA 3.x"*. Answered by the version-compatibility overlay in [`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility), which cross-links the canonical detection chain in [`doca-version`](../../doca-version/SKILL.md) and adds the UROM-specific *host library and DPU service versions must match* overlay.
- **"What does this `DOCA_ERROR_*` from a `doca_urom_*` call
mean and which layer caused it?"** — worked example: *"`DOCA_ERROR_NOT_PERMITTED` on the first `doca_urom_*` enqueue after `doca_ctx_start()` succeeded"*. Answered by the URO
Read more
license: Apache-2.0
name: doca-urom
description: >
Use this skill when the user is doing hands-on DOCA UROM library work
from the host side — wiring doca-urom under an HPC / UCX / MPI stack
to OFFLOAD remote memory operations (puts, gets, atomics, collectives)
onto a BlueField DPU, creating a UROM Service context
(doca_urom_service_*) and Worker contexts (doca_urom_worker_*) that
run plugins on the DPU, discovering plugins via
doca_urom_service_get_plugins_list, progressing completions, or
debugging DOCA_ERROR_* from a doca_urom_* call. Trigger even without
"DOCA UROM": "MPI all-reduce burning host CPU", "push UCX traffic
onto the BlueField", "first doca_urom call returns NOT_PERMITTED", or
"host library and DPU service look out of sync". Route elsewhere for
UROM Service deployment on the DPU side, MPI / UCX collective
algorithm design, and RDMA / RoCE / IB substrate bring-up.
metadata:
kind: library
compatibility: >
Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu
22.04/24.04 or RHEL/SLES) on a host paired with a BlueField DPU
running the DOCA UROM Service at a compatible version. Reads the
user's local install via `pkg-config doca-urom` and inspects
/opt/mellanox/doca/{lib,include,samples,applications}; underlying
RDMA fabric between host and BlueField must be healthy.DOCA UROM
**Where to start:** This skill assumes DOCA is already installed on both the host and the BlueField, the DOCA UROM Service is deployed and running on the BlueField side, and the user is doing **hands-on UROM work from the host side** — i.e. using `doca-urom` from an HPC / UCX / MPI stack on the host to enqueue remote memory operations (puts, gets, atomics, active messages, collective primitives) that the BlueField DPU will execute on the host's behalf. Open [`TASKS.md`](TASKS.md) if the user wants to *do* something (configure / build / modify / run / test / debug); open [`CAPABILITIES.md`](CAPABILITIES.md) when the question is *what can the host-side UROM API express* on this version + this BlueField + this UROM Service version. If the user has not installed DOCA yet, route to [`doca-setup`](../../doca-setup/SKILL.md) first; if the user is asking about the **DPU-side UROM Service** itself (deployment, container, operation lifecycle on the DPU side), that is a DIFFERENT artifact — route via [`doca-public-knowledge-map ## DOCA services`](../../doca-public-knowledge-map/SKILL.md#doca-services) to the public *DOCA UROM Service* guide. This skill is the **host-side library**; the UROM Service is the **DPU-side executor**, and they are a paired contract.
Example questions this skill answers well
The CLASSES of UROM questions this skill is built to answer, each with one worked example. The agent should treat the *class* as the load-bearing piece — the worked example is a single instance.
- **"How do I offload my MPI / UCX remote memory operations from
the host CPU to the BlueField DPU?"** — worked example: *"my MPI all-reduce is consuming host CPU cycles I'd rather use for compute — how do I push that work onto the BlueField via UROM?"*. Answered by the host-library-plus-DPU-service paired-contract model in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the host-side bring-up workflow in
[`TASKS.md ## configure`](TASKS.md#configure).
- **"Is the DOCA UROM Service even running on my BlueField, and
why does that matter before I write any `doca_urom_*` code?"** — worked example: *"my first `doca_urom_*` call returns `DOCA_ERROR_NOT_PERMITTED` on a host where DOCA is otherwise healthy"*. Answered by the env-precondition matrix in [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)
- the service-deployed-and-running check in
[`TASKS.md ## configure`](TASKS.md#configure) step 1, which routes service-side env questions to [`doca-public-knowledge-map ## DOCA services`](../../doca-public-knowledge-map/SKILL.md#doca-services).
- **"Is this UROM operation type / atomic / collective supported
on my device + this DOCA install + this UROM Service version?"** — worked example: *"does my BlueField support remote atomic Fetch-and-Add for an MPI window?"*. Answered by the plugin-discovery rule (`doca_urom_service_get_plugins_list` on a started Service — UROM operations are plugin-defined Command tasks, so the supported-plugins list is the capability surface) in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)
- the discovery step in
[`TASKS.md ## configure`](TASKS.md#configure).
- **"How does `doca-urom` relate to `doca-rdma` — am I replacing
it, layering on top, or something else?"** — worked example: *"I already have raw `doca-rdma` working; should I rewrite to use UROM, or is that the wrong tool?"*. Answered by the path-selection rule in [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes) (UROM uses the RDMA transport substrate underneath but adds the DPU-offload contract on top, and is the right tool only when host CPU is the bottleneck due to communication overhead — small / simple point-to-point cases stay on `doca-rdma`).
- **"Is this UROM API on my installed DOCA version?"** — worked
example: *"is the collective-ops plugin discoverable via `doca_urom_service_get_plugins_list` on DOCA 3.x"*. Answered by the version-compatibility overlay in [`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility), which cross-links the canonical detection chain in [`doca-version`](../../doca-version/SKILL.md) and adds the UROM-specific *host library and DPU service versions must match* overlay.
- **"What does this `DOCA_ERROR_*` from a `doca_urom_*` call
mean and which layer caused it?"** — worked example: *"`DOCA_ERROR_NOT_PERMITTED` on the first `doca_urom_*` enqueue after `doca_ctx_start()` succeeded"*. Answered by the URO
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
Other skills on nvidia-skills.
- /nvidia-skill-finder
Use for NVIDIA-related requests where an NVIDIA skill might help, even if the user did not ask for a skill. Trigger on NVIDIA products, hardware, software, SDKs, GPUs, Jetson/JetPack/L4T/BSP/SDK Manager/driver/flashing/setup, CUDA, NIM, NeMo, Omniverse/OpenUSD/SimReady,
Open skill - /accelerated-computing-cudf
Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.
Open skill - /aiq-deploy
Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.
Open skill - /aiq-research
Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.
Open skill - /amc-run-sample-calibration
Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.
Open skill - /amc-run-video-calibration
Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP/live streams, use amc-run-rtsp-calibration instead.
Open skill

