Agent skill · AI & Agents

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 (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"

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

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

Facts
Files in the skill folder: 8
SKILL.md size: 18 KB
Bundled scripts: none
Requires: > Requires DOCA SDK installed at /opt/mellanox/doca on Linux (Ubuntu 22.04/24.04 or RHEL/SLES) on a host paired with a…
Path: skills/doca-urom/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 instructs the agent to assist with hands-on DOCA UROM work from the host side, enabling offload of remote memory operations (puts, gets, atomics, active messages, collectives) to a BlueField DPU. It specifies creating a UROM Service context (doca_urom_service_) and Worker contexts (doca_urom_worker_), discovering plugins via doca_urom_service_get_plugins_list, progressing completions, and debugging DOCA_ERROR_* from doca_urom_* calls. It triggers even without explicit DOCA UROM prompts, e.g., when MPI all-reduce burns host CPU or UCX traffic is pushed to the BlueField. It is a host-side library guide rather than a DPU-side deployment guide.

How it works

The skill positions itself as a thin loader that points users to two companion files containing substantive material. It instructs the agent to reference CAPABILITIES.md for host-side API capabilities, plugin discovery, error taxonomy, observability, and safety policy, and TASKS.md for step-by-step workflows (configure, build, modify, run, test, debug). It emphasizes that the DOCA UROM Service on the DPU side is a separate artifact and that this skill focuses on host-side lifecycle, capability discovery, and error handling within a UCX/HPC stack. It also provides guidance on where to find examples and where not to look for certain activities (e.g., not to install DOCA or deploy the UROM Service from this skill).

When to use it

Use when performing host-side DOCA UROM work in an HPC/UCX/MPI context, including:

  • Initializing a UROM Service context on the chosen BlueField-targeted device and creating Worker contexts, ensuring the DPU-side service is reachable before enqueuing.
  • Enqueuing remote memory operations via doca_urom_* and progressing the DOCA progress engine.
  • Reading/setting library properties and discovering supported plugins with doca_urom_service_get_plugins_list.
  • Applying lifecycle, capability-discovery, and error rules to a UCX-based stack wired to UROM.
  • Debugging DOCA_ERROR_* results to distinguish between service reachability, operation support, and RDMA transport issues.
  • Designing or extending non-C bindings that wrap the UROM C ABI, ensuring lifecycle, capability discovery, and error taxonomy rules are honored.

What it can touch

The skill references host-side interfaces and tools such as the DOCA UROM library, the doca_urom_service_get_plugins_list function, and the DOCA progress engine. It relies on the DOCA SDK installed at /opt/mellanox/doca and on a host paired with a BlueField DPU running a compatible DOCA UROM Service.

Caveats

It does not include pre-written DOCA UROM application source code, standalone build manifests, or any samples/bindings within the skill itself. It directs users to the shipped C samples under /opt/mellanox/doca/samples/doca_urom/ and to public DOCA UROM guides for DPU-side deployment and operation. It also cautions that algorithm design and high-level MPI/UCX decisions are outside the scope of this skill and should be addressed upstream in the corresponding documentation.

From the SKILL.md

# 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 p

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

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"

How do I install it?

Run `npx skills add NVIDIA/skills --skill doca-urom --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