Agent skill · software engineering · nvidia

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, 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).

Why this skill is useful

Provides specific patterns and workflows for building and debugging DOCA applications that the AI wouldn't reliably generate on its own.

What it needs

Requires doca installed locally. About 8k tokens when loaded. Last updated 2026-08-07. 2,816 stars on the source repository.

What this skill does

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 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 docadev 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 &lt;any library&gt;?" — 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 docardma?" Answered by the pkg-config doca-<library> pattern in build (C/C++ Track 1) and the FFI/bindings pattern in Track 2. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills nvidia/doca-programming-guide

View the source on GitHub

Browse the @skills marketplace