doca-programming-guide
Use this skill when the user is writing their first DOCA app or asking a library-agnostic programming question — picking a shipped sample to copy and modify…
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-programming-guide
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, writing
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 and code. 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-programming-guide
What's inside
- Skill name
doca-programming-guide- Description
- Use this skill when the user is writing their first DOCA app or asking a library-agnostic programming question — picking a shipped sample to copy and modify, wiring pkg-config + meson (or FFI from Rust / Go / Python against the public C ABI), walking the Core lifecycle (create → configure → start → connect → use → stop → destroy), or decoding a DOCA_ERROR_*. Trigger on implicit phrasing: "write my first DOCA program", "meson line for doca_rdma_*", "DOCA_ERROR_BAD_STATE on first call", "call DOCA from Rust", "built clean but nothing on the wire". Refuse install / hugepages / pkg-config (doca-setup), docs or version lookup (doca-public-knowledge-map), and library-internal API work (matching library skill).
- License
- Apache-2.0
- Compatibility
- No DOCA install required to read this skill (it is an overlay loaded against any DOCA artifact skill); the validation steps within DO require a live DOCA install at /opt/mellanox/doca.
- Metadata
- kind: library · author: NVIDIA <doca@nvidia.com> · doca_version: 3.5
- Instructions
- 262 lines in SKILL.md · view on GitHub
Files (7)
- BENCHMARK.md
- CAPABILITIES.md
- SKILL.md
- TASKS.md
- evals.json · evals/
- skill-card.md
- skill.oms.sig
SKILL.md (first lines)
# DOCA programming guide ## Examples - **"How do I write my first DOCA program?"** — copy a shipped sample and follow the modify workflow, then the canonical pkg-config + meson build. Docker / NGC can compile and link; runtime needs a real BlueField or ConnectX. - **"What's the lifecycle every DOCA object follows?"** — create → configure → start → connect → use → stop → destroy. Configuration finishes before start. ## Instructions Follow Loading order below. Open the tasks companion for how-to and the capabilities companion for coverage. Do not open every companion file. **Where to start:** Read [`## Audience`](#audience) to confirm the user is *consuming* DOCA, not *contributing* to it. Then jump to the H2 that matches the verb (`## modify` for first-app derivation, `## build` for the canonical build pattern, `## test` for the test loop, `## debug` for the program-class debug ladder). **Docker / NGC is the build half, not the runtime half.** The NGC container can compile and link. Flow pipe creation, RDMA QP ops, and any call that needs a `doca_dev` on a port need a real BlueField or ConnectX. Do not promise the app will work entirely inside docker. ## Example questions this skill answers well These are the CLASSES of program-class questions the skill is built to answer, each with one worked example. Library-specific overlays (Flow / DMS / Caps / …) live in the matching library skill; this skill answers the library-agnostic shape. - **"How do I write my first DOCA program for <any library>?"** — worked example: *"I have docker; help me build my first DOCA Flow app."* Answered by the modify-a-shipped-sample workflow in ## modify plus the canonical build pattern in ## build. Say that docker / NGC builds and links, but runtime needs a real NIC or DPU. - **"What's the right build line for any DOCA library?"** — worked example: *"How do I compile a program that calls `doca_rdma_*`?"* Answered by the `pkg-config doca-<library>` pattern in ## build (C/C++ Track 1) and the FFI/bindings pattern in Track 2. - **"What's the lifecycle every DOCA object follows?"** — worked example: *"What's the right order of `doca_flow_pipe_*` calls in my program?"* Answered by the Core order create → configure → start → connect → use → stop → destroy in ## Capabilities and modes (`cfg-create` / `init` implement configure and finish before start). - **"`DOCA_ERROR_*` came back — what does it mean and what do I do?"** — worked example: *"My code got `DOCA_ERROR_BAD_STATE`."* Answered by the cross-library `doca_error_get_descr()` rule in ## Error taxonomy + the program-class debug order in ## debug. - **"My program built and started, but does nothing on the wire."** — worked example: *"My Flow program runs cleanly but no traffic is matched."* Answered by the validate-before-commit rule in ## Safety policy and the layered program-class debug ladder in ## debug. - **"What does <language> consumer of DOCA look like (FFI / bindings)?"** — worked example: *"How do I call DOCA Comch from Rust without writing C?"* Answered by Track 2 of ## build (FFI against the public C ABI) and the language-neutral lifecycle in ## Capabilities and modes. - **"How should I classify and build all the shipped DOCA samples and applications? What's the difference between a sample and an application?"** — worked example: *"I tried to build all DOCA apps and some failed — which ones are real regressions vs missing optional stacks?"* Answered by the sample-vs-application model and the category / dependency / skip-vs-fail taxonomy in ## sample-and-app-categorization, which separates *"the SDK is broken"* from *"the optional GPU / RMAX / MPI stack is not on this BlueField"*. If the question is env-class (install / build env / hugepages / devices), route to `doca-setup/SKILL.md`. If it is library-specific (Flow pipe topology, RDMA QP setup, DMS service deploy), layer the matching library skill on top. ## Audience This skill serves **external developers building applications that *consume* DOCA libraries** — i.e., users whose code calls one or more `doca_<library>_*` symbols (directly in C/C++, or through FFI / bindings from another language). It is *programming **with** DOCA*, not *programming **of** DOCA*: it is *not* for NVIDIA developers contributing to DOCA itself, and it does *not* assume access to the DOCA source tree, internal NVIDIA tooling, or any non-public information. The only inputs it ever points the agent at are the ones any external user has: the public docs at [`docs.nvidia.com/doca/sdk/`](https://docs.nvidia.com/doca/sdk/), the public catalog at [`catalog.ngc.nvidia.com`](https://catalog.ngc.nvidia.com/), the public GitHub repos under [`github.com/NVIDIA`](https://github.com/NVIDIA) / [`github.com/NVIDIA-DOCA`](https://github.com/NVIDIA-DOCA), the public developer forum, and the on-disk `/opt/mellanox/doca` tree that the public DOCA install (or the public NGC DOCA container, `nvcr.io/nvidia/doca/doca`) puts on the user's host. *Where to find* and *how to install* questions are routed elsewhere — see *Related skills* below. **Language scope.** DOCA itself is a C library family; every shipped sample in `/opt/mellanox/doca/samples/` and every shipped reference application in `/opt/mellanox/doca/applications/` is C. C and C++ consumers are the canonical case for every prescriptive workflow in this skill. Other-language consumers (Rust, Go, Python, …) consume the same `*.so` libraries through FFI or language-specific bindings against the public C ABI; the skill keeps the lifecycle, capability, error, observability, and safety guidance language-neutral, and routes the language-specific build / FFI work back to the consumer's own toolchain without authoring wrappers. ## When to load this skill
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 (6 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-verbs
NVIDIA <doca@nvidia.com>
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 /…
SkillAFreshness: A★ 3.7KClaude Code +9
Cite this page
doca-programming-guide skill. Agent Mart. https://agentmart.dev/skills/nvidia-doca-programming-guide (last updated 2026-10-24)