[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-doca-aes-gcm":3,"mdc--vu2d80-key":31,"related-org-nvidia-doca-aes-gcm":1447,"related-repo-nvidia-doca-aes-gcm":1608},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":20,"repoUrl":21,"updatedAt":22,"license":23,"forks":24,"topics":25,"repo":26,"sourceUrl":29,"mdContent":30},"doca-aes-gcm","configure DOCA AES-GCM encryption tasks","Use this skill when the user is doing hands-on DOCA AES-GCM work on a BlueField DPU or ConnectX NIC — configuring `doca_aes_gcm_task_encrypt` \u002F `_task_decrypt`, querying `doca_aes_gcm_cap_*` for per-key-type (only `DOCA_AES_GCM_KEY_128` \u002F `_256` — AES-192 not supported) and per-task support, sizing plaintext against the max-buf cap, setting source \u002F destination mmap permissions, validating with a NIST GCMVS or RFC 5288 vector, or debugging DOCA_ERROR_* including the security-critical tag-verification-failed outcome on decrypt. Trigger even when the user does not explicitly mention \"DOCA AES-GCM\" or \"AEAD\" — typical implicit phrasings: \"decrypt completion IO_FAILED\", \"auth tag isn't verifying\", \"NOT_PERMITTED on my encrypt buffer\", \"is AES-192-GCM on this BlueField\" (no), or \"encrypted record came back tampered\". Refuse and route elsewhere for non-GCM AES modes (CBC \u002F CTR \u002F XTS — CPU OpenSSL), key management (KMS \u002F HSM \u002F rotation), SHA (doca-sha), or general AEAD background.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19],{"name":13,"slug":14,"type":15},"Security","security","tag",{"name":17,"slug":18,"type":15},"Cryptography","cryptography",{"name":9,"slug":8,"type":15},2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-20T06:24:13.268151","Apache-2.0",281,[],{"repoUrl":21,"stars":20,"forks":24,"topics":27,"description":28},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fdoca-aes-gcm","---\nlicense: Apache-2.0\nname: doca-aes-gcm\ndescription: >\n  Use this skill when the user is doing hands-on DOCA AES-GCM\n  work on a BlueField DPU or ConnectX NIC — configuring\n  `doca_aes_gcm_task_encrypt` \u002F `_task_decrypt`, querying\n  `doca_aes_gcm_cap_*` for per-key-type (only\n  `DOCA_AES_GCM_KEY_128` \u002F `_256` — AES-192 not supported) and\n  per-task support, sizing plaintext against the max-buf cap,\n  setting source \u002F destination mmap permissions, validating\n  with a NIST GCMVS or RFC 5288 vector, or debugging\n  DOCA_ERROR_* including the security-critical\n  tag-verification-failed outcome on decrypt. Trigger even\n  when the user does not explicitly mention \"DOCA AES-GCM\" or\n  \"AEAD\" — typical implicit phrasings: \"decrypt completion\n  IO_FAILED\", \"auth tag isn't verifying\",\n  \"NOT_PERMITTED on my encrypt buffer\", \"is AES-192-GCM on\n  this BlueField\" (no), or \"encrypted record came back\n  tampered\". Refuse and route elsewhere for non-GCM AES modes\n  (CBC \u002F CTR \u002F XTS — CPU OpenSSL), key management\n  (KMS \u002F HSM \u002F rotation), SHA (doca-sha), or general AEAD\n  background.\nmetadata:\n  kind: library\ncompatibility: >\n  Requires DOCA SDK installed at \u002Fopt\u002Fmellanox\u002Fdoca on Linux\n  (Ubuntu 22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU or\n  ConnectX NIC attached. Reads the local install via\n  `pkg-config doca-aes-gcm` and inspects\n  \u002Fopt\u002Fmellanox\u002Fdoca\u002F{lib,include,samples,applications}; the\n  accelerator must advertise the desired key type at runtime\n  via `doca_aes_gcm_cap_task_{encrypt,decrypt}_is_key_type_supported`\n  (only `DOCA_AES_GCM_KEY_128` \u002F `_256`; AES-192 unsupported).\n---\n\n# DOCA AES-GCM\n\n**Where to start:** This skill assumes DOCA is already installed and\nthe user is doing **hands-on AES-GCM-acceleration work** on a\nBlueField \u002F ConnectX \u002F host with DOCA. Open [`TASKS.md`](TASKS.md) if\nthe user wants to *do* something (configure \u002F build \u002F modify \u002F run \u002F\ntest \u002F debug); open [`CAPABILITIES.md`](CAPABILITIES.md) when the\nquestion is *what can DOCA AES-GCM express* on this version. If the\nuser has not installed DOCA yet, route to\n[`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) first. If the user is\nasking *\"should I even use the accelerator for this encryption?\"*,\nthe path-selection rule in\n[`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\nis the first stop. If the user is treating AES-GCM as a confidentiality-only\nprimitive (raw AES-CTR \u002F AES-CBC style), stop and read the AEAD note\nin [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)\nfirst — AES-GCM is authenticated encryption, and confusing the two is\nthe most expensive failure mode this skill exists to prevent.\n\n## Example questions this skill answers well\n\nThe CLASSES of DOCA AES-GCM questions this skill is built to answer,\neach with one worked example. The agent should treat the *class* as\nthe load-bearing piece — the worked example is a single instance.\n\n- **\"Should I offload this AES-GCM encryption to DOCA AES-GCM, or\n  just do it on the CPU with OpenSSL?\"** — worked example: *\"I am\n  encrypting 4 KiB TLS records at line rate; is doca-aes-gcm worth\n  the setup vs OpenSSL `EVP_aes_256_gcm` on the CPU?\"*. Answered by\n  the path-selection table in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  + the *\"when NOT to use doca-aes-gcm\"* bullets in\n  [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy).\n- **\"Does my device support the AES-GCM key size I want?\"** — worked\n  example: *\"is AES-256-GCM in the accelerator on this BlueField?\n  And while we're here, is AES-192-GCM available?\"* (Answer: the\n  library exposes only `DOCA_AES_GCM_KEY_128` \u002F `DOCA_AES_GCM_KEY_256`;\n  AES-192 is not in the enum and is not supported. For the two\n  real key types, gate on\n  `doca_aes_gcm_cap_task_encrypt_is_key_type_supported(devinfo, key_type)`\n  and the matching `_decrypt_is_key_type_supported`. AES-192 is\n  not available — route to a CPU library.) Answered by the\n  per-key-type capability queries and the per-task\n  `doca_aes_gcm_cap_task_*_is_supported` queries in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  + the discovery step in\n  [`TASKS.md ## configure`](TASKS.md#configure).\n- **\"How do I correctly decrypt an AES-GCM message and verify the\n  auth tag?\"** — worked example: *\"my `doca_aes_gcm_task_decrypt`\n  completion reports an error — is the plaintext output safe to\n  use?\"*. Answered by the auth-tag verification rule in\n  [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)\n  (*do not use the plaintext if the auth tag did not verify*) +\n  the decrypt completion-handling workflow in\n  [`TASKS.md ## test`](TASKS.md#test) and\n  [`TASKS.md ## debug`](TASKS.md#debug).\n- **\"What permissions does the source \u002F destination mmap need?\"** —\n  worked example: *\"my `doca_aes_gcm_task_encrypt` returns\n  `DOCA_ERROR_NOT_PERMITTED`\"*. Answered by the permission matrix\n  in [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)\n  + the mmap-set-permissions checklist in\n  [`TASKS.md ## test`](TASKS.md#test).\n- **\"Is this DOCA AES-GCM API available on my installed DOCA\n  version?\"** — worked example: *\"is AES-192-GCM in the DOCA I have\n  installed, on this device?\"*. Answered by the version-compatibility\n  overlay in\n  [`CAPABILITIES.md ## Version compatibility`](CAPABILITIES.md#version-compatibility),\n  which cross-links the canonical detection chain in\n  [`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) and adds the\n  AES-GCM-specific *\"discover key sizes via cap query\"* bullets.\n- **\"What does this `DOCA_ERROR_*` from an AES-GCM call mean and\n  which layer caused it?\"** — worked example: *\"`DOCA_ERROR_IO_FAILED`\n  on the decrypt completion — is this a hardware bug or a tag\n  mismatch?\"*. Answered by the AES-GCM overlay on the cross-library\n  taxonomy in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)\n  + the layered ladder in\n  [`TASKS.md ## debug`](TASKS.md#debug) that escalates to\n  [`doca-debug`](..\u002F..\u002Fdoca-debug\u002FSKILL.md).\n\n## Audience\n\nThis skill serves **external developers building applications that\nconsume the DOCA AES-GCM library** — i.e., users whose code calls\n`doca_aes_gcm_*` (directly in C\u002FC++, or through FFI\u002Fbindings from\nanother language) to offload AES-GCM authenticated encryption \u002F\ndecryption onto a BlueField DPU or ConnectX accelerator. It is *not*\nfor NVIDIA developers contributing to DOCA AES-GCM itself.\n\n**Language scope.** DOCA AES-GCM ships as a C library with\n`pkg-config` module name `doca-aes-gcm`. The shipped samples are\nwritten in C. C and C++ consumers are the canonical case and the\nworked examples in `TASKS.md` assume that path. Other-language\nconsumers (Rust, Go, Python, …) consume the same `*.so` through FFI\nor language-specific bindings; the skill's contribution in that case\nis to keep the lifecycle, capability-discovery, permission,\nerror-taxonomy, AEAD-semantics, and encrypt-vs-decrypt guidance\nlanguage-neutral, and to route the agent to the public C ABI as the\nauthoritative surface that any wrapper will eventually call.\n\n**Key handling is out of scope.** This skill teaches the agent how to\n*use* the DOCA AES-GCM library; it does not teach the user how to\ngenerate, store, rotate, or distribute AES-GCM keys. Key-management\nis the user's responsibility (a KMS, an HSM, a sealed file, an env\nvar the user trusts). The skill's only key-handling rule is the\noperational one in\n[`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy):\ndo not log keys, do not commit them to source, and treat any key\nbuffer the program holds as sensitive memory.\n\n## When to load this skill\n\nLoad this skill when the user is doing hands-on DOCA AES-GCM work,\nin any language. Concretely:\n\n- Initializing a `doca_aes_gcm` context on a `doca_dev` and\n  configuring at least one task type (`doca_aes_gcm_task_encrypt`\n  and\u002For `doca_aes_gcm_task_decrypt`) before `doca_ctx_start()`.\n- Choosing between **encrypt** (`doca_aes_gcm_task_encrypt` —\n  takes key + IV + AAD + plaintext, produces ciphertext + auth\n  tag) and **decrypt** (`doca_aes_gcm_task_decrypt` — takes key +\n  IV + AAD + ciphertext + expected auth tag, produces plaintext\n  *and verifies the tag*) for the user's data shape.\n- Setting permissions on `doca_mmap` correctly for the source buffer\n  (`DOCA_ACCESS_FLAG_LOCAL_READ_ONLY` at minimum — the plaintext on\n  encrypt or the ciphertext on decrypt) and the destination buffer\n  (`DOCA_ACCESS_FLAG_LOCAL_READ_WRITE`).\n- Checking which AES-GCM key types (`DOCA_AES_GCM_KEY_128` \u002F\n  `DOCA_AES_GCM_KEY_256` — AES-192 is not in the library) the\n  active device's accelerator advertises via\n  `doca_aes_gcm_cap_task_encrypt_is_key_type_supported` \u002F\n  `doca_aes_gcm_cap_task_decrypt_is_key_type_supported`, and which task types via\n  `doca_aes_gcm_cap_task_encrypt_is_supported` \u002F\n  `_task_decrypt_is_supported`.\n- Sizing the per-submission plaintext against\n  `doca_aes_gcm_cap_task_encrypt_get_max_buf_size(devinfo)`.\n- Validating an encrypt + decrypt round-trip against a published\n  AES-GCM test vector (NIST GCMVS, or RFC 5288 examples) before\n  pushing any user data through the accelerator.\n- Handling the auth-tag verification result on decrypt completions\n  *as a security-critical signal* — a tag-mismatch completion means\n  the ciphertext was tampered with or corrupted, and the plaintext\n  output of that task is poisoned and must not be consumed.\n- Debugging a `DOCA_ERROR_*` returned from an AES-GCM call\n  (lifecycle vs. unsupported key size vs. permission vs. tag\n  verification failure on decrypt) and the task-completion event on\n  the progress engine.\n- Designing or extending non-C bindings (Rust, Go, Python, …) that\n  wrap the AES-GCM C ABI — for the lifecycle, permission,\n  capability, AEAD-semantics, and encrypt-vs-decrypt rules the\n  wrapper must honor.\n\nDo **not** load this skill for general DOCA orientation, install of\nDOCA itself, AES modes that are not GCM (CBC \u002F CTR \u002F XTS — those are\nnot in this library and CPU + OpenSSL is the right answer), SHA\nhashing on the same accelerator family (use\n[`doca-sha`](..\u002Fdoca-sha\u002FSKILL.md)), or other DOCA libraries. For\nthose, use\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md).\n\n## What this skill provides\n\nThis is a **thin loader**. The body keeps only the orientation\nneeded to pick the right next file. The substantive AES-GCM-specific\nmaterial lives in two companion files:\n\n- `CAPABILITIES.md` — what DOCA AES-GCM can express on this version:\n  the two task types (encrypt and decrypt), the AEAD output shape\n  (ciphertext + auth tag on encrypt; verified plaintext on decrypt),\n  the AES-GCM key-type surface (only 128-bit and 256-bit — AES-192\n  is not in the enum, both cap-queried), the capability-query\n  surface (`doca_aes_gcm_cap_*` for task presence, key-type\n  support, and buffer sizing), the\n  AES-GCM error taxonomy (mapped onto the cross-library\n  `DOCA_ERROR_*` set, with explicit treatment of the\n  tag-verification-failure outcome as security-critical), the\n  observability surface (per-task completion events on the progress\n  engine), the safety policy that gates source \u002F destination mmap\n  permission decisions and key-handling cautions, and the\n  path-selection rule (when to use doca-aes-gcm versus CPU OpenSSL\n  or a different DOCA crypto library).\n- `TASKS.md` — step-by-step workflows for the six in-scope AES-GCM\n  verbs: `configure`, `build`, `modify`, `run`, `test`, `debug`.\n  Plus a `Deferred task verbs` block that points out-of-scope\n  questions at the right next skill.\n\nThe skill assumes a host or BlueField where DOCA is already\ninstalled at the standard location and the user has the privileges\ntheir public install profile expects. It does not cover installing\nDOCA — that path goes through\n[`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md).\n\n## What this skill deliberately does not ship\n\nThis skill is **agent guidance**, not a samples or templates\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:\n\n- **Pre-written DOCA AES-GCM application source code, in any\n  language.** The verified AES-GCM source code is the shipped C\n  samples at `\u002Fopt\u002Fmellanox\u002Fdoca\u002Fsamples\u002Fdoca_aes_gcm\u002F`. The agent's\n  job is to route the user to those files and prescribe a\n  minimum-diff modification on them via the universal\n  modify-a-sample workflow in\n  [`doca-programming-guide`](..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md),\n  layered with the AES-GCM-specific overrides in\n  [`TASKS.md ## modify`](TASKS.md#modify).\n- **Pre-computed AES-GCM test vectors.** The skill tells the agent\n  to use a *published* test vector (e.g. NIST GCMVS, RFC 5288\n  AES-GCM examples) as the known-vector smoke; it does not ship a\n  vector bank of its own. The agent must cite the vector source so\n  the user can audit it.\n- **Pre-baked AES-GCM keys, IVs, or AAD strings.** A key in this\n  repo is a key in every customer's repo — by construction, it must\n  not be there. The skill teaches the *shape* of the inputs; the\n  user supplies the actual bytes from their own key-management\n  system.\n- **Standalone build manifests** (`meson.build`, `CMakeLists.txt`,\n  `Cargo.toml`, …) parked inside the skill. The agent constructs\n  the build manifest *in the user's project directory* against the\n  user's installed DOCA, where `pkg-config --modversion\n  doca-aes-gcm` is the source of truth.\n- **A `samples\u002F`, `bindings\u002F`, or `reference\u002F` subtree** of any\n  kind. A mock or incomplete artifact in this skill's tree, even\n  one labeled \"reference\", is misleading: users will read it as\n  buildable.\n\n## Loading order\n\n1. Read this `SKILL.md` first to confirm the user's question is in\n   scope.\n2. **For the AES-GCM capability matrix, task types, key-size\n   surface, capability-query rules, permission matrix, AEAD\n   semantics, error taxonomy, observability, and safety \u002F\n   path-selection policy, see [CAPABILITIES.md](CAPABILITIES.md).**\n3. **For step-by-step workflows — configure, build, modify, run,\n   test, debug — see [TASKS.md](TASKS.md).**\n\nBoth companion files cross-link to each other,\n[`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) for the canonical\nversion-handling rules, and\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)\nwhenever the right answer is \"look it up in the public docs or the\ninstalled package layout\" rather than \"AES-GCM-specific guidance\".\n\n## Related skills\n\n- [`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md) —\n  the routing table for every public DOCA documentation source and\n  the on-disk layout of an installed DOCA package. The DOCA AES-GCM\n  page lives at `docs.nvidia.com\u002Fdoca\u002Fsdk\u002FDOCA-AES-GCM\u002F`; it is a\n  member of the DOCA Crypto Acceleration family alongside\n  [`doca-sha`](..\u002Fdoca-sha\u002FSKILL.md).\n- [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) — env preparation,\n  install verification, and the *I have no install yet* path with\n  the public NGC DOCA container. This skill assumes its\n  preconditions are satisfied.\n- [`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) — canonical DOCA\n  version-handling rules. This skill's\n  [`## Version compatibility`](CAPABILITIES.md#version-compatibility)\n  cross-links the four-way match rule and adds only the\n  AES-GCM-specific *\"discover key sizes + task presence via cap\n  query\"* overlay.\n- [`doca-structured-tools-contract`](..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md) —\n  the bundle's structured-tools precedence rule (detect \u002F prefer \u002F\n  fall back \u002F report). The Command appendix in\n  [TASKS.md](TASKS.md) honors this contract.\n- [`doca-programming-guide`](..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md) —\n  general DOCA programming patterns shared by every library: the\n  canonical `pkg-config` + meson build pattern, the universal\n  modify-a-shipped-sample first-app workflow, the universal\n  lifecycle, the cross-library `DOCA_ERROR_*` taxonomy, and the\n  program-side debug order. This skill layers AES-GCM specifics on\n  top.\n- [`doca-sha`](..\u002Fdoca-sha\u002FSKILL.md) — the sibling library in the\n  DOCA Crypto Acceleration family for hardware-accelerated SHA\n  hashing. Load alongside this skill when the user's flow is\n  authenticated-encryption *with a separate keyed hash* (rare —\n  AES-GCM already provides authentication via its tag) or when the\n  user is comparing offload paths between the two.\n- [`doca-debug`](..\u002F..\u002Fdoca-debug\u002FSKILL.md) — the cross-cutting\n  debug ladder (install \u002F version \u002F build \u002F link \u002F runtime \u002F\n  program \u002F driver). AES-GCM-specific debug (key-size-not-supported,\n  oversized input, tag-verification failure on decrypt) overlays on\n  top of that ladder.\n",{"data":32,"body":36},{"license":23,"name":4,"description":6,"metadata":33,"compatibility":35},{"kind":34},"library","Requires DOCA SDK installed at \u002Fopt\u002Fmellanox\u002Fdoca on Linux (Ubuntu 22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU or ConnectX NIC attached. Reads the local install via `pkg-config doca-aes-gcm` and inspects \u002Fopt\u002Fmellanox\u002Fdoca\u002F{lib,include,samples,applications}; the accelerator must advertise the desired key type at runtime via `doca_aes_gcm_cap_task_{encrypt,decrypt}_is_key_type_supported` (only `DOCA_AES_GCM_KEY_128` \u002F `_256`; AES-192 unsupported).\n",{"type":37,"children":38},"root",[39,47,148,155,167,552,558,585,625,652,658,663,870,904,910,922,1012,1026,1032,1044,1202,1208,1251,1276,1282],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","DOCA AES-GCM",{"type":40,"tag":48,"props":49,"children":50},"p",{},[51,57,59,64,66,77,79,85,87,96,98,103,105,115,117,122,124,134,136,146],{"type":40,"tag":52,"props":53,"children":54},"strong",{},[55],{"type":45,"value":56},"Where to start:",{"type":45,"value":58}," This skill assumes DOCA is already installed and\nthe user is doing ",{"type":40,"tag":52,"props":60,"children":61},{},[62],{"type":45,"value":63},"hands-on AES-GCM-acceleration work",{"type":45,"value":65}," on a\nBlueField \u002F ConnectX \u002F host with DOCA. Open ",{"type":40,"tag":67,"props":68,"children":70},"a",{"href":69},"TASKS.md",[71],{"type":40,"tag":72,"props":73,"children":75},"code",{"className":74},[],[76],{"type":45,"value":69},{"type":45,"value":78}," if\nthe user wants to ",{"type":40,"tag":80,"props":81,"children":82},"em",{},[83],{"type":45,"value":84},"do",{"type":45,"value":86}," something (configure \u002F build \u002F modify \u002F run \u002F\ntest \u002F debug); open ",{"type":40,"tag":67,"props":88,"children":90},{"href":89},"CAPABILITIES.md",[91],{"type":40,"tag":72,"props":92,"children":94},{"className":93},[],[95],{"type":45,"value":89},{"type":45,"value":97}," when the\nquestion is ",{"type":40,"tag":80,"props":99,"children":100},{},[101],{"type":45,"value":102},"what can DOCA AES-GCM express",{"type":45,"value":104}," on this version. If the\nuser has not installed DOCA yet, route to\n",{"type":40,"tag":67,"props":106,"children":108},{"href":107},"..\u002F..\u002Fdoca-setup\u002FSKILL.md",[109],{"type":40,"tag":72,"props":110,"children":112},{"className":111},[],[113],{"type":45,"value":114},"doca-setup",{"type":45,"value":116}," first. If the user is\nasking ",{"type":40,"tag":80,"props":118,"children":119},{},[120],{"type":45,"value":121},"\"should I even use the accelerator for this encryption?\"",{"type":45,"value":123},",\nthe path-selection rule in\n",{"type":40,"tag":67,"props":125,"children":127},{"href":126},"CAPABILITIES.md#capabilities-and-modes",[128],{"type":40,"tag":72,"props":129,"children":131},{"className":130},[],[132],{"type":45,"value":133},"CAPABILITIES.md ## Capabilities and modes",{"type":45,"value":135},"\nis the first stop. If the user is treating AES-GCM as a confidentiality-only\nprimitive (raw AES-CTR \u002F AES-CBC style), stop and read the AEAD note\nin ",{"type":40,"tag":67,"props":137,"children":139},{"href":138},"CAPABILITIES.md#safety-policy",[140],{"type":40,"tag":72,"props":141,"children":143},{"className":142},[],[144],{"type":45,"value":145},"CAPABILITIES.md ## Safety policy",{"type":45,"value":147},"\nfirst — AES-GCM is authenticated encryption, and confusing the two is\nthe most expensive failure mode this skill exists to prevent.",{"type":40,"tag":149,"props":150,"children":152},"h2",{"id":151},"example-questions-this-skill-answers-well",[153],{"type":45,"value":154},"Example questions this skill answers well",{"type":40,"tag":48,"props":156,"children":157},{},[158,160,165],{"type":45,"value":159},"The CLASSES of DOCA AES-GCM questions this skill is built to answer,\neach with one worked example. The agent should treat the ",{"type":40,"tag":80,"props":161,"children":162},{},[163],{"type":45,"value":164},"class",{"type":45,"value":166}," as\nthe load-bearing piece — the worked example is a single instance.",{"type":40,"tag":168,"props":169,"children":170},"ul",{},[171,230,314,378,435,482],{"type":40,"tag":172,"props":173,"children":174},"li",{},[175,180,182,195,197,205],{"type":40,"tag":52,"props":176,"children":177},{},[178],{"type":45,"value":179},"\"Should I offload this AES-GCM encryption to DOCA AES-GCM, or\njust do it on the CPU with OpenSSL?\"",{"type":45,"value":181}," — worked example: ",{"type":40,"tag":80,"props":183,"children":184},{},[185,187,193],{"type":45,"value":186},"\"I am\nencrypting 4 KiB TLS records at line rate; is doca-aes-gcm worth\nthe setup vs OpenSSL ",{"type":40,"tag":72,"props":188,"children":190},{"className":189},[],[191],{"type":45,"value":192},"EVP_aes_256_gcm",{"type":45,"value":194}," on the CPU?\"",{"type":45,"value":196},". Answered by\nthe path-selection table in\n",{"type":40,"tag":67,"props":198,"children":199},{"href":126},[200],{"type":40,"tag":72,"props":201,"children":203},{"className":202},[],[204],{"type":45,"value":133},{"type":40,"tag":168,"props":206,"children":207},{},[208],{"type":40,"tag":172,"props":209,"children":210},{},[211,213,218,220,228],{"type":45,"value":212},"the ",{"type":40,"tag":80,"props":214,"children":215},{},[216],{"type":45,"value":217},"\"when NOT to use doca-aes-gcm\"",{"type":45,"value":219}," bullets in\n",{"type":40,"tag":67,"props":221,"children":222},{"href":138},[223],{"type":40,"tag":72,"props":224,"children":226},{"className":225},[],[227],{"type":45,"value":145},{"type":45,"value":229},".",{"type":40,"tag":172,"props":231,"children":232},{},[233,238,240,245,247,253,255,261,263,269,271,277,279,285,287,295],{"type":40,"tag":52,"props":234,"children":235},{},[236],{"type":45,"value":237},"\"Does my device support the AES-GCM key size I want?\"",{"type":45,"value":239}," — worked\nexample: ",{"type":40,"tag":80,"props":241,"children":242},{},[243],{"type":45,"value":244},"\"is AES-256-GCM in the accelerator on this BlueField?\nAnd while we're here, is AES-192-GCM available?\"",{"type":45,"value":246}," (Answer: the\nlibrary exposes only ",{"type":40,"tag":72,"props":248,"children":250},{"className":249},[],[251],{"type":45,"value":252},"DOCA_AES_GCM_KEY_128",{"type":45,"value":254}," \u002F ",{"type":40,"tag":72,"props":256,"children":258},{"className":257},[],[259],{"type":45,"value":260},"DOCA_AES_GCM_KEY_256",{"type":45,"value":262},";\nAES-192 is not in the enum and is not supported. For the two\nreal key types, gate on\n",{"type":40,"tag":72,"props":264,"children":266},{"className":265},[],[267],{"type":45,"value":268},"doca_aes_gcm_cap_task_encrypt_is_key_type_supported(devinfo, key_type)",{"type":45,"value":270},"\nand the matching ",{"type":40,"tag":72,"props":272,"children":274},{"className":273},[],[275],{"type":45,"value":276},"_decrypt_is_key_type_supported",{"type":45,"value":278},". AES-192 is\nnot available — route to a CPU library.) Answered by the\nper-key-type capability queries and the per-task\n",{"type":40,"tag":72,"props":280,"children":282},{"className":281},[],[283],{"type":45,"value":284},"doca_aes_gcm_cap_task_*_is_supported",{"type":45,"value":286}," queries in\n",{"type":40,"tag":67,"props":288,"children":289},{"href":126},[290],{"type":40,"tag":72,"props":291,"children":293},{"className":292},[],[294],{"type":45,"value":133},{"type":40,"tag":168,"props":296,"children":297},{},[298],{"type":40,"tag":172,"props":299,"children":300},{},[301,303,313],{"type":45,"value":302},"the discovery step in\n",{"type":40,"tag":67,"props":304,"children":306},{"href":305},"TASKS.md#configure",[307],{"type":40,"tag":72,"props":308,"children":310},{"className":309},[],[311],{"type":45,"value":312},"TASKS.md ## configure",{"type":45,"value":229},{"type":40,"tag":172,"props":315,"children":316},{},[317,322,323,336,338,346,348,353,355,365,367,377],{"type":40,"tag":52,"props":318,"children":319},{},[320],{"type":45,"value":321},"\"How do I correctly decrypt an AES-GCM message and verify the\nauth tag?\"",{"type":45,"value":181},{"type":40,"tag":80,"props":324,"children":325},{},[326,328,334],{"type":45,"value":327},"\"my ",{"type":40,"tag":72,"props":329,"children":331},{"className":330},[],[332],{"type":45,"value":333},"doca_aes_gcm_task_decrypt",{"type":45,"value":335},"\ncompletion reports an error — is the plaintext output safe to\nuse?\"",{"type":45,"value":337},". Answered by the auth-tag verification rule in\n",{"type":40,"tag":67,"props":339,"children":340},{"href":138},[341],{"type":40,"tag":72,"props":342,"children":344},{"className":343},[],[345],{"type":45,"value":145},{"type":45,"value":347},"\n(",{"type":40,"tag":80,"props":349,"children":350},{},[351],{"type":45,"value":352},"do not use the plaintext if the auth tag did not verify",{"type":45,"value":354},") +\nthe decrypt completion-handling workflow in\n",{"type":40,"tag":67,"props":356,"children":358},{"href":357},"TASKS.md#test",[359],{"type":40,"tag":72,"props":360,"children":362},{"className":361},[],[363],{"type":45,"value":364},"TASKS.md ## test",{"type":45,"value":366}," and\n",{"type":40,"tag":67,"props":368,"children":370},{"href":369},"TASKS.md#debug",[371],{"type":40,"tag":72,"props":372,"children":374},{"className":373},[],[375],{"type":45,"value":376},"TASKS.md ## debug",{"type":45,"value":229},{"type":40,"tag":172,"props":379,"children":380},{},[381,386,388,408,410,418],{"type":40,"tag":52,"props":382,"children":383},{},[384],{"type":45,"value":385},"\"What permissions does the source \u002F destination mmap need?\"",{"type":45,"value":387}," —\nworked example: ",{"type":40,"tag":80,"props":389,"children":390},{},[391,392,398,400,406],{"type":45,"value":327},{"type":40,"tag":72,"props":393,"children":395},{"className":394},[],[396],{"type":45,"value":397},"doca_aes_gcm_task_encrypt",{"type":45,"value":399}," returns\n",{"type":40,"tag":72,"props":401,"children":403},{"className":402},[],[404],{"type":45,"value":405},"DOCA_ERROR_NOT_PERMITTED",{"type":45,"value":407},"\"",{"type":45,"value":409},". Answered by the permission matrix\nin ",{"type":40,"tag":67,"props":411,"children":412},{"href":138},[413],{"type":40,"tag":72,"props":414,"children":416},{"className":415},[],[417],{"type":45,"value":145},{"type":40,"tag":168,"props":419,"children":420},{},[421],{"type":40,"tag":172,"props":422,"children":423},{},[424,426,434],{"type":45,"value":425},"the mmap-set-permissions checklist in\n",{"type":40,"tag":67,"props":427,"children":428},{"href":357},[429],{"type":40,"tag":72,"props":430,"children":432},{"className":431},[],[433],{"type":45,"value":364},{"type":45,"value":229},{"type":40,"tag":172,"props":436,"children":437},{},[438,443,444,449,451,461,463,473,475,480],{"type":40,"tag":52,"props":439,"children":440},{},[441],{"type":45,"value":442},"\"Is this DOCA AES-GCM API available on my installed DOCA\nversion?\"",{"type":45,"value":181},{"type":40,"tag":80,"props":445,"children":446},{},[447],{"type":45,"value":448},"\"is AES-192-GCM in the DOCA I have\ninstalled, on this device?\"",{"type":45,"value":450},". Answered by the version-compatibility\noverlay in\n",{"type":40,"tag":67,"props":452,"children":454},{"href":453},"CAPABILITIES.md#version-compatibility",[455],{"type":40,"tag":72,"props":456,"children":458},{"className":457},[],[459],{"type":45,"value":460},"CAPABILITIES.md ## Version compatibility",{"type":45,"value":462},",\nwhich cross-links the canonical detection chain in\n",{"type":40,"tag":67,"props":464,"children":466},{"href":465},"..\u002F..\u002Fdoca-version\u002FSKILL.md",[467],{"type":40,"tag":72,"props":468,"children":470},{"className":469},[],[471],{"type":45,"value":472},"doca-version",{"type":45,"value":474}," and adds the\nAES-GCM-specific ",{"type":40,"tag":80,"props":476,"children":477},{},[478],{"type":45,"value":479},"\"discover key sizes via cap query\"",{"type":45,"value":481}," bullets.",{"type":40,"tag":172,"props":483,"children":484},{},[485,498,499,511,513,523],{"type":40,"tag":52,"props":486,"children":487},{},[488,490,496],{"type":45,"value":489},"\"What does this ",{"type":40,"tag":72,"props":491,"children":493},{"className":492},[],[494],{"type":45,"value":495},"DOCA_ERROR_*",{"type":45,"value":497}," from an AES-GCM call mean and\nwhich layer caused it?\"",{"type":45,"value":181},{"type":40,"tag":80,"props":500,"children":501},{},[502,503,509],{"type":45,"value":407},{"type":40,"tag":72,"props":504,"children":506},{"className":505},[],[507],{"type":45,"value":508},"DOCA_ERROR_IO_FAILED",{"type":45,"value":510},"\non the decrypt completion — is this a hardware bug or a tag\nmismatch?\"",{"type":45,"value":512},". Answered by the AES-GCM overlay on the cross-library\ntaxonomy in\n",{"type":40,"tag":67,"props":514,"children":516},{"href":515},"CAPABILITIES.md#error-taxonomy",[517],{"type":40,"tag":72,"props":518,"children":520},{"className":519},[],[521],{"type":45,"value":522},"CAPABILITIES.md ## Error taxonomy",{"type":40,"tag":168,"props":524,"children":525},{},[526],{"type":40,"tag":172,"props":527,"children":528},{},[529,531,539,541,551],{"type":45,"value":530},"the layered ladder in\n",{"type":40,"tag":67,"props":532,"children":533},{"href":369},[534],{"type":40,"tag":72,"props":535,"children":537},{"className":536},[],[538],{"type":45,"value":376},{"type":45,"value":540}," that escalates to\n",{"type":40,"tag":67,"props":542,"children":544},{"href":543},"..\u002F..\u002Fdoca-debug\u002FSKILL.md",[545],{"type":40,"tag":72,"props":546,"children":548},{"className":547},[],[549],{"type":45,"value":550},"doca-debug",{"type":45,"value":229},{"type":40,"tag":149,"props":553,"children":555},{"id":554},"audience",[556],{"type":45,"value":557},"Audience",{"type":40,"tag":48,"props":559,"children":560},{},[561,563,568,570,576,578,583],{"type":45,"value":562},"This skill serves ",{"type":40,"tag":52,"props":564,"children":565},{},[566],{"type":45,"value":567},"external developers building applications that\nconsume the DOCA AES-GCM library",{"type":45,"value":569}," — i.e., users whose code calls\n",{"type":40,"tag":72,"props":571,"children":573},{"className":572},[],[574],{"type":45,"value":575},"doca_aes_gcm_*",{"type":45,"value":577}," (directly in C\u002FC++, or through FFI\u002Fbindings from\nanother language) to offload AES-GCM authenticated encryption \u002F\ndecryption onto a BlueField DPU or ConnectX accelerator. It is ",{"type":40,"tag":80,"props":579,"children":580},{},[581],{"type":45,"value":582},"not",{"type":45,"value":584},"\nfor NVIDIA developers contributing to DOCA AES-GCM itself.",{"type":40,"tag":48,"props":586,"children":587},{},[588,593,595,601,603,608,610,615,617,623],{"type":40,"tag":52,"props":589,"children":590},{},[591],{"type":45,"value":592},"Language scope.",{"type":45,"value":594}," DOCA AES-GCM ships as a C library with\n",{"type":40,"tag":72,"props":596,"children":598},{"className":597},[],[599],{"type":45,"value":600},"pkg-config",{"type":45,"value":602}," module name ",{"type":40,"tag":72,"props":604,"children":606},{"className":605},[],[607],{"type":45,"value":4},{"type":45,"value":609},". The shipped samples are\nwritten in C. C and C++ consumers are the canonical case and the\nworked examples in ",{"type":40,"tag":72,"props":611,"children":613},{"className":612},[],[614],{"type":45,"value":69},{"type":45,"value":616}," assume that path. Other-language\nconsumers (Rust, Go, Python, …) consume the same ",{"type":40,"tag":72,"props":618,"children":620},{"className":619},[],[621],{"type":45,"value":622},"*.so",{"type":45,"value":624}," through FFI\nor language-specific bindings; the skill's contribution in that case\nis to keep the lifecycle, capability-discovery, permission,\nerror-taxonomy, AEAD-semantics, and encrypt-vs-decrypt guidance\nlanguage-neutral, and to route the agent to the public C ABI as the\nauthoritative surface that any wrapper will eventually call.",{"type":40,"tag":48,"props":626,"children":627},{},[628,633,635,640,642,650],{"type":40,"tag":52,"props":629,"children":630},{},[631],{"type":45,"value":632},"Key handling is out of scope.",{"type":45,"value":634}," This skill teaches the agent how to\n",{"type":40,"tag":80,"props":636,"children":637},{},[638],{"type":45,"value":639},"use",{"type":45,"value":641}," the DOCA AES-GCM library; it does not teach the user how to\ngenerate, store, rotate, or distribute AES-GCM keys. Key-management\nis the user's responsibility (a KMS, an HSM, a sealed file, an env\nvar the user trusts). The skill's only key-handling rule is the\noperational one in\n",{"type":40,"tag":67,"props":643,"children":644},{"href":138},[645],{"type":40,"tag":72,"props":646,"children":648},{"className":647},[],[649],{"type":45,"value":145},{"type":45,"value":651},":\ndo not log keys, do not commit them to source, and treat any key\nbuffer the program holds as sensitive memory.",{"type":40,"tag":149,"props":653,"children":655},{"id":654},"when-to-load-this-skill",[656],{"type":45,"value":657},"When to load this skill",{"type":40,"tag":48,"props":659,"children":660},{},[661],{"type":45,"value":662},"Load this skill when the user is doing hands-on DOCA AES-GCM work,\nin any language. Concretely:",{"type":40,"tag":168,"props":664,"children":665},{},[666,708,747,776,824,836,841,853,865],{"type":40,"tag":172,"props":667,"children":668},{},[669,671,677,679,685,687,692,694,699,701,707],{"type":45,"value":670},"Initializing a ",{"type":40,"tag":72,"props":672,"children":674},{"className":673},[],[675],{"type":45,"value":676},"doca_aes_gcm",{"type":45,"value":678}," context on a ",{"type":40,"tag":72,"props":680,"children":682},{"className":681},[],[683],{"type":45,"value":684},"doca_dev",{"type":45,"value":686}," and\nconfiguring at least one task type (",{"type":40,"tag":72,"props":688,"children":690},{"className":689},[],[691],{"type":45,"value":397},{"type":45,"value":693},"\nand\u002For ",{"type":40,"tag":72,"props":695,"children":697},{"className":696},[],[698],{"type":45,"value":333},{"type":45,"value":700},") before ",{"type":40,"tag":72,"props":702,"children":704},{"className":703},[],[705],{"type":45,"value":706},"doca_ctx_start()",{"type":45,"value":229},{"type":40,"tag":172,"props":709,"children":710},{},[711,713,718,720,725,727,732,733,738,740,745],{"type":45,"value":712},"Choosing between ",{"type":40,"tag":52,"props":714,"children":715},{},[716],{"type":45,"value":717},"encrypt",{"type":45,"value":719}," (",{"type":40,"tag":72,"props":721,"children":723},{"className":722},[],[724],{"type":45,"value":397},{"type":45,"value":726}," —\ntakes key + IV + AAD + plaintext, produces ciphertext + auth\ntag) and ",{"type":40,"tag":52,"props":728,"children":729},{},[730],{"type":45,"value":731},"decrypt",{"type":45,"value":719},{"type":40,"tag":72,"props":734,"children":736},{"className":735},[],[737],{"type":45,"value":333},{"type":45,"value":739}," — takes key +\nIV + AAD + ciphertext + expected auth tag, produces plaintext\n",{"type":40,"tag":80,"props":741,"children":742},{},[743],{"type":45,"value":744},"and verifies the tag",{"type":45,"value":746},") for the user's data shape.",{"type":40,"tag":172,"props":748,"children":749},{},[750,752,758,760,766,768,774],{"type":45,"value":751},"Setting permissions on ",{"type":40,"tag":72,"props":753,"children":755},{"className":754},[],[756],{"type":45,"value":757},"doca_mmap",{"type":45,"value":759}," correctly for the source buffer\n(",{"type":40,"tag":72,"props":761,"children":763},{"className":762},[],[764],{"type":45,"value":765},"DOCA_ACCESS_FLAG_LOCAL_READ_ONLY",{"type":45,"value":767}," at minimum — the plaintext on\nencrypt or the ciphertext on decrypt) and the destination buffer\n(",{"type":40,"tag":72,"props":769,"children":771},{"className":770},[],[772],{"type":45,"value":773},"DOCA_ACCESS_FLAG_LOCAL_READ_WRITE",{"type":45,"value":775},").",{"type":40,"tag":172,"props":777,"children":778},{},[779,781,786,788,793,795,801,802,808,810,816,817,823],{"type":45,"value":780},"Checking which AES-GCM key types (",{"type":40,"tag":72,"props":782,"children":784},{"className":783},[],[785],{"type":45,"value":252},{"type":45,"value":787}," \u002F\n",{"type":40,"tag":72,"props":789,"children":791},{"className":790},[],[792],{"type":45,"value":260},{"type":45,"value":794}," — AES-192 is not in the library) the\nactive device's accelerator advertises via\n",{"type":40,"tag":72,"props":796,"children":798},{"className":797},[],[799],{"type":45,"value":800},"doca_aes_gcm_cap_task_encrypt_is_key_type_supported",{"type":45,"value":787},{"type":40,"tag":72,"props":803,"children":805},{"className":804},[],[806],{"type":45,"value":807},"doca_aes_gcm_cap_task_decrypt_is_key_type_supported",{"type":45,"value":809},", and which task types via\n",{"type":40,"tag":72,"props":811,"children":813},{"className":812},[],[814],{"type":45,"value":815},"doca_aes_gcm_cap_task_encrypt_is_supported",{"type":45,"value":787},{"type":40,"tag":72,"props":818,"children":820},{"className":819},[],[821],{"type":45,"value":822},"_task_decrypt_is_supported",{"type":45,"value":229},{"type":40,"tag":172,"props":825,"children":826},{},[827,829,835],{"type":45,"value":828},"Sizing the per-submission plaintext against\n",{"type":40,"tag":72,"props":830,"children":832},{"className":831},[],[833],{"type":45,"value":834},"doca_aes_gcm_cap_task_encrypt_get_max_buf_size(devinfo)",{"type":45,"value":229},{"type":40,"tag":172,"props":837,"children":838},{},[839],{"type":45,"value":840},"Validating an encrypt + decrypt round-trip against a published\nAES-GCM test vector (NIST GCMVS, or RFC 5288 examples) before\npushing any user data through the accelerator.",{"type":40,"tag":172,"props":842,"children":843},{},[844,846,851],{"type":45,"value":845},"Handling the auth-tag verification result on decrypt completions\n",{"type":40,"tag":80,"props":847,"children":848},{},[849],{"type":45,"value":850},"as a security-critical signal",{"type":45,"value":852}," — a tag-mismatch completion means\nthe ciphertext was tampered with or corrupted, and the plaintext\noutput of that task is poisoned and must not be consumed.",{"type":40,"tag":172,"props":854,"children":855},{},[856,858,863],{"type":45,"value":857},"Debugging a ",{"type":40,"tag":72,"props":859,"children":861},{"className":860},[],[862],{"type":45,"value":495},{"type":45,"value":864}," returned from an AES-GCM call\n(lifecycle vs. unsupported key size vs. permission vs. tag\nverification failure on decrypt) and the task-completion event on\nthe progress engine.",{"type":40,"tag":172,"props":866,"children":867},{},[868],{"type":45,"value":869},"Designing or extending non-C bindings (Rust, Go, Python, …) that\nwrap the AES-GCM C ABI — for the lifecycle, permission,\ncapability, AEAD-semantics, and encrypt-vs-decrypt rules the\nwrapper must honor.",{"type":40,"tag":48,"props":871,"children":872},{},[873,875,879,881,891,893,903],{"type":45,"value":874},"Do ",{"type":40,"tag":52,"props":876,"children":877},{},[878],{"type":45,"value":582},{"type":45,"value":880}," load this skill for general DOCA orientation, install of\nDOCA itself, AES modes that are not GCM (CBC \u002F CTR \u002F XTS — those are\nnot in this library and CPU + OpenSSL is the right answer), SHA\nhashing on the same accelerator family (use\n",{"type":40,"tag":67,"props":882,"children":884},{"href":883},"..\u002Fdoca-sha\u002FSKILL.md",[885],{"type":40,"tag":72,"props":886,"children":888},{"className":887},[],[889],{"type":45,"value":890},"doca-sha",{"type":45,"value":892},"), or other DOCA libraries. For\nthose, use\n",{"type":40,"tag":67,"props":894,"children":896},{"href":895},"..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md",[897],{"type":40,"tag":72,"props":898,"children":900},{"className":899},[],[901],{"type":45,"value":902},"doca-public-knowledge-map",{"type":45,"value":229},{"type":40,"tag":149,"props":905,"children":907},{"id":906},"what-this-skill-provides",[908],{"type":45,"value":909},"What this skill provides",{"type":40,"tag":48,"props":911,"children":912},{},[913,915,920],{"type":45,"value":914},"This is a ",{"type":40,"tag":52,"props":916,"children":917},{},[918],{"type":45,"value":919},"thin loader",{"type":45,"value":921},". The body keeps only the orientation\nneeded to pick the right next file. The substantive AES-GCM-specific\nmaterial lives in two companion files:",{"type":40,"tag":168,"props":923,"children":924},{},[925,950],{"type":40,"tag":172,"props":926,"children":927},{},[928,933,935,941,943,948],{"type":40,"tag":72,"props":929,"children":931},{"className":930},[],[932],{"type":45,"value":89},{"type":45,"value":934}," — what DOCA AES-GCM can express on this version:\nthe two task types (encrypt and decrypt), the AEAD output shape\n(ciphertext + auth tag on encrypt; verified plaintext on decrypt),\nthe AES-GCM key-type surface (only 128-bit and 256-bit — AES-192\nis not in the enum, both cap-queried), the capability-query\nsurface (",{"type":40,"tag":72,"props":936,"children":938},{"className":937},[],[939],{"type":45,"value":940},"doca_aes_gcm_cap_*",{"type":45,"value":942}," for task presence, key-type\nsupport, and buffer sizing), the\nAES-GCM error taxonomy (mapped onto the cross-library\n",{"type":40,"tag":72,"props":944,"children":946},{"className":945},[],[947],{"type":45,"value":495},{"type":45,"value":949}," set, with explicit treatment of the\ntag-verification-failure outcome as security-critical), the\nobservability surface (per-task completion events on the progress\nengine), the safety policy that gates source \u002F destination mmap\npermission decisions and key-handling cautions, and the\npath-selection rule (when to use doca-aes-gcm versus CPU OpenSSL\nor a different DOCA crypto library).",{"type":40,"tag":172,"props":951,"children":952},{},[953,958,960,966,968,974,975,981,982,988,989,995,996,1002,1004,1010],{"type":40,"tag":72,"props":954,"children":956},{"className":955},[],[957],{"type":45,"value":69},{"type":45,"value":959}," — step-by-step workflows for the six in-scope AES-GCM\nverbs: ",{"type":40,"tag":72,"props":961,"children":963},{"className":962},[],[964],{"type":45,"value":965},"configure",{"type":45,"value":967},", ",{"type":40,"tag":72,"props":969,"children":971},{"className":970},[],[972],{"type":45,"value":973},"build",{"type":45,"value":967},{"type":40,"tag":72,"props":976,"children":978},{"className":977},[],[979],{"type":45,"value":980},"modify",{"type":45,"value":967},{"type":40,"tag":72,"props":983,"children":985},{"className":984},[],[986],{"type":45,"value":987},"run",{"type":45,"value":967},{"type":40,"tag":72,"props":990,"children":992},{"className":991},[],[993],{"type":45,"value":994},"test",{"type":45,"value":967},{"type":40,"tag":72,"props":997,"children":999},{"className":998},[],[1000],{"type":45,"value":1001},"debug",{"type":45,"value":1003},".\nPlus a ",{"type":40,"tag":72,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":45,"value":1009},"Deferred task verbs",{"type":45,"value":1011}," block that points out-of-scope\nquestions at the right next skill.",{"type":40,"tag":48,"props":1013,"children":1014},{},[1015,1017,1025],{"type":45,"value":1016},"The skill assumes a host or BlueField where DOCA is already\ninstalled at the standard location and the user has the privileges\ntheir public install profile expects. It does not cover installing\nDOCA — that path goes through\n",{"type":40,"tag":67,"props":1018,"children":1019},{"href":107},[1020],{"type":40,"tag":72,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":45,"value":114},{"type":45,"value":229},{"type":40,"tag":149,"props":1027,"children":1029},{"id":1028},"what-this-skill-deliberately-does-not-ship",[1030],{"type":45,"value":1031},"What this skill deliberately does not ship",{"type":40,"tag":48,"props":1033,"children":1034},{},[1035,1037,1042],{"type":45,"value":1036},"This skill is ",{"type":40,"tag":52,"props":1038,"children":1039},{},[1040],{"type":45,"value":1041},"agent guidance",{"type":45,"value":1043},", not a samples or templates\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:",{"type":40,"tag":168,"props":1045,"children":1046},{},[1047,1088,1105,1122,1169],{"type":40,"tag":172,"props":1048,"children":1049},{},[1050,1055,1057,1063,1065,1075,1077,1087],{"type":40,"tag":52,"props":1051,"children":1052},{},[1053],{"type":45,"value":1054},"Pre-written DOCA AES-GCM application source code, in any\nlanguage.",{"type":45,"value":1056}," The verified AES-GCM source code is the shipped C\nsamples at ",{"type":40,"tag":72,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":45,"value":1062},"\u002Fopt\u002Fmellanox\u002Fdoca\u002Fsamples\u002Fdoca_aes_gcm\u002F",{"type":45,"value":1064},". The agent's\njob is to route the user to those files and prescribe a\nminimum-diff modification on them via the universal\nmodify-a-sample workflow in\n",{"type":40,"tag":67,"props":1066,"children":1068},{"href":1067},"..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md",[1069],{"type":40,"tag":72,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":45,"value":1074},"doca-programming-guide",{"type":45,"value":1076},",\nlayered with the AES-GCM-specific overrides in\n",{"type":40,"tag":67,"props":1078,"children":1080},{"href":1079},"TASKS.md#modify",[1081],{"type":40,"tag":72,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":45,"value":1086},"TASKS.md ## modify",{"type":45,"value":229},{"type":40,"tag":172,"props":1089,"children":1090},{},[1091,1096,1098,1103],{"type":40,"tag":52,"props":1092,"children":1093},{},[1094],{"type":45,"value":1095},"Pre-computed AES-GCM test vectors.",{"type":45,"value":1097}," The skill tells the agent\nto use a ",{"type":40,"tag":80,"props":1099,"children":1100},{},[1101],{"type":45,"value":1102},"published",{"type":45,"value":1104}," test vector (e.g. NIST GCMVS, RFC 5288\nAES-GCM examples) as the known-vector smoke; it does not ship a\nvector bank of its own. The agent must cite the vector source so\nthe user can audit it.",{"type":40,"tag":172,"props":1106,"children":1107},{},[1108,1113,1115,1120],{"type":40,"tag":52,"props":1109,"children":1110},{},[1111],{"type":45,"value":1112},"Pre-baked AES-GCM keys, IVs, or AAD strings.",{"type":45,"value":1114}," A key in this\nrepo is a key in every customer's repo — by construction, it must\nnot be there. The skill teaches the ",{"type":40,"tag":80,"props":1116,"children":1117},{},[1118],{"type":45,"value":1119},"shape",{"type":45,"value":1121}," of the inputs; the\nuser supplies the actual bytes from their own key-management\nsystem.",{"type":40,"tag":172,"props":1123,"children":1124},{},[1125,1130,1131,1137,1138,1144,1146,1152,1154,1159,1161,1167],{"type":40,"tag":52,"props":1126,"children":1127},{},[1128],{"type":45,"value":1129},"Standalone build manifests",{"type":45,"value":719},{"type":40,"tag":72,"props":1132,"children":1134},{"className":1133},[],[1135],{"type":45,"value":1136},"meson.build",{"type":45,"value":967},{"type":40,"tag":72,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":45,"value":1143},"CMakeLists.txt",{"type":45,"value":1145},",\n",{"type":40,"tag":72,"props":1147,"children":1149},{"className":1148},[],[1150],{"type":45,"value":1151},"Cargo.toml",{"type":45,"value":1153},", …) parked inside the skill. The agent constructs\nthe build manifest ",{"type":40,"tag":80,"props":1155,"children":1156},{},[1157],{"type":45,"value":1158},"in the user's project directory",{"type":45,"value":1160}," against the\nuser's installed DOCA, where ",{"type":40,"tag":72,"props":1162,"children":1164},{"className":1163},[],[1165],{"type":45,"value":1166},"pkg-config --modversion doca-aes-gcm",{"type":45,"value":1168}," is the source of truth.",{"type":40,"tag":172,"props":1170,"children":1171},{},[1172,1200],{"type":40,"tag":52,"props":1173,"children":1174},{},[1175,1177,1183,1184,1190,1192,1198],{"type":45,"value":1176},"A ",{"type":40,"tag":72,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":45,"value":1182},"samples\u002F",{"type":45,"value":967},{"type":40,"tag":72,"props":1185,"children":1187},{"className":1186},[],[1188],{"type":45,"value":1189},"bindings\u002F",{"type":45,"value":1191},", or ",{"type":40,"tag":72,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":45,"value":1197},"reference\u002F",{"type":45,"value":1199}," subtree",{"type":45,"value":1201}," of any\nkind. A mock or incomplete artifact in this skill's tree, even\none labeled \"reference\", is misleading: users will read it as\nbuildable.",{"type":40,"tag":149,"props":1203,"children":1205},{"id":1204},"loading-order",[1206],{"type":45,"value":1207},"Loading order",{"type":40,"tag":1209,"props":1210,"children":1211},"ol",{},[1212,1225,1238],{"type":40,"tag":172,"props":1213,"children":1214},{},[1215,1217,1223],{"type":45,"value":1216},"Read this ",{"type":40,"tag":72,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":45,"value":1222},"SKILL.md",{"type":45,"value":1224}," first to confirm the user's question is in\nscope.",{"type":40,"tag":172,"props":1226,"children":1227},{},[1228],{"type":40,"tag":52,"props":1229,"children":1230},{},[1231,1233,1237],{"type":45,"value":1232},"For the AES-GCM capability matrix, task types, key-size\nsurface, capability-query rules, permission matrix, AEAD\nsemantics, error taxonomy, observability, and safety \u002F\npath-selection policy, see ",{"type":40,"tag":67,"props":1234,"children":1235},{"href":89},[1236],{"type":45,"value":89},{"type":45,"value":229},{"type":40,"tag":172,"props":1239,"children":1240},{},[1241],{"type":40,"tag":52,"props":1242,"children":1243},{},[1244,1246,1250],{"type":45,"value":1245},"For step-by-step workflows — configure, build, modify, run,\ntest, debug — see ",{"type":40,"tag":67,"props":1247,"children":1248},{"href":69},[1249],{"type":45,"value":69},{"type":45,"value":229},{"type":40,"tag":48,"props":1252,"children":1253},{},[1254,1256,1264,1266,1274],{"type":45,"value":1255},"Both companion files cross-link to each other,\n",{"type":40,"tag":67,"props":1257,"children":1258},{"href":465},[1259],{"type":40,"tag":72,"props":1260,"children":1262},{"className":1261},[],[1263],{"type":45,"value":472},{"type":45,"value":1265}," for the canonical\nversion-handling rules, and\n",{"type":40,"tag":67,"props":1267,"children":1268},{"href":895},[1269],{"type":40,"tag":72,"props":1270,"children":1272},{"className":1271},[],[1273],{"type":45,"value":902},{"type":45,"value":1275},"\nwhenever the right answer is \"look it up in the public docs or the\ninstalled package layout\" rather than \"AES-GCM-specific guidance\".",{"type":40,"tag":149,"props":1277,"children":1279},{"id":1278},"related-skills",[1280],{"type":45,"value":1281},"Related skills",{"type":40,"tag":168,"props":1283,"children":1284},{},[1285,1315,1335,1366,1387,1414,1434],{"type":40,"tag":172,"props":1286,"children":1287},{},[1288,1296,1298,1304,1306,1314],{"type":40,"tag":67,"props":1289,"children":1290},{"href":895},[1291],{"type":40,"tag":72,"props":1292,"children":1294},{"className":1293},[],[1295],{"type":45,"value":902},{"type":45,"value":1297}," —\nthe routing table for every public DOCA documentation source and\nthe on-disk layout of an installed DOCA package. The DOCA AES-GCM\npage lives at ",{"type":40,"tag":72,"props":1299,"children":1301},{"className":1300},[],[1302],{"type":45,"value":1303},"docs.nvidia.com\u002Fdoca\u002Fsdk\u002FDOCA-AES-GCM\u002F",{"type":45,"value":1305},"; it is a\nmember of the DOCA Crypto Acceleration family alongside\n",{"type":40,"tag":67,"props":1307,"children":1308},{"href":883},[1309],{"type":40,"tag":72,"props":1310,"children":1312},{"className":1311},[],[1313],{"type":45,"value":890},{"type":45,"value":229},{"type":40,"tag":172,"props":1316,"children":1317},{},[1318,1326,1328,1333],{"type":40,"tag":67,"props":1319,"children":1320},{"href":107},[1321],{"type":40,"tag":72,"props":1322,"children":1324},{"className":1323},[],[1325],{"type":45,"value":114},{"type":45,"value":1327}," — env preparation,\ninstall verification, and the ",{"type":40,"tag":80,"props":1329,"children":1330},{},[1331],{"type":45,"value":1332},"I have no install yet",{"type":45,"value":1334}," path with\nthe public NGC DOCA container. This skill assumes its\npreconditions are satisfied.",{"type":40,"tag":172,"props":1336,"children":1337},{},[1338,1346,1348,1357,1359,1364],{"type":40,"tag":67,"props":1339,"children":1340},{"href":465},[1341],{"type":40,"tag":72,"props":1342,"children":1344},{"className":1343},[],[1345],{"type":45,"value":472},{"type":45,"value":1347}," — canonical DOCA\nversion-handling rules. This skill's\n",{"type":40,"tag":67,"props":1349,"children":1350},{"href":453},[1351],{"type":40,"tag":72,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":45,"value":1356},"## Version compatibility",{"type":45,"value":1358},"\ncross-links the four-way match rule and adds only the\nAES-GCM-specific ",{"type":40,"tag":80,"props":1360,"children":1361},{},[1362],{"type":45,"value":1363},"\"discover key sizes + task presence via cap\nquery\"",{"type":45,"value":1365}," overlay.",{"type":40,"tag":172,"props":1367,"children":1368},{},[1369,1379,1381,1385],{"type":40,"tag":67,"props":1370,"children":1372},{"href":1371},"..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md",[1373],{"type":40,"tag":72,"props":1374,"children":1376},{"className":1375},[],[1377],{"type":45,"value":1378},"doca-structured-tools-contract",{"type":45,"value":1380}," —\nthe bundle's structured-tools precedence rule (detect \u002F prefer \u002F\nfall back \u002F report). The Command appendix in\n",{"type":40,"tag":67,"props":1382,"children":1383},{"href":69},[1384],{"type":45,"value":69},{"type":45,"value":1386}," honors this contract.",{"type":40,"tag":172,"props":1388,"children":1389},{},[1390,1398,1400,1405,1407,1412],{"type":40,"tag":67,"props":1391,"children":1392},{"href":1067},[1393],{"type":40,"tag":72,"props":1394,"children":1396},{"className":1395},[],[1397],{"type":45,"value":1074},{"type":45,"value":1399}," —\ngeneral DOCA programming patterns shared by every library: the\ncanonical ",{"type":40,"tag":72,"props":1401,"children":1403},{"className":1402},[],[1404],{"type":45,"value":600},{"type":45,"value":1406}," + meson build pattern, the universal\nmodify-a-shipped-sample first-app workflow, the universal\nlifecycle, the cross-library ",{"type":40,"tag":72,"props":1408,"children":1410},{"className":1409},[],[1411],{"type":45,"value":495},{"type":45,"value":1413}," taxonomy, and the\nprogram-side debug order. This skill layers AES-GCM specifics on\ntop.",{"type":40,"tag":172,"props":1415,"children":1416},{},[1417,1425,1427,1432],{"type":40,"tag":67,"props":1418,"children":1419},{"href":883},[1420],{"type":40,"tag":72,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":45,"value":890},{"type":45,"value":1426}," — the sibling library in the\nDOCA Crypto Acceleration family for hardware-accelerated SHA\nhashing. Load alongside this skill when the user's flow is\nauthenticated-encryption ",{"type":40,"tag":80,"props":1428,"children":1429},{},[1430],{"type":45,"value":1431},"with a separate keyed hash",{"type":45,"value":1433}," (rare —\nAES-GCM already provides authentication via its tag) or when the\nuser is comparing offload paths between the two.",{"type":40,"tag":172,"props":1435,"children":1436},{},[1437,1445],{"type":40,"tag":67,"props":1438,"children":1439},{"href":543},[1440],{"type":40,"tag":72,"props":1441,"children":1443},{"className":1442},[],[1444],{"type":45,"value":550},{"type":45,"value":1446}," — the cross-cutting\ndebug ladder (install \u002F version \u002F build \u002F link \u002F runtime \u002F\nprogram \u002F driver). AES-GCM-specific debug (key-size-not-supported,\noversized input, tag-verification failure on decrypt) overlays on\ntop of that ladder.",{"items":1448,"total":1607},[1449,1467,1485,1496,1508,1522,1535,1549,1562,1573,1587,1596],{"slug":1450,"name":1450,"fn":1451,"description":1452,"org":1453,"tags":1454,"stars":1464,"repoUrl":1465,"updatedAt":1466},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1455,1458,1461],{"name":1456,"slug":1457,"type":15},"Documentation","documentation",{"name":1459,"slug":1460,"type":15},"MCP","mcp",{"name":1462,"slug":1463,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1468,"name":1468,"fn":1469,"description":1470,"org":1471,"tags":1472,"stars":1482,"repoUrl":1483,"updatedAt":1484},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1473,1476,1479],{"name":1474,"slug":1475,"type":15},"Containers","containers",{"name":1477,"slug":1478,"type":15},"Deployment","deployment",{"name":1480,"slug":1481,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1486,"name":1486,"fn":1487,"description":1488,"org":1489,"tags":1490,"stars":1482,"repoUrl":1483,"updatedAt":1495},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1491,1494],{"name":1492,"slug":1493,"type":15},"CI\u002FCD","ci-cd",{"name":1477,"slug":1478,"type":15},"2026-07-14T05:25:59.97109",{"slug":1497,"name":1497,"fn":1498,"description":1499,"org":1500,"tags":1501,"stars":1482,"repoUrl":1483,"updatedAt":1507},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1502,1503,1504],{"name":1492,"slug":1493,"type":15},{"name":1477,"slug":1478,"type":15},{"name":1505,"slug":1506,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1509,"name":1509,"fn":1510,"description":1511,"org":1512,"tags":1513,"stars":1482,"repoUrl":1483,"updatedAt":1521},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1514,1517,1518],{"name":1515,"slug":1516,"type":15},"Debugging","debugging",{"name":1505,"slug":1506,"type":15},{"name":1519,"slug":1520,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1523,"name":1523,"fn":1524,"description":1525,"org":1526,"tags":1527,"stars":1482,"repoUrl":1483,"updatedAt":1534},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1528,1531],{"name":1529,"slug":1530,"type":15},"Best Practices","best-practices",{"name":1532,"slug":1533,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1536,"name":1536,"fn":1537,"description":1538,"org":1539,"tags":1540,"stars":1482,"repoUrl":1483,"updatedAt":1548},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1541,1544,1547],{"name":1542,"slug":1543,"type":15},"Machine Learning","machine-learning",{"name":1545,"slug":1546,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1550,"name":1550,"fn":1551,"description":1552,"org":1553,"tags":1554,"stars":1482,"repoUrl":1483,"updatedAt":1561},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1555,1558],{"name":1556,"slug":1557,"type":15},"QA","qa",{"name":1559,"slug":1560,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1563,"name":1563,"fn":1564,"description":1565,"org":1566,"tags":1567,"stars":1482,"repoUrl":1483,"updatedAt":1572},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1568,1569],{"name":1477,"slug":1478,"type":15},{"name":1570,"slug":1571,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1574,"name":1574,"fn":1575,"description":1576,"org":1577,"tags":1578,"stars":1482,"repoUrl":1483,"updatedAt":1586},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1579,1582,1583],{"name":1580,"slug":1581,"type":15},"Code Review","code-review",{"name":1505,"slug":1506,"type":15},{"name":1584,"slug":1585,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1588,"name":1588,"fn":1589,"description":1590,"org":1591,"tags":1592,"stars":1482,"repoUrl":1483,"updatedAt":1595},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1593,1594],{"name":1556,"slug":1557,"type":15},{"name":1559,"slug":1560,"type":15},"2026-07-14T05:25:54.928983",{"slug":1597,"name":1597,"fn":1598,"description":1599,"org":1600,"tags":1601,"stars":1482,"repoUrl":1483,"updatedAt":1606},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1602,1605],{"name":1603,"slug":1604,"type":15},"Automation","automation",{"name":1492,"slug":1493,"type":15},"2026-07-30T05:29:03.275638",496,{"items":1609,"total":1705},[1610,1627,1637,1651,1661,1676,1691],{"slug":1611,"name":1611,"fn":1612,"description":1613,"org":1614,"tags":1615,"stars":20,"repoUrl":21,"updatedAt":1626},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1616,1619,1622,1623],{"name":1617,"slug":1618,"type":15},"Data Analysis","data-analysis",{"name":1620,"slug":1621,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":1624,"slug":1625,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":1628,"name":1628,"fn":1629,"description":1630,"org":1631,"tags":1632,"stars":20,"repoUrl":21,"updatedAt":1636},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1633,1634,1635],{"name":1477,"slug":1478,"type":15},{"name":1570,"slug":1571,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":1638,"name":1638,"fn":1639,"description":1640,"org":1641,"tags":1642,"stars":20,"repoUrl":21,"updatedAt":1650},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1643,1646,1647],{"name":1644,"slug":1645,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":1648,"slug":1649,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":1652,"name":1652,"fn":1653,"description":1654,"org":1655,"tags":1656,"stars":20,"repoUrl":21,"updatedAt":1660},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1657,1658,1659],{"name":1617,"slug":1618,"type":15},{"name":9,"slug":8,"type":15},{"name":1559,"slug":1560,"type":15},"2026-07-17T05:29:03.913266",{"slug":1662,"name":1662,"fn":1663,"description":1664,"org":1665,"tags":1666,"stars":20,"repoUrl":21,"updatedAt":1675},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1667,1668,1671,1672],{"name":1603,"slug":1604,"type":15},{"name":1669,"slug":1670,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":1673,"slug":1674,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":1677,"name":1677,"fn":1678,"description":1679,"org":1680,"tags":1681,"stars":20,"repoUrl":21,"updatedAt":1690},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1682,1683,1686,1687],{"name":1477,"slug":1478,"type":15},{"name":1684,"slug":1685,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":1688,"slug":1689,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":1692,"name":1692,"fn":1693,"description":1694,"org":1695,"tags":1696,"stars":20,"repoUrl":21,"updatedAt":1704},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1697,1698,1701],{"name":9,"slug":8,"type":15},{"name":1699,"slug":1700,"type":15},"Quantum Computing","quantum-computing",{"name":1702,"slug":1703,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305]