Doca Verbs
NVIDIAOfficialCreated by NVIDIA
- Skill
- Tool integration
- Software development
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The doca-verbs skill serves as an escape hatch for developers who need direct control over RDMA and Ethernet queue objects that are not exposed by higher-level DOCA libraries like doca-rdma, doca-eth, or doca-rmax. It enables the use of specific verbs, opcodes, WR flags, and esoteric QP attributes while maintaining integration with the DOCA Core context and progress engine. This skill is intended for advanced users porting existing libibverbs code or requiring fine-grained hardware object manipulation, and it enforces strict boundaries to prevent unnecessary use of raw verbs when higher-level abstractions suffice.
What it does
- Provides direct access to QP, CQ, PD, SRQ, and address-handle objects via doca_verbs_context.
- Facilitates porting of libibverbs code into the DOCA Core model.
- Exposes raw WR flags, opcodes, and QP attributes not available in high-level DOCA APIs.
- Supports congestion-control group attachment and custom CQ handling.
- Integrates raw verbs objects with the DOCA progress engine for completion management.
- Provides diagnostic guidance for IO_FAILED errors based on completion-queue entry inspection.
When to use it
- When a specific verb, opcode, WR flag, or QP attribute is required but not exposed by higher-level DOCA libraries.
- When porting legacy libibverbs applications to the DOCA Core framework.
- When custom completion-queue handling or explicit SRQ control is necessary.
- When attaching to congestion-control groups or performing advanced address-handle tuning.
- When diagnosing errors in raw-verbs operations that require inspecting completion-queue entries.
Advantages
- Enables fine-grained hardware control while remaining within the DOCA Core ecosystem.
- Allows for the migration of complex libibverbs logic into modern DOCA-based applications.
- Provides a structured path for advanced tuning of RDMA and Ethernet queueing.
- Maintains consistency with DOCA's progress engine and lifecycle management.
- Offers a clear decision framework to prevent the misuse of low-level APIs.
Usage examples
- “I need to set a specific path MTU on my QP, but doca-rdma doesn't expose it. Can I use doca-verbs?”
- The agent confirms if the attribute is available in the doca_verbs_qp_modify surface and guides the user through the integration with doca_verbs_context.
- “How do I port my existing libibverbs code to DOCA?”
- The agent provides the porting path, emphasizing replacing ibv_* handles with doca_verbs_* handles and integrating with the DOCA progress engine.
- “I am getting DOCA_ERROR_IO_FAILED on a work request submit. How do I debug this?”
- The agent instructs the user to inspect the completion-queue entry's error field rather than the submit return value to identify the root cause.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/nvidia/doca-verbs/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip doca-verbs.zip -d .agents/skills
Documentation by NVIDIA
DOCA Verbs
Examples
"Should I use doca-verbs or doca-rdma?" — ordinary RDMA data movement with no raw QP / CQ / WR / SRQ / Address-Handle attribute named is out of scope — route to
doca-rdma/SKILL.md."I need a raw QP attribute the task API does not expose." — stay here. Use only the installed
doca_verbs.hsurface.
Instructions
Follow ## Loading order. Open only the companion
that matches the question.
STOP — most RDMA tasks do NOT belong here
If the task is general RDMA data movement (send / receive / read /
write / atomic between endpoints) and the user did not name a raw
QP / CQ / work-request / SRQ / Address-Handle attribute the
higher-level API cannot express, this skill is out of scope —
route to doca-rdma/SKILL.md and stop after
explaining the boundary. Unless doca-rdma guidance is loaded, do not
infer its implementation APIs; conceptual terms (QP, CQ, connection,
send, receive) are not implementation API names.
Loading this skill is never a license to hand-roll libibverbs /
librdmacm. A general-RDMA deliverable whose ldd shows no
libdoca_rdma is a failed task — the same rule
doca-rdma/SKILL.md enforces. Raw doca_verbs_* is in
scope only for the narrow attribute-level needs below; everything else
climbs back up.
Where to start: This skill is the raw-verbs escape hatch beneath
the higher-level DOCA libraries (doca-rdma/SKILL.md,
doca-eth/SKILL.md, doca-rmax/SKILL.md).
The agent's first job is to confirm the user actually needs to drop
down — most users do not; the right answer is almost always "stay in
the higher-level library". Open CAPABILITIES.md
for what the verbs surface exposes and the libibverbs boundary; open
TASKS.md once raw verbs is confirmed. If DOCA is not
installed, route to doca-setup/SKILL.md first.
Non-negotiable answer checklist
For every in-scope porting, lifecycle, or debugging answer, do not declare it complete until it explicitly states all applicable items below:
doca_verbs_contextis the DOCA Core context owning the verbs surface; it wraps thedoca_dev, integrates with the progress engine, and owns the per-object PD / MR / CQ / QP lifecycle inCAPABILITIES.md ## Capabilities and modes.A submit-time success followed by
DOCA_ERROR_IO_FAILEDis diagnosed from the completion-queue entry's error field — not the submit return — before recommending retries or code changes.The answer selects exactly one completion path: progress engine, manual CQ polling, or completion-channel delivery.
Both version axes are stated before any symbol is promised:
pkg-config --modversion doca-verbsmust agree withdoca_caps --versionandpkg-config --modversion doca-common; and thedoca_verbs_*ABI ships in the EXPERIMENTAL tier — symbols may rename or graduate between releases and the installed headers outrank documentation (doca-version/SKILL.md). Device support for a verb is answered by thedoca_devinfocapability query, not by either version.Existing
ibv_*handles are replaced, never mixed withdoca_verbs_*handles on the same hardware objects.
The decision this skill exists to gate
The decision every conversation loading this skill must make FIRST, before any code-level discussion:
Has the user confirmed that the matching higher-level DOCA library does not expose the semantic they need? If no — route back:
doca-rdma/SKILL.mdfor general RDMA,doca-eth/SKILL.mdfor Ethernet TX / RX,doca-rmax/SKILL.mdfor timing-precise media. The most common failure is recommending raw verbs unnecessarily because the user said "verbs" or "QP" without confirming the higher-level surface already covers the case.Is the needed semantic a specific verb / opcode / WR flag / QP attribute / SRQ option the higher-level library does not expose? Examples: a raw WR flag
doca_rdma_task_*does not surface; custom CQ handling beyond the progress engine; an esoteric QP attribute (path MTU, PSN, ECE); explicit SRQ control; congestion-control group (doca_verbs_cc_group_*) attachment; Address-Handle tuning (DGID / DLID / SL / SGID index / hop limit / traffic class / UDP source port). If yes — in scope.Is the user porting existing libibverbs code into the DOCA Core model? In scope, AND the agent must teach the porting path (replace
ibv_*handles withdoca_verbs_*handles, integrate viadoca_verbs_context_create, drive completions via the DOCA progress engine instead of polling the CQ) — not a mechanical 1:1 replacement.
If none of (1)-(3) apply, the answer to "should I use doca-verbs?"
is no — route back to the matching higher-level library. A raw-verbs
skill that talks the user out of raw verbs is doing its job.
Audience
This skill serves external developers building applications that
consume the DOCA Verbs library — code calling doca_verbs_*
(directly in C/C++, or via FFI/bindings) 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, and not the entry point for general DOCA RDMA / Eth /
RMAX work — that belongs in the matching higher-level library skill.
Language scope
DOCA Verbs ships as a C library (pkg-config module doca-verbs);
public headers live under the installed DOCA tree
($(pkg-config --variable=includedir doca-common)/doca_verbs.h plus
the doca_verbs_*.h family) and, per the headers-win-over-docs rule
in doca-version/SKILL.md, are the
authoritative symbol surface. C / C++ is the canonical case TASKS.md
assumes; other languages reach the same *.so through FFI, and the
skill keeps its rules language-neutral while routing to the public C
ABI as the authoritative surface.
When to load this skill
Load this skill ONLY after the user has confirmed the matching higher-level DOCA library does not expose the needed semantic. Concretely:
The user asks "do I need to drop to
doca-verbsfor this?" — load to answer, but expect "no, stay in the higher-level library" unless the user can name the verb / opcode / option the higher-level library does not surface.The user wants a specific raw WR flag, QP option, SRQ feature, custom CQ-handling pattern, or congestion-control group attachment the higher-level library does not expose.
The user is porting libibverbs code into the DOCA Core model and needs the integration path (lifecycle, progress engine, no-mixing).
A
DOCA_ERROR_*from adoca_verbs_*call needs diagnosis — including IO_FAILED, where the answer lives on the completion-queue entry, not the submit return.Designing non-C bindings wrapping the verbs C ABI that must honor the boundary, lifecycle, and cap-query rules.
Do not load for: general RDMA (doca-rdma/SKILL.md);
Ethernet queueing (doca-eth/SKILL.md); timing-precise
media (doca-rmax/SKILL.md); cases another
higher-level library covers (doca-flow/SKILL.md for
steering, doca-sta/SKILL.md for NVMe-oF target acceleration); DOCA install
(doca-setup/SKILL.md); or general orientation —
all routed via
doca-public-knowledge-map/SKILL.md.
What this skill provides
This is a thin loader. The substantive raw-verbs material lives in two companion files:
CAPABILITIES.md— whatdoca-verbscan express on this version: the higher-level-vs-verbs selection table, the libibverbs boundary, the verbs object model (doca_verbs_context+ QP / CQ / PD / MR / SRQ / Address-Handle / Completion-Channel / Ethernet-SQ / Ethernet-RQ / CC-group), the capability-query surface (doca_verbs_query_device+doca_verbs_device_attr_get_*), the error taxonomy (mapped ontoDOCA_ERROR_*with the IO_FAILED → completion-entry overlay), the observability surface (progress engine vs manual CQ polling vs comp-channel delivery), and the safety policy gating the no-mixing-with-libibverbs rule.TASKS.md— workflows for the six in-scope verbs:configure,build,modify,run,test,debug, plus aDeferred task verbsblock. Every workflow assumes the drop-down decision above was made;## configurere-confirms it.
The skill assumes DOCA is installed and the user has the privileges
their install profile expects (RDMA stack on host, same as
doca-rdma/SKILL.md). It does not cover installing
DOCA — route to doca-setup/SKILL.md.
What this skill deliberately does not ship
This skill is agent guidance, not a samples or templates bundle. It deliberately does not contain — and pull requests should not add:
Pre-written DOCA Verbs application source code, in any language. The verified verbs source is the shipped C samples on the install (via
ls /opt/mellanox/doca/samples/); the agent routes there and prescribes a minimum-diff modification via the modify-a-sample workflow indoca-programming-guide/SKILL.md, layered with the verbs overrides inTASKS.md ## modify.Standalone build manifests (
meson.build,CMakeLists.txt,Cargo.toml, …) parked inside the skill. The agent constructs the manifest in the user's project against the installed DOCA, wherepkg-config --modversion doca-verbsis the source of truth.A
samples/,bindings/, orreference/subtree of any kind. A mock artifact labeled "reference" reads as buildable and misleads.A migration script from libibverbs to
doca-verbs. Porting is judgment, not mechanical replacement — seeTASKS.md ## modify.
Loading order
Confirm the question is in scope by walking the drop-down decision above.
For the higher-level-vs-verbs split, the libibverbs boundary, the object model, capability discovery, error taxonomy, observability, and safety policy, see CAPABILITIES.md.
For step-by-step workflows — configure, build, modify, run, test, debug — see TASKS.md.
Both companion files cross-link to each other, to the higher-level
libraries (doca-rdma/SKILL.md,
doca-eth/SKILL.md,
doca-rmax/SKILL.md) as climb-back homes, to
doca-common/SKILL.md for the doca_dev /
doca_pe / doca_ctx foundation primitives, to
doca-version/SKILL.md for canonical version
rules, and to
doca-public-knowledge-map/SKILL.md
whenever the right answer is "look it up in the public docs or the
install layout".
Related skills
When a step below routes to another skill that is not already loaded, read that skill first; if unavailable, stop and name it and the layer it covers — do not continue that layer from memory.
doca-rdma/SKILL.md— the canonical higher-level RDMA library and the home this skill routes most RDMA users back to. Any conversation loadingdoca-verbsfor an RDMA question should also loaddoca-rdmaso the climb-back answer is immediate.doca-eth/SKILL.md— the higher-level Ethernet queue library.doca-verbsalso exposes Ethernet SQ / RQ verbs (doca_verbs_eth_sq_*,doca_verbs_eth_rq_*); once the user confirmsdoca-ethlacks the needed option (TS-source-type tuning, plane-index pinning, multi-pkt-send-WQE), this skill takes over.doca-rmax/SKILL.md— the higher-level Rivermax library for timing-precise media. Most Rivermax cases stay there; raw verbs is the escape hatch for the rare case needing a verb Rivermax does not expose.doca-common/SKILL.md— the foundation every DOCA context (includingdoca_verbs_context) rests on:doca_dev/doca_pe/doca_ctx, thedoca_devinfocap-query rule, and the lifecycle. This skill layers verbs specifics on top.doca-public-knowledge-map/SKILL.md— the routing table for public DOCA docs and the install layout; the DOCA Verbs public guide is listed there.doca-setup/SKILL.md— env preparation, install verification, and the no install yet path via the NGC DOCA container. This skill assumes its preconditions hold.doca-version/SKILL.md— canonical DOCA version-handling rules.## Version compatibilitycross-links the four-way match rule (withdoca-verbs.pcjoining the match set) and the cap-query-is-runtime-authority rule.doca-structured-tools-contract/SKILL.md— the bundle's structured-tools precedence rule (detect / prefer / fall back / report). The Command appendix in TASKS.md honors it.doca-programming-guide/SKILL.md— general DOCA programming patterns shared by every library:pkg-config+ meson build, modify-a-shipped-sample first-app, the universal lifecycle, theDOCA_ERROR_*taxonomy, and the debug order. This skill layers raw-verbs specifics on top.doca-debug/SKILL.md— the cross-cutting debug ladder (install / version / build / link / runtime / program / driver). Raw-verbs debug (completion-entry inspection, no-mixing-with-libibverbs, lifecycle in verbs terms) overlays on top.doca-hardware-safety/SKILL.md— the cross-cutting hardware-safety meta-policy this skill's## Safety policyoverlays.
Files
- ATTRIBUTION.mdAdded by AutoGineer888 B
- BENCHMARK.md9.8 KiB
- CAPABILITIES.md30.7 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md14.4 KiB
- SKILLCARD.yaml2.6 KiB
- TASKS.md30.1 KiB
- evals/evals.json2.6 KiB
- references/command-appendix.md6.0 KiB
- references/deferred-topics.md2.0 KiB
- references/deferred-verbs.md1.9 KiB
- references/install.md1.8 KiB
- references/pattern-overview.md3.4 KiB
- references/use.md6.0 KiB
- skill-card.md5.7 KiB
- skill.oms.sig6.5 KiB
skill.oms.sig
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZG9jYS12ZXJicyIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI1ZWVlNzg1N2I0ZjhmNzUyN2FmNzVkZjBmODFjN2JhYjEyMGYzOWEyZjIxOThjYzBiMDc4OWIxNGI4MTg1ZWRmIgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAic2VyaWFsaXphdGlvbiI6IHsKICAgICAgImFsbG93X3N5bWxpbmtzIjogZmFsc2UsCiAgICAgICJpZ25vcmVfcGF0aHMiOiBbCiAgICAgICAgIi5naXQiLAogICAgICAgICIuZ2l0YXR0cmlidXRlcyIsCiAgICAgICAgIi5naXRpZ25vcmUiLAogICAgICAgICIuZ2l0aHViIgogICAgICBdLAogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImhhc2hfdHlwZSI6ICJzaGEyNTYiCiAgICB9LAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJCRU5DSE1BUksubWQiLAogICAgICAgICJkaWdlc3QiOiAiMjliOWM5YzczMzRiM2ZiNjgxZjU4MTQ3MmM5MDlmZmQyYTFiMzU0MDAzNDZlZjBiYWNiYWUzNzBmYWFkZDMzMSIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJDQVBBQklMSVRJRVMubWQiLAogICAgICAgICJkaWdlc3QiOiAiN2VlYzljZmE1Yjg3NDA1N2E5NjM3NzU1N2M3Y2UzOWZjYzQxOTgyZmQ5NjZkMmNhN2QyYzgzM2UxNWNiMjk0YSIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJTS0lMTC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICIxY2U4NWQ3Zjk1MjQwMGJiYWYwMDljYmZiZTgwODg2ODI5YzRhMWU4OGNjOWYwOTJiZGFhZTQxYzA0YTllMTllIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogIlNLSUxMQ0FSRC55YW1sIiwKICAgICAgICAiZGlnZXN0IjogIjIyZDNlYzRkNGM1ZTRmYTI2Yjk5OGYwOGIwYTFhMmE4NWZjMzdiOWY2NTdlNDI0OWUzNGIyYmQ5MWU4MTBjM2IiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAiVEFTS1MubWQiLAogICAgICAgICJkaWdlc3QiOiAiYWU3MDc0OTNkYTk1NGRjOWI5YTJmNmNkNjA1Yzc5NmE3ZmRjNTIwOGZjZTAxZjFkZmM0NWNmNjQ3MmYzY2ZiZiIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJldmFscy9ldmFscy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogImNlMTM4MjlmYmI4YTRlMjcwMWQzN2Q0YWE3M2IxMjkxNGIzY2UxZWM1OTUzYjk0MjcxYWJiYjljZjY2NzBjYWEiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9jb21tYW5kLWFwcGVuZGl4Lm1kIiwKICAgICAgICAiZGlnZXN0IjogIjFjOWZiNmJkYjFkNGRhMjdiODYyYjA3ZjUzOGIyZTNkNjlhMjE5MDFmNTNlYzdlNWJjMzk0ZGFkMzE1YjcwMjgiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9kZWZlcnJlZC10b3BpY3MubWQiLAogICAgICAgICJkaWdlc3QiOiAiYTc1NDI1ZTZjMjdkODY2YzdlNWZjYmQ1NDdkMzFmNDg1Njc5ZWI1Y2IxZDQ4NjZjYmNkMTJmNGMyYjExZDhjYiIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJyZWZlcmVuY2VzL2RlZmVycmVkLXZlcmJzLm1kIiwKICAgICAgICAiZGlnZXN0IjogImI5ZjdiZDExZmQ1ZWU0OGQ2YWIwZWRlMjY4MmVkMTI3MTA0OTE5OTkyYjdiNTc4NDBlMjU3M2MyMTExZTg3MzEiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9pbnN0YWxsLm1kIiwKICAgICAgICAiZGlnZXN0IjogImZkMGY2NDcxYWZhOTMzM2M1OGM2NGRmMjBlYzQ4MjVkNDc2NzBmM2EyMGE3YzgzNjM3OTY4YmU4Y2NiOTZmZmYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy9wYXR0ZXJuLW92ZXJ2aWV3Lm1kIiwKICAgICAgICAiZGlnZXN0IjogImJjNjBiYWIwODU4MjdhOTM1MzJiNzMxZDVmZjRhNWI4NzJmMTg4ZDJmMGMyZGEyZDVmNzQ1YTI1YTczMjllNjciCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAicmVmZXJlbmNlcy91c2UubWQiLAogICAgICAgICJkaWdlc3QiOiAiYTQ0Zjg2YjAxNzEwYjJmZTM4MzQ1NmNhNTAxM2I2YzBkNmY5ZmY5MzI3YzBhZTJhOGQ3ZGU0OTQ2NjQwNjU3YiIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJza2lsbC1jYXJkLm1kIiwKICAgICAgICAiZGlnZXN0IjogImQ0ODViZDI4Y2E5YzAyNDY2YThmYjRkYWU0NDVlNDc5ZmIxNTc0NzAxYWIzMDIyNWIzNmNiZDBlNjQwZWQ1NWUiCiAgICAgIH0KICAgIF0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGMCMFszYFlPCwv+AxIKcLYziEtecK64EV3EUKXzDEPw04qvCywUzqKLBY0+oVQmlEna9QIvXVBCEWGiFocsmtSZRmitBjeBthM2vlWt82XdJMBK9IqguucBHKnKrygdZrapfBw=","keyid":""}]}}Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
The author says: 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 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 + doca_verbs_*.h family) are the authoritative symbol surface per headers-win-over-docs.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- NVIDIA
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/doca-verbs · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download doca-verbs.zip