复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
Official, NVIDIA-verified Agent Skills for Claude Code, Codex, and other coding agents.
📖 Docs: docs.nvidia.com/skills · 📺 Livestream: From Vulnerable to Verified · 📝 Blog: NVIDIA Verified Agent Skills: Capability Governance for AI Agents
Skills are portable instruction sets that teach AI agents how to use NVIDIA software optimally: Physical AI and robotics workflows, simulation, CUDA-X libraries, RAG and AI Blueprints, and platform tools. This repository is a catalog: skills are maintained in their respective product repos, and mirrored here daily via an automated sync pipeline. Skills are being added continuously, so check back for updates. We are building this infrastructure in the open, and contributions are welcome. See the Roadmap for what is planned next.
Install NVIDIA skills with the default skills CLI flow:
npx skills add nvidia/skills
The CLI runs through npx and prompts you to choose a skill and install destination. You do not need to clone this repo or copy skill folders by hand.
Requires a current
skillsCLI (v1.5.16 or newer). Installing vianpx skills@latest add nvidia/skillsalways uses the latest. On older CLIs (v1.5.15 and earlier), skills may install but not appear in Claude Code — see Troubleshooting.
The skill is available the next time your agent loads skills and encounters a relevant task. For example, ask your agent to "solve a linear programming problem with cuOpt" and the skill guides it through the cuOpt Python API. In Claude Code, run /reload-skills to load newly installed skills in your current session.
Use this when you already know the skill name and want to skip prompts.
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --yes
Replace cuopt-numerical-optimization-api with any skill name from the Skill Catalog.
Use --agent to target a specific AI coding agent. Initially, we'll support common client targets, expanding the list over time. For the full list of clients supported by the spec, see the skills CLI Supported Agents table.
Claude Code
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent claude-code
Codex
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent codex
Snowflake CoCo
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent cortex
Cursor
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent cursor
Kiro
npx skills add nvidia/skills --skill cuopt-numerical-optimization-api --agent kiro-cli
Use --agent more than once to install the same skill into multiple agents.
npx skills add nvidia/skills \
--skill cuopt-numerical-optimization-api \
--agent claude-code \
--agent codex \
--agent cursor \
--agent kiro-cli
New skills land continuously, and existing ones are revised, renamed, or consolidated as the catalog evolves. Refresh what you have installed with:
npx skills update
Run it interactively and the CLI also flags skills that were removed or merged upstream (for example, when several skills are consolidated into one) and offers to remove the stale local copies. Use npx skills list to see what is installed and npx skills check to preview what is out of date first.
Use this when you want to see available NVIDIA skills before installing anything.
npx skills add nvidia/skills --list
For non-interactive installs, global installs, agent-specific installs, updates, removals, and fallback manual copying, see Advanced installation.
Where to file an issue depends on what's broken:
Per-product source repo links:
For issues with this catalog repo itself (README, structure, listing a new product): open an issue here.
Every published skill ships with a detached OMS signature (skill.oms.sig). The sync pipeline drops any skill missing the required artifacts before publishing, so every skill in the catalog carries:
SKILL.md — the skill instructions consumed by the agentskill-card.md — skill identity and governance cardskill.oms.sig — detached OMS signature (verifiable against nv-agent-root-cert.pem)evals/evals.json, evals/*.json, eval/*.json, or benchmark/evals.jsonBENCHMARK.md — generated benchmark report capturing verifiable uplift dataVerify a skill against the NVIDIA trust anchor nv-agent-root-cert.pem:
pip install model-signing
model_signing verify certificate SKILL_DIR \
--signature SKILL_DIR/skill.oms.sig \
--certificate_chain nv-agent-root-cert.pem \
--ignore_unsigned_files
A successful verification confirms that the skill contents have not been modified since signing by NVIDIA.
See Verify Signed Agent Skills for signature layout, the trust pipeline, and policy options.
NVIDIA/skills/
├── skills/ # NVIDIA-verified skills (count grows continuously),
│ │ synced from upstream product repos
│ ├── README.md # Browser-facing install guidance
│ ├── <product-prefix>-*/ # Flat layout — one dir per skill, product-prefixed
│ │ # e.g. aiq-*, cuopt-*, cupynumeric-*,
│ │ # dali-*, deepstream-*, dicom-*, digital-health-*,
│ │ # dynamo-*, earth2studio-*, holoscan-*, hsb-*,
│ │ # jetson-*, launch-nemo-rl, mcore-*,
│ │ # nemo-automodel-*, nemo-data-designer-plugin,
│ │ # nemo-evaluator-plugin, nemo-mbridge-* (20 skills),
│ │ # nemo-retriever, nemo-rl-* (4 skills),
│ │ # nemoclaw-user-guide, nemotron-*, nemotron-speech,
│ │ # nv-* (medical AI), physicsnemo-*, rag-*,
│ │ # skill-card-generator, tao-*, tilegym-*,
│ │ # vss-* (15 skills), accelerated-computing-cudf,
│ │ # cudaq-guide, portfolio-optimization
│ ├── omniverse-*/ # Physical AI — manually staged (see manual-components.yml)
│ └── physical-ai-*/ # Physical AI — manually staged
├── components.d/ # Product registry — one file per component, teams onboard here
│ ├── README.md # Schema and onboarding instructions
│ └── <product>.yml # one file per registered product
├── plugins/ # Packaged plugin distributions
│ └── nvidia-skills/ # Curated NVIDIA skills bundle (Claude Code, Codex)
├── plugins.d/ # Plugin build registry — config for `build-plugins.py`
│ ├── README.md
│ ├── _defaults.yml
│ └── nvidia-skills.yml
├── .claude-plugin/ # Claude Code marketplace metadata
│ └── marketplace.json
├── .agents/plugins/ # Agent marketplace metadata (other clients)
│ └── marketplace.json
├── docs/ # Long-form documentation (published via Fern)
│ ├── README.md # How to build the docs locally
│ ├── index.mdx
│ ├── advanced-install.mdx
│ ├── agent-skill-trust-pipeline.mdx
│ ├── release-checklist.mdx
│ ├── scanning-agent-skills.mdx
│ ├── signing-agent-skills.mdx
│ └── skill-cards.mdx
├── fern/ # Fern docs site configuration
├── .github/
│ ├── workflows/ # Sync pipeline, plugin validation, DCO check, author verify
│ └── scripts/ # regenerate-readme.sh, build-plugins.py,
│ # manual-components.yml (temp Physical AI catalog
│ # exception, removed after Computex 2026),
│ # marketplace/metadata.json (skill metadata sidecar)
├── nv-agent-root-cert.pem # Trust anchor for OMS signature verification
├── skills.sh.json # Skills.sh marketplace grouping config
├── CHANGELOG.md
├── CONTRIBUTING.md # Contribution guidelines
├── SECURITY.md # Security reporting policy
├── CODE_OF_CONDUCT.md # Community code of conduct
├── LICENSE-APACHE # Apache 2.0 (source code)
└── LICENSE-CC-BY-4.0 # CC BY 4.0 (documentation/skills)
Skills are maintained in their respective product repos (see the Source column in the Skill Catalog) and synced to this repo daily. Products only appear under skills/ after the sync pipeline confirms each skill carries:
skill.oms.sig — detached OMS-format signature (verifiable against nv-agent-root-cert.pem)skill-card.md — skill identity and governance cardevals/evals.json, evals/*.json, eval/*.json, or benchmark/evals.jsonWhen evaluation runs produce a BENCHMARK.md, it ships alongside the skill so consumers can see verifiable benchmark uplift data.
This repository adheres to the Agent Skills specification:
SKILL.md file at their root.name and description fields.skills-ref reference library.Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
This code is dual-licensed with documentation/skills under the CC-BY-4.0 AND source code under Apache-2.0 license terms. The full license texts can be found in LICENSE-APACHE and LICENSE-CC-BY-4.0 respectively.
license: Apache-2.0
name: doca-verbs
description: >
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 to doca_* on the same QP", "IO_FAILED
on WR submit", "QP state transition rejected", "attach a congestion-
control group", or "porting my libibverbs code". The skill's first job
is to route MOST users back UP to the higher-level library. Refuse and
route elsewhere for general doca-rdma / doca-eth / doca-rmax workloads,
DOCA install, Core internals, and general libibverbs theory — those
belong to other skills.
metadata:
kind: library
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 user's 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 + adjacent doca_verbs_*.h family) are the authoritative
symbol surface per headers-win-over-docs.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 and
follow its non-negotiable: the deliverable links libdoca_rdma and
calls doca_rdma_*.
Loading this raw-verbs skill is never a license to hand-roll
libibverbs / librdmacm. "Raw verbs is fewer lines" or "the high-level
binding is more work" is not a reason. A general-RDMA deliverable
whose ldd shows no libdoca_rdma is a failed task — exactly the
same rule doca-rdma enforces. Raw doca_verbs_*
is in scope only for the narrow attribute-level needs enumerated below;
everything else climbs back up to the matching higher-level library.
Where to start: This skill is the raw-verbs escape hatch
beneath the higher-level DOCA libraries (doca-rdma
for RDMA workloads, doca-eth for Ethernet
queues, doca-rmax for timing-precise
media). The agent's first job, before anything else, is to confirm
the user actually needs to drop down — most users do not, and the
right answer is almost always "stay in the higher-level library".
Open CAPABILITIES.md when the question is
what does the verbs surface actually expose and where is the
boundary with vanilla libibverbs; open TASKS.md when
the user has already confirmed they need raw verbs and wants the
configure / build / modify / run / test / debug workflow for them.
If the user has not installed DOCA yet, route to
doca-setup first.
The single load-bearing decision every conversation that loads this skill must make, FIRST, before any code-level discussion:
doca-rdma for general RDMA work
(Send / Receive / Read / Write / Atomic / Sync-Event task
patterns); doca-eth for Ethernet TX /
RX queue patterns; doca-rmax for
timing-precise media / data-over-IP streaming. The most common
baseline-agent failure for raw verbs is recommending them
unnecessarily because the user said the word "verbs" or "QP"
without checking whether the higher-level surface already covers
their case.doca_rdma_task_* abstractions do not
surface; custom completion-queue handling beyond what the DOCA
progress engine exposes; an esoteric QP attribute (path MTU,
PSN tuning, ECE attributes); explicit SRQ control; congestion-
control group (doca_verbs_cc_group_*) attachment to QPs;
Address-Handle attribute tuning (DGID / DLID / SL / SGID index /
hop limit / traffic class / UDP source port). If yes — this
skill is in scope.doca_verbs_*
handles, integrate with the DOCA Core lifecycle through
doca_verbs_context_create, drive completions via the DOCA
progress engine instead of polling CQ directly) rather than
recommend a mechanical 1:1 textual replacement.If none of (1)-(3) apply, the answer to "should I use
doca-verbs?" is no. Route the user back to the matching
higher-level DOCA library. This is by design: a correctly-loaded
raw-verbs skill that talks the user out of raw verbs is doing its
job.
The CLASSES of raw-verbs 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.
doca-verbs for this?" — worked example:
"I want to set a specific raw work-request flag and the
doca_rdma_task_* abstraction does not expose it". Answered by
the path-selection rule in
CAPABILITIES.md ## Capabilities and modes
higher-level-vs-doca-verbs table + the climb back up step in
TASKS.md ## configure.doca-verbs different from libibverbs?" — worked
example: "I have existing ibv_* code; can I just keep using
it and call doca_* next to it?". Answered by the
libibverbs-vs-doca-verbs boundary rule in
CAPABILITIES.md ## Safety policy
TASKS.md ## modify.doca_verbs_query_device + the
doca_verbs_device_attr_get_* family) in
CAPABILITIES.md ## Capabilities and modes
TASKS.md ## configure.IBV_SEND_INLINE on
a custom QP attribute, and I want it to live inside a DOCA Core
context". Answered by the porting overlay in
TASKS.md ## modify +
CAPABILITIES.md ## Safety policy
no-mixing rule.DOCA_ERROR_* from a raw-verbs call mean?" —
worked example: "DOCA_ERROR_IO_FAILED from a WR submission —
what do I look at?". Answered by the verbs overlay on the
cross-library taxonomy in
CAPABILITIES.md ## Error taxonomy
(which sends the agent to inspect the completion-queue entry,
not the submit return value) + the layered ladder in
TASKS.md ## debug.doca-verbs to the matching
higher-level library?" — worked example: "my raw-verbs
prototype works; do I keep it or refactor onto doca-rdma?".
Answered by the climb-back rule in
CAPABILITIES.md ## Capabilities and modes
(raw verbs is a targeted surface, not a default; once the
specific need is covered, the higher-level surface is the
long-term home).This skill serves external developers building applications that
consume the DOCA Verbs library — i.e., users whose code calls
doca_verbs_* (directly in C/C++, or through FFI/bindings from
another language) 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 itself,
and it is not the right entry point for general DOCA RDMA / Eth
/ RMAX work — that belongs in the matching higher-level library
skill.
DOCA Verbs ships as a C library with pkg-config module name
doca-verbs. The public headers live under the installed DOCA
infrastructure tree
($(pkg-config --variable=includedir doca-common) doca_verbs.h and the
adjacent doca_verbs_*.h family); per the
headers-win-over-docs rule in
doca-version, the headers on the
user's install are the authoritative truth for the live symbol
surface. 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 drop-down decision, libibverbs boundary,
cap-query rule, lifecycle in verbs terms, and error-handling
rule language-neutral, and to route the agent to the public C ABI
as the authoritative surface that any wrapper will eventually
call.
Load this skill ONLY after the user (or the agent on the user's behalf) has confirmed the matching higher-level DOCA library does not expose the semantic they need. Concretely:
doca-verbs for
this?" — load this skill to answer, but expect the answer to be
"no, stay in the higher-level library" unless the user can
name the specific verb / opcode / option the higher-level library
does not surface.DOCA_ERROR_* returned from a doca_verbs_* call needs
diagnosis — including the IO_FAILED case where the answer lives
on the completion-queue entry, not the submit return.Do not load this skill for: general DOCA RDMA work (use
doca-rdma); general DOCA Ethernet
queueing (use doca-eth); timing-precise
media / data-over-IP streaming (use
doca-rmax); use cases a different
higher-level DOCA library covers (doca-flow
for steering, the storage-transport library for NVMe-oF — routed via
doca-public-knowledge-map);
install of DOCA itself (use
doca-setup); or general DOCA
orientation (use
doca-public-knowledge-map).
This is a thin loader. The body keeps only the orientation needed to pick the right next file. The substantive raw-verbs material lives in two companion files:
CAPABILITIES.md — what doca-verbs can express on this
version: the higher-level-library-vs-doca-verbs selection table,
the libibverbs-vs-doca-verbs boundary, the verbs object model
(doca_verbs_context + QP / CQ / PD / MR / SRQ /
Address-Handle / Completion-Channel / Ethernet-SQ / Ethernet-RQ /
CC-group) inside DOCA Core, the capability-query surface
(doca_verbs_query_device + doca_verbs_device_attr_get_*),
the raw-verbs error taxonomy (mapped onto the cross-library
DOCA_ERROR_* set, with the IO_FAILED → completion-queue-entry
overlay), the observability surface (DOCA progress engine vs
manual CQ polling vs comp-channel event delivery), and the
safety policy that gates the no-mixing-with-libibverbs rule.TASKS.md — step-by-step workflows for the six in-scope verbs:
configure, build, modify, run, test, debug. Plus a
Deferred task verbs block that points out-of-scope questions
at the right next skill. Every workflow assumes the drop-down
decision in this SKILL.md has already been made; the
## configure step always begins by re-confirming it.The skill assumes a host or BlueField where DOCA is already
installed at the standard location and the user has the privileges
their public install profile expects (the RDMA stack on host with
proper module loads, same as
doca-rdma). It does not cover
installing DOCA — that path goes through
doca-setup.
This skill is agent guidance, not a samples or templates bundle. To keep the boundary clean, it deliberately does not contain — and pull requests should not add:
ls /opt/mellanox/doca/samples/); the agent's job is to route the
user to those files and prescribe a minimum-diff modification on
them via the universal modify-a-sample workflow in
doca-programming-guide,
layered with the verbs-specific overrides in
TASKS.md ## modify.meson.build, CMakeLists.txt,
Cargo.toml, …) parked inside the skill. The agent constructs
the build manifest in the user's project directory against the
user's installed DOCA, where pkg-config --modversion doca-verbs
is the source of truth.samples/, bindings/, or reference/ subtree of any
kind. A mock or incomplete artifact in this skill's tree, even
one labeled "reference", is misleading: users will read it as
buildable.doca-verbs. The
porting path is judgment, not a mechanical textual
replacement — see
TASKS.md ## modify for why.SKILL.md first to confirm the user's question is in
scope — i.e., to walk the drop-down decision above.Both companion files cross-link to each other, the matching
higher-level libraries
(doca-rdma,
doca-eth,
doca-rmax) as the climb-back homes,
doca-common for the foundation
primitives every verbs context rests on (doca_dev /
doca_pe / doca_ctx),
doca-version for the canonical
version-handling rules, and
doca-public-knowledge-map
whenever the right answer is "look it up in the public docs or the
installed package layout" rather than "verbs-specific guidance".
doca-rdma — the canonical higher-level
DOCA RDMA library and the home this skill routes most RDMA users
back to. Every conversation that loads doca-verbs for an
RDMA-class question should also have doca-rdma loaded so the
climb-back-up answer is immediate when the raw-verbs need turns
out to be coverable there.doca-eth — the canonical higher-level
DOCA Ethernet queue library. doca-verbs also exposes
Ethernet-side SQ / RQ verbs (doca_verbs_eth_sq_*,
doca_verbs_eth_rq_*); when the user has confirmed the
higher-level doca-eth does not expose the option they need
(e.g., explicit TS-source-type tuning, plane-index pinning,
multi-pkt-send-WQE), this skill takes over.doca-rmax — the canonical higher-level
DOCA Rivermax library for timing-precise media. Most Rivermax
cases should stay in doca-rmax; raw verbs is the escape hatch
for the rare media use case where the user needs a verb the
Rivermax integration does not expose.doca-common — the foundation library
every DOCA context (including doca_verbs_context) rests on.
The doca_dev / doca_pe / doca_ctx primitives, the
capability-query rule against the active doca_devinfo, and
the lifecycle are owned there; this skill layers verbs-specific
patterns on top.doca-public-knowledge-map —
the routing table for every public DOCA documentation source
and the on-disk layout of an installed DOCA package. The DOCA
Verbs public guide is listed there; this skill does not
duplicate the URL.doca-setup — env preparation,
install verification, and the I have no install yet path
with the public NGC DOCA container. This skill assumes its
preconditions are satisfied.doca-version — canonical DOCA
version-handling rules. This skill's ## Version compatibility
cross-links the four-way match rule (with doca-verbs.pc joining
the match set) and the cap-query-is-runtime-authority rule.doca-structured-tools-contract —
the bundle's structured-tools precedence rule (detect / prefer /
fall back / report). The Command appendix in
TASKS.md honors this contract.doca-programming-guide —
general DOCA programming patterns shared by every library: the
canonical pkg-config + meson build pattern, the universal
modify-a-shipped-sample first-app workflow, the universal
lifecycle, the cross-library DOCA_ERROR_* taxonomy, and the
program-side debug order. This skill layers raw-verbs specifics
on top.doca-debug — the cross-cutting
debug ladder (install / version / build / link / runtime /
program / driver). Raw-verbs-specific debug (completion-entry
inspection, no-mixing-with-libibverbs, lifecycle in verbs terms)
overlays on top of that ladder.doca-hardware-safety —
the cross-cutting hardware-safety meta-policy this skill's
## Safety policy overlays.
评论 (0)
暂无评论,成为第一个评论者吧!