doca-rmax
Use this skill when the user is doing hands-on DOCA Rivermax work on a BlueField DPU or ConnectX host — standing up `doca_rmax_in_stream` (receive) sessions for timing-precise media-over-IP (SMPTE ST 2110 video/audio, market data, scientific feeds), confirming the Rivermax SDK + license precondition…
Install / Use
npx skills add NVIDIA/skills --skill doca-rmaxInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Customer SupportSupported Platforms
Tags
Our assessment of doca-rmax
doca-rmax scores 88/100 on our quality scale, 98th of 225 Customer Support skills we index (top 44%).
Its SKILL.md is 18 KB long, well organised into 8 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 3,421 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 5 days ago, so doca-rmax is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
doca-rmax compared with similar skills
All 4 of these similar skills score higher than doca-rmax; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| doca-rmax (this skill)by NVIDIA | 88 | 3.4k | 5d ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 6d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 6d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 7d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 7d ago | SKILL.md |
Frequently asked questions
- How do I install doca-rmax?
- Run
npx skills add NVIDIA/skills --skill doca-rmax. The install tabs above show the steps for each supported agent. - Which AI agents does doca-rmax work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is doca-rmax safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is doca-rmax still maintained?
- The repository was last updated 5 days ago, so doca-rmax is actively maintained.
Skill content
View source on GitHublicense: Apache-2.0
name: doca-rmax
description: >
Use this skill when the user is doing hands-on DOCA Rivermax work on
a BlueField DPU or ConnectX host — standing up doca_rmax_in_stream
(receive) sessions for timing-precise
media-over-IP (SMPTE ST 2110 video/audio, market data, scientific
feeds), confirming the Rivermax SDK + license precondition before
any DOCA-side code, running doca_rmax_get_*_supported capability queries,
pairing with doca-eth queues and doca-flow steering, or
debugging DOCA_ERROR_* from a Rivermax call. Trigger even when the
user does not explicitly mention "DOCA Rivermax" or "rmax" —
implicit phrasings include "ST 2110 receive isn't getting frames",
"sub-microsecond jitter on BlueField", "NOT_SUPPORTED from
doca_rmax_init", "no recv events after stream start", or "license
check failing on a media receiver". Refuse and route elsewhere for
installing the Rivermax SDK or its license, programming the
underlying queue (doca-eth), steering rules (doca-flow), or
best-effort packet I/O — those belong to other skills.
metadata:
kind: library
compatibility: >
Requires DOCA SDK at /opt/mellanox/doca on Linux (Ubuntu 22.04/24.04 or
RHEL/SLES) with a BlueField DPU or ConnectX NIC, AND the separately-
installed NVIDIA Rivermax SDK with a valid Rivermax license readable by
the user — DOCA does NOT bundle Rivermax. Reads the local install via
pkg-config doca-rmax; route Rivermax SDK install/license questions to
the public Rivermax guide.
DOCA Rivermax
Where to start: This skill assumes DOCA is already installed,
AND that the NVIDIA Rivermax SDK is separately installed with a
valid Rivermax license present on the host. The agent's FIRST
action on any Rivermax question is to confirm both — without
Rivermax SDK + license, doca-rmax cannot function regardless
of how clean the DOCA-side code is, and this is the #1 first-app
confusion (DOCA does not bundle Rivermax; it wraps it). Open
TASKS.md if the user wants to do something
(configure / build / modify / run / test / debug); open
CAPABILITIES.md when the question is what
can DOCA Rivermax express on this version + this Rivermax
install. If the user has not installed DOCA yet, route to
doca-setup first; for the Rivermax
SDK + license install itself, route to the public DOCA Rivermax
guide (slug DOCA-Rivermax) via
doca-public-knowledge-map.
If the user is asking "how do I get packets to land on my
Rivermax input stream at all", the answer is layered:
doca-rmax is the Rivermax integration surface,
doca-eth is the queue surface that
carries the packets, and doca-flow
is the steering surface that directs them.
Example questions this skill answers well
The CLASSES of DOCA Rivermax 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.
- "Can I even use
doca-rmaxon this host?" — worked example: "the public docs mentiondoca-rmax; is it usable without doing anything else?". Answered by the Rivermax-SDK + license precondition rule inCAPABILITIES.md ## Safety policy- the env-prep checklist in
TASKS.md ## configurestep 1, which routes the install-side question to the public Rivermax guide viadoca-public-knowledge-mapand refuses to recommend a fallback todoca-ethalone that would silently lose the timing properties.
- the env-prep checklist in
- "How do I set up a SMPTE ST 2110 video receive stream?" —
worked example: "line up an inbound Rivermax stream on a
representor of a BlueField port for first-run testing".
Answered by the per-stream object lifecycle in
TASKS.md ## configure+CAPABILITIES.md ## Capabilities and modesinput stream capability table. - "Which
doca_rmax_get_*_supportedquery do I have to call before picking a PTP clock or hardware packet-placement order?" — worked example: "can this device + this Rivermax install use ST 2110-20 sequence-number placement?". Answered by the capability-query rule inCAPABILITIES.md ## Capabilities and modes- step 3 in
TASKS.md ## configure.
- step 3 in
- "My stream is set up but no packets arrive — why?" —
worked example: "the Rivermax stream object started cleanly
but no recv events fire". Answered by the precondition matrix
in
CAPABILITIES.md ## Safety policy- the env-prep checklist in
TASKS.md ## configurestep 1, which routes the steering side todoca-flow, the queue side todoca-eth, and the license side back to the Rivermax-side precondition.
- the env-prep checklist in
- "Is this Rivermax integration capability available on my
device + my installed DOCA + my Rivermax SDK?" — worked
example: "does this device + this Rivermax version advertise
the PTP clock or placement mode I need". Answered by the capability-query
rule in
CAPABILITIES.md ## Capabilities and modes- the version-and-device overlay in
CAPABILITIES.md ## Version compatibility, which adds the Rivermax-side version is a second axis rule on top of the canonical DOCA version-handling chain indoca-version.
- the version-and-device overlay in
- "What does this
DOCA_ERROR_*from a Rivermax call mean and which layer caused it?" — worked example: "DOCA_ERROR_NOT_SUPPORTEDfromdoca_rmax_init()". Answered by the Rivermax overlay on the cross-library taxonomy inCAPABILITIES.md ## Error taxonomy- the layered ladder in
TASKS.md ## debugthat escalates todoca-debug, and which preserves the installed header's call-specific mapping: init-time_NOT_SUPPORTEDroutes first to Rivermax SDK / license checks; later errors are interpreted from the exact failing call rather than generalized into a license diagnosis.
- the layered ladder in
Audience
This skill serves external developers building applications
that consume the DOCA Rivermax integration — i.e., users whose
code calls doca_rmax_* (directly in C/C++, or through
FFI/bindings from another language) to drive timing-precise
media-over-IP streams (SMPTE ST 2110, real-time market data,
high-throughput scientific instrument streams) on top of a
separately-installed NVIDIA Rivermax SDK on a BlueField or
ConnectX host. It is not for NVIDIA developers contributing to
DOCA Rivermax itself, and it is not for users who want
best-effort packet I/O — for that, route to
doca-eth directly.
Language scope. DOCA Rivermax ships as a C library with
pkg-config module name doca-rmax. The shipped samples
live under /opt/mellanox/doca/samples/doca_rmax/ and are
written in C. C and C++ consumers are the canonical case; the
worked examples in TASKS.md assume that path. Other-language
consumers (Rust, Go, Python, …) consume the same *.so through
FFI or language-specific bindings; the skill's contribution in
that case is to keep the precondition rule (Rivermax SDK +
license), per-stream lifecycle, capability-discovery,
permission, scheduling-discipline, and error-taxonomy guidance
language-neutral, and to route the agent to the public C ABI as
the authoritative surface that any wrapper will eventually call.
When to load this skill
Load this skill when the user is doing hands-on DOCA Rivermax work, in any language. Concretely:
- Confirming that the NVIDIA Rivermax SDK and a valid Rivermax
license are present on the host before any DOCA-side code is
written — this is a mandatory precondition, not an error
path; without it the answer is "
doca-rmaxcannot be used; pick a different library", not "let's try and see what fails". - Initializing the global DOCA Rivermax engine with
doca_rmax_init()/doca_rmax_release(), then creating adoca_rmax_in_stream(receive) context withdoca_rmax_in_stream_create()on adoca_devopened against a physical port, a representor, or an SF, and converting it viadoca_rmax_in_stream_as_ctx()beforedoca_ctx_start(). The public DOCA Rivermax API is receive-only — there is no transmit/output stream object. - Configuring a Rivermax input stream for SMPTE ST 2110 audio +
video over IP, real-time market data feeds, or a scientific
instrument stream — with awareness that PTP-clock and
hardware packet-placement-order support are device- and
Rivermax-conditional and gate on the matching
doca_rmax_get_*_supportedquery. - Reading or setting Rivermax stream properties via
doca_rmax_in_stream_set_*and querying device + Rivermax capability via thedoca_rmax_get_*_supportedfamily before assuming PTP-clock or hardware packet-placement-order support. - Pairing the Rivermax stream with the
doca-ethqueue surface that carries the packets and thedoca-flowrules that steer them — Rivermax does not program steering itself. - Designing the real-time scheduling discipline for the
streaming threads (the underlying Rivermax stack expects
real-time priority for sub-microsecond jitter; the canonical
scheduling guidance lives in the Rivermax SDK docs reachable
through
doca-public-knowledge-map). - Debugging a
DOCA_ERROR_*returned from a Rivermax call (lifecycle vs. license / permission vs. capability vs. driver-below) where the cause may live in the DOCA-side wrapper, the underlying Rivermax stack, or the licensing layer. - Designing or extending non-C bindings (Rust, Go, Python, …) that wrap the DOCA Rivermax C ABI — for the precondition rule, lifecycle, capability, permission, and scheduling rules the wrapper must honor.
Do not load this skill for general DOCA orientation, for
installing DOCA itself, for installing the Rivermax SDK or
managing the Rivermax license file (those live in the public
Rivermax SDK guide reachable through
doca-public-knowledge-map),
for best-effort packet I/O without timing requirements (use
doca-eth directly), or for pure
host-side data processing without networking. For DOCA
documentation orientation, use
doca-public-knowledge-map.
What this skill provides
This is a thin loader. The body keeps only the orientation needed to pick the right next file. The substantive Rivermax-specific material lives in two companion files:
CAPABILITIES.md— what DOCA Rivermax can express on this version and this Rivermax SDK install: the Rivermax-as-hard-dependency rule, the receive-onlydoca_rmax_in_streamobject model, the capability-query surface (doca_rmax_get_*_supported), the Rivermax error taxonomy (mapped onto the cross-libraryDOCA_ERROR_*set, with Rivermax-specific causes called out per row), the observability surface (per-stream progress engine events, capability snapshots, Rivermax-side license + driver state), and the safety policy that gates the Rivermax-SDK-present / license-present / device-access / scheduling-discipline preconditions.TASKS.md— step-by-step workflows for the six in-scope Rivermax verbs:configure,build,modify,run,test,debug. Plus aDeferred task verbsblock that points out-of-scope questions (installing Rivermax, managing the license, programming steering, progr
Truncated for display — read the full file on GitHub.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
