[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-doca-setup":3,"mdc-ukq2ba-key":34,"related-repo-nvidia-doca-setup":1317,"related-org-nvidia-doca-setup":1423},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"doca-setup","configure DOCA development environments","Use this skill when the user is dealing with the DOCA environment around their workload — verifying an install is healthy, preparing the build env (pkg-config, headers, LD_LIBRARY_PATH, hugepages, devlink, representors), debugging env-class failures, deciding container-vs-bare-metal deployment shape, or reaching a DOCA install from a host that doesn't have one yet via the NGC DOCA container Stage-1 fallback. Trigger even when the user does not explicitly mention \"DOCA setup\" — typical implicit phrasings include \"I just got a BlueField, what now\", \"my code is built, how do I run it\", \"pkg-config can't find doca-flow\", \"no free 2048 kB hugepages\", \"representor X not found\", \"I'm on a Mac and want to learn DOCA\". Refuse and route elsewhere for library API specifics (Flow pipes, RDMA queues), the modify-a-sample first-app workflow or DOCA_ERROR_* program-side debugging, and \"where is X documented\" knowledge-map questions — those belong to other skills.\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,20],{"name":13,"slug":14,"type":15},"Configuration","configuration","tag",{"name":17,"slug":18,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Engineering","engineering",2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-30T05:28:40.412058","Apache-2.0 AND CC-BY-4.0",281,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fdoca-setup","---\nlicense: Apache-2.0 AND CC-BY-4.0\nname: doca-setup\ndescription: >\n  Use this skill when the user is dealing with the DOCA environment\n  around their workload — verifying an install is healthy, preparing\n  the build env (pkg-config, headers, LD_LIBRARY_PATH, hugepages,\n  devlink, representors), debugging env-class failures, deciding\n  container-vs-bare-metal deployment shape, or reaching a DOCA install\n  from a host that doesn't have one yet via the NGC DOCA container\n  Stage-1 fallback. Trigger even when the user does not explicitly\n  mention \"DOCA setup\" — typical implicit phrasings include \"I just\n  got a BlueField, what now\", \"my code is built, how do I run it\",\n  \"pkg-config can't find doca-flow\", \"no free 2048 kB hugepages\",\n  \"representor X not found\", \"I'm on a Mac and want to learn DOCA\".\n  Refuse and route elsewhere for library API specifics (Flow pipes,\n  RDMA queues), the modify-a-sample first-app workflow or DOCA_ERROR_*\n  program-side debugging, and \"where is X documented\" knowledge-map\n  questions — those belong to other skills.\nmetadata:\n  kind: library\ncompatibility: >\n  No DOCA install required to read this skill (it is an overlay loaded\n  against any DOCA artifact skill); the validation steps within DO\n  require a live DOCA install at \u002Fopt\u002Fmellanox\u002Fdoca. The agent must\n  have a target-host command channel or provide commands for the user\n  to run and return their exact output; local shell access must not be\n  assumed to reach the target.\n---\n\n# DOCA setup\n\n**Where to start:** If the user's question is *deployment-shaped*\n(*\"how do I deploy\"*, *\"how do I run my DOCA workload\"*, *\"I just got a\nBlueField, what now\"*, *\"my code is built, what next\"*), walk\n[`TASKS.md ## recognize`](TASKS.md#recognize) **first**. It is the\nbundle's front-door: it detects the system shape (host x86 \u002F BlueField\nArm bare-metal \u002F DPU-only \u002F fresh laptop), asks the developer the\nminimal set of questions needed to disambiguate, and routes to the\ncorrect downstream skill — the container deployment path\n([`doca-container-deployment`](..\u002Fdoca-container-deployment\u002FSKILL.md)),\nthe bare-metal hardware deployment path\n([`doca-bare-metal-deployment`](..\u002Fdoca-bare-metal-deployment\u002FSKILL.md)),\nor the no-hardware fallback\n([`TASKS.md ## no-install`](TASKS.md#no-install)). The wrong failure\nmode is to silently steer every developer onto containers because the\nagent loaded that skill first; `## recognize` exists to prevent that.\n\nIf the user does not have DOCA installed yet and the request is not\ndeployment-shaped, jump straight to\n[`TASKS.md ## no-install`](TASKS.md#no-install) for the NGC container\npath. Deployment-shaped requests still enter `## recognize` first,\nwhich routes fresh-laptop cases to `## no-install`. Otherwise read\n[`## When to load this skill`](#when-to-load-this-skill) to confirm the\nquestion is env-class, then route to the section below that matches the\nuser's intent.\n\n## Example questions this skill answers well\n\nThe CLASSES this skill is built to handle, each with one worked example.\nThe skill must answer the *class*; the worked example is illustrative.\n\n- **\"I want to deploy a DOCA workload — what is the right path?\"** —\n  worked example: *\"I just got a BlueField; my code is built; what\n  now?\"* Resolved by the front-door decision tree in\n  [`TASKS.md ## recognize`](TASKS.md#recognize), which detects the\n  system shape, asks the minimum residual question, and routes to\n  either the container or the bare-metal deployment skill.\n- **\"Verify DOCA is installed and healthy.\"** — worked example:\n  *\"Is DOCA Flow actually available on this box?\"* Resolved by the\n  install-health snapshot in [`TASKS.md ## test`](TASKS.md#test) plus the\n  version-detection rules in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes).\n- **\"I do not have DOCA installed — what now?\"** — worked example: *\"I'm\n  on macOS and want to learn DOCA before I get a BlueField.\"* Resolved\n  by [`TASKS.md ## no-install`](TASKS.md#no-install) (NGC DOCA container\n  as universal Stage-1).\n- **\"Prepare the build environment for any DOCA library.\"** — worked\n  example: *\"`pkg-config --cflags doca-flow` returns nothing — what's\n  missing?\"* Resolved by the build-prep workflow in\n  [`TASKS.md ## configure`](TASKS.md#configure) and the build-class\n  error taxonomy in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy).\n- **\"Prepare the runtime preconditions on a real DPU box.\"** — worked\n  example: *\"hugepages \u002F representors \u002F devlink — what's the minimum set\n  before I run my first DOCA Flow program?\"* Resolved by\n  [`TASKS.md ## configure`](TASKS.md#configure) and the runtime\n  observability rules in\n  [`CAPABILITIES.md ## Observability`](CAPABILITIES.md#observability).\n- **\"Diagnose an env-class failure (install \u002F build \u002F runtime).\"** —\n  worked example: *\"My DOCA Flow program built fine but says\n  `pkg-config` cannot find it at runtime.\"* Resolved by the layered\n  env-class debug workflow in [`TASKS.md ## debug`](TASKS.md#debug).\n- **\"Change something about the environment safely.\"** — worked\n  example: *\"I want to switch eswitch mode from legacy to switchdev.\"*\n  Resolved by the safety constraints in\n  [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy).\n\nIf the question is library-API-shaped (Flow pipe construction, RDMA\nqueue setup, …) or program-shaped (how to build, modify a sample, debug\nthe program itself), route to\n[`doca-programming-guide`](..\u002Fdoca-programming-guide\u002FSKILL.md) or the\nmatching library skill instead — env-class only lives here.\n\n## When to load this skill\n\nLoad this skill when the user is dealing with the **environment around DOCA** — installing it, verifying the install is healthy, preparing the build \u002F runtime preconditions, debugging env-class failures, figuring out *how to reach an install* from a host that doesn't have one yet, or asking a **deployment-shaped question** that hasn't yet been routed (containers vs. bare-metal) — the front-door routing decision lives here. Concretely:\n\n- The deployment-shape routing front door: *\"I just got a BlueField, what now?\"*, *\"my code is built, how do I run it?\"*, *\"how do I deploy this?\"* All of these load `## recognize` first so the agent does not silently push the user onto the wrong path.\n- Verifying that the DOCA install is healthy and that the build environment can find it (`pkg-config`, headers, library paths).\n- Preparing the runtime: hugepages, `devlink` device visibility, representor enumeration, kernel-module prerequisites.\n- Diagnosing common setup-class failures: missing `*.pc` file, hugepages not mounted, representor not visible, header-vs-runtime version mismatch.\n- The *I have no install yet* path: the user is on macOS, Windows, or a Linux box without DOCA, and needs to reach an environment where DOCA is actually installed. The canonical Stage-1 answer is the public **NGC DOCA container** at `nvcr.io\u002Fnvidia\u002Fdoca\u002Fdoca` (works on any OS that runs Docker; no NVIDIA hardware required for the build \u002F read \u002F learn loop). See [`TASKS.md ## no-install`](TASKS.md#no-install).\n\nDo **not** load this skill for:\n\n- *\"What is DOCA?\", \"where is the developer guide?\", \"where is the install layout documented?\"* — those are routing questions; use [`doca-public-knowledge-map`](..\u002Fdoca-public-knowledge-map\u002FSKILL.md).\n- *\"How do I derive a custom first application from a sample?\", \"how do I structure a DOCA build?\", \"what does `DOCA_ERROR_BAD_STATE` mean?\"* — those are **programming-class** questions and live in [`doca-programming-guide`](..\u002Fdoca-programming-guide\u002FSKILL.md), which owns the universal `## modify` (first-app derivation), the canonical `## build` pattern, the universal lifecycle, and the cross-library `DOCA_ERROR_*` taxonomy.\n- *Library-internal API questions* (Flow pipe construction, RDMA queue setup, etc.) — those belong in the matching library skill (e.g. [`doca-flow`](..\u002Flibs\u002Fdoca-flow\u002FSKILL.md)). This skill stops at *\"the install is healthy and the env is ready\"*; it does not own program semantics.\n\n## What this skill provides\n\nThis is a **thin loader**. The body keeps only the orientation needed to pick the right next file. The substantive env material lives in two companion files:\n\n- `CAPABILITIES.md` — what the install \u002F build \u002F runtime *environment* surface looks like: install profiles (`doca-all`, `doca-ofed`, `doca-networking`), where the build flavors (release vs trace) live on disk and how to point `LD_LIBRARY_PATH` at them, the env-side version-detection rules, the env-class error taxonomy (`pkg-config` not finding `doca-flow`, hugepages not reserved, representors not visible), what a healthy install looks like under observation, and the safety constraints on environment changes (hugepages global, `mlxconfig` reset, eswitch mode change).\n- `TASKS.md` — env workflows: `recognize` (the front-door system-shape detect + dev-Q decision tree that routes deployment-shaped questions to either container or bare-metal), `configure` (env prep), `test` (install health snapshot), `debug` (env-class layered diagnosis), and `no-install` (the *I have no install yet* procedure with the NGC container as Path 0). Three other anchors (`build`, `modify`, `run`) exist for lint compliance and route to [`doca-programming-guide`](..\u002Fdoca-programming-guide\u002FSKILL.md), which owns those verbs after the env \u002F program split.\n\nThis skill assumes nothing about whether DOCA is installed — the `## no-install` workflow exists precisely for the *fresh laptop* case.\n\n## Loading order\n\n1. Read this `SKILL.md` and classify the question as programming,\n   knowledge-map, beginner orientation, deployment routing, or\n   environment work. Programming and knowledge-map questions route to\n   their owning skill and stop here.\n2. **For beginner orientation**, show the\n   [`TASKS.md ## no-install` Stage 1 vs Stage 2 roadmap](TASKS.md#stage-1-vs-stage-2--open-every-i-am-new-to-doca-answer-with-the-staged-roadmap)\n   before any command. Then route Stage 1\u002Fcontainer learning to\n   `## no-install` Path 0 and Stage 2\u002Fhardware runtime to\n   `## no-install` Paths A\u002FC, followed by `## recognize` before\n   selecting container versus bare-metal. Ask one clarifying question\n   when the stage is unknown; if it remains unknown or no reply is\n   available in unattended execution, stop with\n   `confirmation_required` and both paths explained rather than\n   guessing.\n3. **For deployment routing**, walk\n   [TASKS.md ## recognize](TASKS.md#recognize) first only when the\n   container-versus-bare-metal path is not already established. If it\n   is established, proceed directly to the matching env workflow.\n4. **Before a change recommendation on an installed\u002Fhardware target**,\n   load the mandatory\n   [Universal verification contract](CAPABILITIES.md#universal-verification-contract)\n   and walk all applicable steps through an auditable green signal.\n   Hardware-touching answers also load the\n   [hardware binding-layer command stanza](CAPABILITIES.md#hardware-binding-layer-command-stanza).\n   The Stage-1 no-hardware path instead uses its own container\n   install\u002Fsmoke green signal; never fabricate unavailable PCIe,\n   representor, or hardware evidence.\n5. **For env workflows — `configure`, `test`, `debug`, and\n   `no-install` — see [TASKS.md](TASKS.md).** The `build`, `modify`,\n   and `run` anchors route to\n   [`doca-programming-guide`](..\u002Fdoca-programming-guide\u002FSKILL.md).\n6. Once the env is healthy, hand off to the selected deployment skill,\n   then `doca-programming-guide`, then the matching library skill.\n\nBoth companion files cross-link to each other and to `doca-public-knowledge-map` whenever the right answer is *\"look it up in the public docs or the installed package layout\"* rather than *\"setup-specific guidance\"*.\n\n## Related skills\n\n- [`doca-container-deployment`](..\u002Fdoca-container-deployment\u002FSKILL.md) — the container deployment runtime (kubelet standalone + YAML pod-spec drop) for any DOCA service container on BlueField. `## recognize` here routes to this skill when the developer's workload + system shape land on the container path.\n- [`doca-bare-metal-deployment`](..\u002Fdoca-bare-metal-deployment\u002FSKILL.md) — the bare-metal hardware deployment runtime (host x86 OR BlueField Arm direct launch — systemd \u002F tmux \u002F direct invocation, hardware-resource binding, per-tenant isolation, restart discipline) for a DOCA-linked binary. `## recognize` here routes to this skill when the developer's workload + system shape land on the bare-metal path.\n- [`doca-public-knowledge-map`](..\u002Fdoca-public-knowledge-map\u002FSKILL.md) — public DOCA documentation routing and the on-disk layout of an installed DOCA package. This skill defers all *\"where is X documented\"*, *\"where on disk is Y\"*, and *\"how do I check the installed version\"* questions to the knowledge-map.\n- [`doca-programming-guide`](..\u002Fdoca-programming-guide\u002FSKILL.md) — general DOCA programming patterns once the env is healthy: the canonical `pkg-config doca-\u003Clibrary>` build pattern, the universal *derive a custom first app from a sample* workflow (with C \u002F C++ + non-C tracks), the universal lifecycle, and the cross-library `DOCA_ERROR_*` taxonomy. Anything beyond *\"is the install healthy and the env ready\"* lives there.\n- [`doca-flow`](..\u002Flibs\u002Fdoca-flow\u002FSKILL.md) — DOCA Flow on BlueField. Builds on this skill for env preparation and on `doca-programming-guide` for the universal first-app derivation, then layers Flow-specific overrides on top.\n",{"data":35,"body":39},{"license":26,"name":4,"description":6,"metadata":36,"compatibility":38},{"kind":37},"library","No DOCA install required to read this skill (it is an overlay loaded against any DOCA artifact skill); the validation steps within DO require a live DOCA install at \u002Fopt\u002Fmellanox\u002Fdoca. The agent must have a target-host command channel or provide commands for the user to run and return their exact output; local shell access must not be assumed to reach the target.\n",{"type":40,"children":41},"root",[42,50,161,203,210,222,469,486,492,518,626,638,750,756,768,930,949,955,1148,1173,1179],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":49},"text","DOCA setup",{"type":43,"tag":51,"props":52,"children":53},"p",{},[54,60,62,68,70,75,77,82,83,88,89,94,96,108,110,115,117,127,129,139,141,151,153,159],{"type":43,"tag":55,"props":56,"children":57},"strong",{},[58],{"type":48,"value":59},"Where to start:",{"type":48,"value":61}," If the user's question is ",{"type":43,"tag":63,"props":64,"children":65},"em",{},[66],{"type":48,"value":67},"deployment-shaped",{"type":48,"value":69},"\n(",{"type":43,"tag":63,"props":71,"children":72},{},[73],{"type":48,"value":74},"\"how do I deploy\"",{"type":48,"value":76},", ",{"type":43,"tag":63,"props":78,"children":79},{},[80],{"type":48,"value":81},"\"how do I run my DOCA workload\"",{"type":48,"value":76},{"type":43,"tag":63,"props":84,"children":85},{},[86],{"type":48,"value":87},"\"I just got a\nBlueField, what now\"",{"type":48,"value":76},{"type":43,"tag":63,"props":90,"children":91},{},[92],{"type":48,"value":93},"\"my code is built, what next\"",{"type":48,"value":95},"), walk\n",{"type":43,"tag":97,"props":98,"children":100},"a",{"href":99},"TASKS.md#recognize",[101],{"type":43,"tag":102,"props":103,"children":105},"code",{"className":104},[],[106],{"type":48,"value":107},"TASKS.md ## recognize",{"type":48,"value":109}," ",{"type":43,"tag":55,"props":111,"children":112},{},[113],{"type":48,"value":114},"first",{"type":48,"value":116},". It is the\nbundle's front-door: it detects the system shape (host x86 \u002F BlueField\nArm bare-metal \u002F DPU-only \u002F fresh laptop), asks the developer the\nminimal set of questions needed to disambiguate, and routes to the\ncorrect downstream skill — the container deployment path\n(",{"type":43,"tag":97,"props":118,"children":120},{"href":119},"..\u002Fdoca-container-deployment\u002FSKILL.md",[121],{"type":43,"tag":102,"props":122,"children":124},{"className":123},[],[125],{"type":48,"value":126},"doca-container-deployment",{"type":48,"value":128},"),\nthe bare-metal hardware deployment path\n(",{"type":43,"tag":97,"props":130,"children":132},{"href":131},"..\u002Fdoca-bare-metal-deployment\u002FSKILL.md",[133],{"type":43,"tag":102,"props":134,"children":136},{"className":135},[],[137],{"type":48,"value":138},"doca-bare-metal-deployment",{"type":48,"value":140},"),\nor the no-hardware fallback\n(",{"type":43,"tag":97,"props":142,"children":144},{"href":143},"TASKS.md#no-install",[145],{"type":43,"tag":102,"props":146,"children":148},{"className":147},[],[149],{"type":48,"value":150},"TASKS.md ## no-install",{"type":48,"value":152},"). The wrong failure\nmode is to silently steer every developer onto containers because the\nagent loaded that skill first; ",{"type":43,"tag":102,"props":154,"children":156},{"className":155},[],[157],{"type":48,"value":158},"## recognize",{"type":48,"value":160}," exists to prevent that.",{"type":43,"tag":51,"props":162,"children":163},{},[164,166,174,176,181,183,189,191,201],{"type":48,"value":165},"If the user does not have DOCA installed yet and the request is not\ndeployment-shaped, jump straight to\n",{"type":43,"tag":97,"props":167,"children":168},{"href":143},[169],{"type":43,"tag":102,"props":170,"children":172},{"className":171},[],[173],{"type":48,"value":150},{"type":48,"value":175}," for the NGC container\npath. Deployment-shaped requests still enter ",{"type":43,"tag":102,"props":177,"children":179},{"className":178},[],[180],{"type":48,"value":158},{"type":48,"value":182}," first,\nwhich routes fresh-laptop cases to ",{"type":43,"tag":102,"props":184,"children":186},{"className":185},[],[187],{"type":48,"value":188},"## no-install",{"type":48,"value":190},". Otherwise read\n",{"type":43,"tag":97,"props":192,"children":194},{"href":193},"#when-to-load-this-skill",[195],{"type":43,"tag":102,"props":196,"children":198},{"className":197},[],[199],{"type":48,"value":200},"## When to load this skill",{"type":48,"value":202}," to confirm the\nquestion is env-class, then route to the section below that matches the\nuser's intent.",{"type":43,"tag":204,"props":205,"children":207},"h2",{"id":206},"example-questions-this-skill-answers-well",[208],{"type":48,"value":209},"Example questions this skill answers well",{"type":43,"tag":51,"props":211,"children":212},{},[213,215,220],{"type":48,"value":214},"The CLASSES this skill is built to handle, each with one worked example.\nThe skill must answer the ",{"type":43,"tag":63,"props":216,"children":217},{},[218],{"type":48,"value":219},"class",{"type":48,"value":221},"; the worked example is illustrative.",{"type":43,"tag":223,"props":224,"children":225},"ul",{},[226,254,295,322,370,407,442],{"type":43,"tag":227,"props":228,"children":229},"li",{},[230,235,237,242,244,252],{"type":43,"tag":55,"props":231,"children":232},{},[233],{"type":48,"value":234},"\"I want to deploy a DOCA workload — what is the right path?\"",{"type":48,"value":236}," —\nworked example: ",{"type":43,"tag":63,"props":238,"children":239},{},[240],{"type":48,"value":241},"\"I just got a BlueField; my code is built; what\nnow?\"",{"type":48,"value":243}," Resolved by the front-door decision tree in\n",{"type":43,"tag":97,"props":245,"children":246},{"href":99},[247],{"type":43,"tag":102,"props":248,"children":250},{"className":249},[],[251],{"type":48,"value":107},{"type":48,"value":253},", which detects the\nsystem shape, asks the minimum residual question, and routes to\neither the container or the bare-metal deployment skill.",{"type":43,"tag":227,"props":255,"children":256},{},[257,262,264,269,271,281,283,293],{"type":43,"tag":55,"props":258,"children":259},{},[260],{"type":48,"value":261},"\"Verify DOCA is installed and healthy.\"",{"type":48,"value":263}," — worked example:\n",{"type":43,"tag":63,"props":265,"children":266},{},[267],{"type":48,"value":268},"\"Is DOCA Flow actually available on this box?\"",{"type":48,"value":270}," Resolved by the\ninstall-health snapshot in ",{"type":43,"tag":97,"props":272,"children":274},{"href":273},"TASKS.md#test",[275],{"type":43,"tag":102,"props":276,"children":278},{"className":277},[],[279],{"type":48,"value":280},"TASKS.md ## test",{"type":48,"value":282}," plus the\nversion-detection rules in\n",{"type":43,"tag":97,"props":284,"children":286},{"href":285},"CAPABILITIES.md#capabilities-and-modes",[287],{"type":43,"tag":102,"props":288,"children":290},{"className":289},[],[291],{"type":48,"value":292},"CAPABILITIES.md ## Capabilities and modes",{"type":48,"value":294},".",{"type":43,"tag":227,"props":296,"children":297},{},[298,303,305,310,312,320],{"type":43,"tag":55,"props":299,"children":300},{},[301],{"type":48,"value":302},"\"I do not have DOCA installed — what now?\"",{"type":48,"value":304}," — worked example: ",{"type":43,"tag":63,"props":306,"children":307},{},[308],{"type":48,"value":309},"\"I'm\non macOS and want to learn DOCA before I get a BlueField.\"",{"type":48,"value":311}," Resolved\nby ",{"type":43,"tag":97,"props":313,"children":314},{"href":143},[315],{"type":43,"tag":102,"props":316,"children":318},{"className":317},[],[319],{"type":48,"value":150},{"type":48,"value":321}," (NGC DOCA container\nas universal Stage-1).",{"type":43,"tag":227,"props":323,"children":324},{},[325,330,332,345,347,357,359,369],{"type":43,"tag":55,"props":326,"children":327},{},[328],{"type":48,"value":329},"\"Prepare the build environment for any DOCA library.\"",{"type":48,"value":331}," — worked\nexample: ",{"type":43,"tag":63,"props":333,"children":334},{},[335,337,343],{"type":48,"value":336},"\"",{"type":43,"tag":102,"props":338,"children":340},{"className":339},[],[341],{"type":48,"value":342},"pkg-config --cflags doca-flow",{"type":48,"value":344}," returns nothing — what's\nmissing?\"",{"type":48,"value":346}," Resolved by the build-prep workflow in\n",{"type":43,"tag":97,"props":348,"children":350},{"href":349},"TASKS.md#configure",[351],{"type":43,"tag":102,"props":352,"children":354},{"className":353},[],[355],{"type":48,"value":356},"TASKS.md ## configure",{"type":48,"value":358}," and the build-class\nerror taxonomy in\n",{"type":43,"tag":97,"props":360,"children":362},{"href":361},"CAPABILITIES.md#error-taxonomy",[363],{"type":43,"tag":102,"props":364,"children":366},{"className":365},[],[367],{"type":48,"value":368},"CAPABILITIES.md ## Error taxonomy",{"type":48,"value":294},{"type":43,"tag":227,"props":371,"children":372},{},[373,378,379,384,386,394,396,406],{"type":43,"tag":55,"props":374,"children":375},{},[376],{"type":48,"value":377},"\"Prepare the runtime preconditions on a real DPU box.\"",{"type":48,"value":331},{"type":43,"tag":63,"props":380,"children":381},{},[382],{"type":48,"value":383},"\"hugepages \u002F representors \u002F devlink — what's the minimum set\nbefore I run my first DOCA Flow program?\"",{"type":48,"value":385}," Resolved by\n",{"type":43,"tag":97,"props":387,"children":388},{"href":349},[389],{"type":43,"tag":102,"props":390,"children":392},{"className":391},[],[393],{"type":48,"value":356},{"type":48,"value":395}," and the runtime\nobservability rules in\n",{"type":43,"tag":97,"props":397,"children":399},{"href":398},"CAPABILITIES.md#observability",[400],{"type":43,"tag":102,"props":401,"children":403},{"className":402},[],[404],{"type":48,"value":405},"CAPABILITIES.md ## Observability",{"type":48,"value":294},{"type":43,"tag":227,"props":408,"children":409},{},[410,415,416,429,431,441],{"type":43,"tag":55,"props":411,"children":412},{},[413],{"type":48,"value":414},"\"Diagnose an env-class failure (install \u002F build \u002F runtime).\"",{"type":48,"value":236},{"type":43,"tag":63,"props":417,"children":418},{},[419,421,427],{"type":48,"value":420},"\"My DOCA Flow program built fine but says\n",{"type":43,"tag":102,"props":422,"children":424},{"className":423},[],[425],{"type":48,"value":426},"pkg-config",{"type":48,"value":428}," cannot find it at runtime.\"",{"type":48,"value":430}," Resolved by the layered\nenv-class debug workflow in ",{"type":43,"tag":97,"props":432,"children":434},{"href":433},"TASKS.md#debug",[435],{"type":43,"tag":102,"props":436,"children":438},{"className":437},[],[439],{"type":48,"value":440},"TASKS.md ## debug",{"type":48,"value":294},{"type":43,"tag":227,"props":443,"children":444},{},[445,450,451,456,458,468],{"type":43,"tag":55,"props":446,"children":447},{},[448],{"type":48,"value":449},"\"Change something about the environment safely.\"",{"type":48,"value":331},{"type":43,"tag":63,"props":452,"children":453},{},[454],{"type":48,"value":455},"\"I want to switch eswitch mode from legacy to switchdev.\"",{"type":48,"value":457},"\nResolved by the safety constraints in\n",{"type":43,"tag":97,"props":459,"children":461},{"href":460},"CAPABILITIES.md#safety-policy",[462],{"type":43,"tag":102,"props":463,"children":465},{"className":464},[],[466],{"type":48,"value":467},"CAPABILITIES.md ## Safety policy",{"type":48,"value":294},{"type":43,"tag":51,"props":470,"children":471},{},[472,474,484],{"type":48,"value":473},"If the question is library-API-shaped (Flow pipe construction, RDMA\nqueue setup, …) or program-shaped (how to build, modify a sample, debug\nthe program itself), route to\n",{"type":43,"tag":97,"props":475,"children":477},{"href":476},"..\u002Fdoca-programming-guide\u002FSKILL.md",[478],{"type":43,"tag":102,"props":479,"children":481},{"className":480},[],[482],{"type":48,"value":483},"doca-programming-guide",{"type":48,"value":485}," or the\nmatching library skill instead — env-class only lives here.",{"type":43,"tag":204,"props":487,"children":489},{"id":488},"when-to-load-this-skill",[490],{"type":48,"value":491},"When to load this skill",{"type":43,"tag":51,"props":493,"children":494},{},[495,497,502,504,509,511,516],{"type":48,"value":496},"Load this skill when the user is dealing with the ",{"type":43,"tag":55,"props":498,"children":499},{},[500],{"type":48,"value":501},"environment around DOCA",{"type":48,"value":503}," — installing it, verifying the install is healthy, preparing the build \u002F runtime preconditions, debugging env-class failures, figuring out ",{"type":43,"tag":63,"props":505,"children":506},{},[507],{"type":48,"value":508},"how to reach an install",{"type":48,"value":510}," from a host that doesn't have one yet, or asking a ",{"type":43,"tag":55,"props":512,"children":513},{},[514],{"type":48,"value":515},"deployment-shaped question",{"type":48,"value":517}," that hasn't yet been routed (containers vs. bare-metal) — the front-door routing decision lives here. Concretely:",{"type":43,"tag":223,"props":519,"children":520},{},[521,552,564,577,590],{"type":43,"tag":227,"props":522,"children":523},{},[524,526,531,532,537,538,543,545,550],{"type":48,"value":525},"The deployment-shape routing front door: ",{"type":43,"tag":63,"props":527,"children":528},{},[529],{"type":48,"value":530},"\"I just got a BlueField, what now?\"",{"type":48,"value":76},{"type":43,"tag":63,"props":533,"children":534},{},[535],{"type":48,"value":536},"\"my code is built, how do I run it?\"",{"type":48,"value":76},{"type":43,"tag":63,"props":539,"children":540},{},[541],{"type":48,"value":542},"\"how do I deploy this?\"",{"type":48,"value":544}," All of these load ",{"type":43,"tag":102,"props":546,"children":548},{"className":547},[],[549],{"type":48,"value":158},{"type":48,"value":551}," first so the agent does not silently push the user onto the wrong path.",{"type":43,"tag":227,"props":553,"children":554},{},[555,557,562],{"type":48,"value":556},"Verifying that the DOCA install is healthy and that the build environment can find it (",{"type":43,"tag":102,"props":558,"children":560},{"className":559},[],[561],{"type":48,"value":426},{"type":48,"value":563},", headers, library paths).",{"type":43,"tag":227,"props":565,"children":566},{},[567,569,575],{"type":48,"value":568},"Preparing the runtime: hugepages, ",{"type":43,"tag":102,"props":570,"children":572},{"className":571},[],[573],{"type":48,"value":574},"devlink",{"type":48,"value":576}," device visibility, representor enumeration, kernel-module prerequisites.",{"type":43,"tag":227,"props":578,"children":579},{},[580,582,588],{"type":48,"value":581},"Diagnosing common setup-class failures: missing ",{"type":43,"tag":102,"props":583,"children":585},{"className":584},[],[586],{"type":48,"value":587},"*.pc",{"type":48,"value":589}," file, hugepages not mounted, representor not visible, header-vs-runtime version mismatch.",{"type":43,"tag":227,"props":591,"children":592},{},[593,595,600,602,607,609,615,617,625],{"type":48,"value":594},"The ",{"type":43,"tag":63,"props":596,"children":597},{},[598],{"type":48,"value":599},"I have no install yet",{"type":48,"value":601}," path: the user is on macOS, Windows, or a Linux box without DOCA, and needs to reach an environment where DOCA is actually installed. The canonical Stage-1 answer is the public ",{"type":43,"tag":55,"props":603,"children":604},{},[605],{"type":48,"value":606},"NGC DOCA container",{"type":48,"value":608}," at ",{"type":43,"tag":102,"props":610,"children":612},{"className":611},[],[613],{"type":48,"value":614},"nvcr.io\u002Fnvidia\u002Fdoca\u002Fdoca",{"type":48,"value":616}," (works on any OS that runs Docker; no NVIDIA hardware required for the build \u002F read \u002F learn loop). See ",{"type":43,"tag":97,"props":618,"children":619},{"href":143},[620],{"type":43,"tag":102,"props":621,"children":623},{"className":622},[],[624],{"type":48,"value":150},{"type":48,"value":294},{"type":43,"tag":51,"props":627,"children":628},{},[629,631,636],{"type":48,"value":630},"Do ",{"type":43,"tag":55,"props":632,"children":633},{},[634],{"type":48,"value":635},"not",{"type":48,"value":637}," load this skill for:",{"type":43,"tag":223,"props":639,"children":640},{},[641,662,721],{"type":43,"tag":227,"props":642,"children":643},{},[644,649,651,661],{"type":43,"tag":63,"props":645,"children":646},{},[647],{"type":48,"value":648},"\"What is DOCA?\", \"where is the developer guide?\", \"where is the install layout documented?\"",{"type":48,"value":650}," — those are routing questions; use ",{"type":43,"tag":97,"props":652,"children":654},{"href":653},"..\u002Fdoca-public-knowledge-map\u002FSKILL.md",[655],{"type":43,"tag":102,"props":656,"children":658},{"className":657},[],[659],{"type":48,"value":660},"doca-public-knowledge-map",{"type":48,"value":294},{"type":43,"tag":227,"props":663,"children":664},{},[665,678,680,685,687,695,697,703,705,711,713,719],{"type":43,"tag":63,"props":666,"children":667},{},[668,670,676],{"type":48,"value":669},"\"How do I derive a custom first application from a sample?\", \"how do I structure a DOCA build?\", \"what does ",{"type":43,"tag":102,"props":671,"children":673},{"className":672},[],[674],{"type":48,"value":675},"DOCA_ERROR_BAD_STATE",{"type":48,"value":677}," mean?\"",{"type":48,"value":679}," — those are ",{"type":43,"tag":55,"props":681,"children":682},{},[683],{"type":48,"value":684},"programming-class",{"type":48,"value":686}," questions and live in ",{"type":43,"tag":97,"props":688,"children":689},{"href":476},[690],{"type":43,"tag":102,"props":691,"children":693},{"className":692},[],[694],{"type":48,"value":483},{"type":48,"value":696},", which owns the universal ",{"type":43,"tag":102,"props":698,"children":700},{"className":699},[],[701],{"type":48,"value":702},"## modify",{"type":48,"value":704}," (first-app derivation), the canonical ",{"type":43,"tag":102,"props":706,"children":708},{"className":707},[],[709],{"type":48,"value":710},"## build",{"type":48,"value":712}," pattern, the universal lifecycle, and the cross-library ",{"type":43,"tag":102,"props":714,"children":716},{"className":715},[],[717],{"type":48,"value":718},"DOCA_ERROR_*",{"type":48,"value":720}," taxonomy.",{"type":43,"tag":227,"props":722,"children":723},{},[724,729,731,741,743,748],{"type":43,"tag":63,"props":725,"children":726},{},[727],{"type":48,"value":728},"Library-internal API questions",{"type":48,"value":730}," (Flow pipe construction, RDMA queue setup, etc.) — those belong in the matching library skill (e.g. ",{"type":43,"tag":97,"props":732,"children":734},{"href":733},"..\u002Flibs\u002Fdoca-flow\u002FSKILL.md",[735],{"type":43,"tag":102,"props":736,"children":738},{"className":737},[],[739],{"type":48,"value":740},"doca-flow",{"type":48,"value":742},"). This skill stops at ",{"type":43,"tag":63,"props":744,"children":745},{},[746],{"type":48,"value":747},"\"the install is healthy and the env is ready\"",{"type":48,"value":749},"; it does not own program semantics.",{"type":43,"tag":204,"props":751,"children":753},{"id":752},"what-this-skill-provides",[754],{"type":48,"value":755},"What this skill provides",{"type":43,"tag":51,"props":757,"children":758},{},[759,761,766],{"type":48,"value":760},"This is a ",{"type":43,"tag":55,"props":762,"children":763},{},[764],{"type":48,"value":765},"thin loader",{"type":48,"value":767},". The body keeps only the orientation needed to pick the right next file. The substantive env material lives in two companion files:",{"type":43,"tag":223,"props":769,"children":770},{},[771,841],{"type":43,"tag":227,"props":772,"children":773},{},[774,780,782,787,789,795,796,802,803,809,811,817,819,824,826,831,833,839],{"type":43,"tag":102,"props":775,"children":777},{"className":776},[],[778],{"type":48,"value":779},"CAPABILITIES.md",{"type":48,"value":781}," — what the install \u002F build \u002F runtime ",{"type":43,"tag":63,"props":783,"children":784},{},[785],{"type":48,"value":786},"environment",{"type":48,"value":788}," surface looks like: install profiles (",{"type":43,"tag":102,"props":790,"children":792},{"className":791},[],[793],{"type":48,"value":794},"doca-all",{"type":48,"value":76},{"type":43,"tag":102,"props":797,"children":799},{"className":798},[],[800],{"type":48,"value":801},"doca-ofed",{"type":48,"value":76},{"type":43,"tag":102,"props":804,"children":806},{"className":805},[],[807],{"type":48,"value":808},"doca-networking",{"type":48,"value":810},"), where the build flavors (release vs trace) live on disk and how to point ",{"type":43,"tag":102,"props":812,"children":814},{"className":813},[],[815],{"type":48,"value":816},"LD_LIBRARY_PATH",{"type":48,"value":818}," at them, the env-side version-detection rules, the env-class error taxonomy (",{"type":43,"tag":102,"props":820,"children":822},{"className":821},[],[823],{"type":48,"value":426},{"type":48,"value":825}," not finding ",{"type":43,"tag":102,"props":827,"children":829},{"className":828},[],[830],{"type":48,"value":740},{"type":48,"value":832},", hugepages not reserved, representors not visible), what a healthy install looks like under observation, and the safety constraints on environment changes (hugepages global, ",{"type":43,"tag":102,"props":834,"children":836},{"className":835},[],[837],{"type":48,"value":838},"mlxconfig",{"type":48,"value":840}," reset, eswitch mode change).",{"type":43,"tag":227,"props":842,"children":843},{},[844,850,852,858,860,866,868,874,876,882,884,890,892,896,898,904,905,911,912,918,920,928],{"type":43,"tag":102,"props":845,"children":847},{"className":846},[],[848],{"type":48,"value":849},"TASKS.md",{"type":48,"value":851}," — env workflows: ",{"type":43,"tag":102,"props":853,"children":855},{"className":854},[],[856],{"type":48,"value":857},"recognize",{"type":48,"value":859}," (the front-door system-shape detect + dev-Q decision tree that routes deployment-shaped questions to either container or bare-metal), ",{"type":43,"tag":102,"props":861,"children":863},{"className":862},[],[864],{"type":48,"value":865},"configure",{"type":48,"value":867}," (env prep), ",{"type":43,"tag":102,"props":869,"children":871},{"className":870},[],[872],{"type":48,"value":873},"test",{"type":48,"value":875}," (install health snapshot), ",{"type":43,"tag":102,"props":877,"children":879},{"className":878},[],[880],{"type":48,"value":881},"debug",{"type":48,"value":883}," (env-class layered diagnosis), and ",{"type":43,"tag":102,"props":885,"children":887},{"className":886},[],[888],{"type":48,"value":889},"no-install",{"type":48,"value":891}," (the ",{"type":43,"tag":63,"props":893,"children":894},{},[895],{"type":48,"value":599},{"type":48,"value":897}," procedure with the NGC container as Path 0). Three other anchors (",{"type":43,"tag":102,"props":899,"children":901},{"className":900},[],[902],{"type":48,"value":903},"build",{"type":48,"value":76},{"type":43,"tag":102,"props":906,"children":908},{"className":907},[],[909],{"type":48,"value":910},"modify",{"type":48,"value":76},{"type":43,"tag":102,"props":913,"children":915},{"className":914},[],[916],{"type":48,"value":917},"run",{"type":48,"value":919},") exist for lint compliance and route to ",{"type":43,"tag":97,"props":921,"children":922},{"href":476},[923],{"type":43,"tag":102,"props":924,"children":926},{"className":925},[],[927],{"type":48,"value":483},{"type":48,"value":929},", which owns those verbs after the env \u002F program split.",{"type":43,"tag":51,"props":931,"children":932},{},[933,935,940,942,947],{"type":48,"value":934},"This skill assumes nothing about whether DOCA is installed — the ",{"type":43,"tag":102,"props":936,"children":938},{"className":937},[],[939],{"type":48,"value":188},{"type":48,"value":941}," workflow exists precisely for the ",{"type":43,"tag":63,"props":943,"children":944},{},[945],{"type":48,"value":946},"fresh laptop",{"type":48,"value":948}," case.",{"type":43,"tag":204,"props":950,"children":952},{"id":951},"loading-order",[953],{"type":48,"value":954},"Loading order",{"type":43,"tag":956,"props":957,"children":958},"ol",{},[959,972,1024,1040,1066,1136],{"type":43,"tag":227,"props":960,"children":961},{},[962,964,970],{"type":48,"value":963},"Read this ",{"type":43,"tag":102,"props":965,"children":967},{"className":966},[],[968],{"type":48,"value":969},"SKILL.md",{"type":48,"value":971}," and classify the question as programming,\nknowledge-map, beginner orientation, deployment routing, or\nenvironment work. Programming and knowledge-map questions route to\ntheir owning skill and stop here.",{"type":43,"tag":227,"props":973,"children":974},{},[975,980,982,993,995,1000,1002,1007,1009,1014,1016,1022],{"type":43,"tag":55,"props":976,"children":977},{},[978],{"type":48,"value":979},"For beginner orientation",{"type":48,"value":981},", show the\n",{"type":43,"tag":97,"props":983,"children":985},{"href":984},"TASKS.md#stage-1-vs-stage-2--open-every-i-am-new-to-doca-answer-with-the-staged-roadmap",[986,991],{"type":43,"tag":102,"props":987,"children":989},{"className":988},[],[990],{"type":48,"value":150},{"type":48,"value":992}," Stage 1 vs Stage 2 roadmap",{"type":48,"value":994},"\nbefore any command. Then route Stage 1\u002Fcontainer learning to\n",{"type":43,"tag":102,"props":996,"children":998},{"className":997},[],[999],{"type":48,"value":188},{"type":48,"value":1001}," Path 0 and Stage 2\u002Fhardware runtime to\n",{"type":43,"tag":102,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":48,"value":188},{"type":48,"value":1008}," Paths A\u002FC, followed by ",{"type":43,"tag":102,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":48,"value":158},{"type":48,"value":1015}," before\nselecting container versus bare-metal. Ask one clarifying question\nwhen the stage is unknown; if it remains unknown or no reply is\navailable in unattended execution, stop with\n",{"type":43,"tag":102,"props":1017,"children":1019},{"className":1018},[],[1020],{"type":48,"value":1021},"confirmation_required",{"type":48,"value":1023}," and both paths explained rather than\nguessing.",{"type":43,"tag":227,"props":1025,"children":1026},{},[1027,1032,1034,1038],{"type":43,"tag":55,"props":1028,"children":1029},{},[1030],{"type":48,"value":1031},"For deployment routing",{"type":48,"value":1033},", walk\n",{"type":43,"tag":97,"props":1035,"children":1036},{"href":99},[1037],{"type":48,"value":107},{"type":48,"value":1039}," first only when the\ncontainer-versus-bare-metal path is not already established. If it\nis established, proceed directly to the matching env workflow.",{"type":43,"tag":227,"props":1041,"children":1042},{},[1043,1048,1050,1056,1058,1064],{"type":43,"tag":55,"props":1044,"children":1045},{},[1046],{"type":48,"value":1047},"Before a change recommendation on an installed\u002Fhardware target",{"type":48,"value":1049},",\nload the mandatory\n",{"type":43,"tag":97,"props":1051,"children":1053},{"href":1052},"CAPABILITIES.md#universal-verification-contract",[1054],{"type":48,"value":1055},"Universal verification contract",{"type":48,"value":1057},"\nand walk all applicable steps through an auditable green signal.\nHardware-touching answers also load the\n",{"type":43,"tag":97,"props":1059,"children":1061},{"href":1060},"CAPABILITIES.md#hardware-binding-layer-command-stanza",[1062],{"type":48,"value":1063},"hardware binding-layer command stanza",{"type":48,"value":1065},".\nThe Stage-1 no-hardware path instead uses its own container\ninstall\u002Fsmoke green signal; never fabricate unavailable PCIe,\nrepresentor, or hardware evidence.",{"type":43,"tag":227,"props":1067,"children":1068},{},[1069,1105,1107,1112,1113,1118,1120,1125,1127,1135],{"type":43,"tag":55,"props":1070,"children":1071},{},[1072,1074,1079,1080,1085,1086,1091,1093,1098,1100,1104],{"type":48,"value":1073},"For env workflows — ",{"type":43,"tag":102,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":48,"value":865},{"type":48,"value":76},{"type":43,"tag":102,"props":1081,"children":1083},{"className":1082},[],[1084],{"type":48,"value":873},{"type":48,"value":76},{"type":43,"tag":102,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":48,"value":881},{"type":48,"value":1092},", and\n",{"type":43,"tag":102,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":48,"value":889},{"type":48,"value":1099}," — see ",{"type":43,"tag":97,"props":1101,"children":1102},{"href":849},[1103],{"type":48,"value":849},{"type":48,"value":294},{"type":48,"value":1106}," The ",{"type":43,"tag":102,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":48,"value":903},{"type":48,"value":76},{"type":43,"tag":102,"props":1114,"children":1116},{"className":1115},[],[1117],{"type":48,"value":910},{"type":48,"value":1119},",\nand ",{"type":43,"tag":102,"props":1121,"children":1123},{"className":1122},[],[1124],{"type":48,"value":917},{"type":48,"value":1126}," anchors route to\n",{"type":43,"tag":97,"props":1128,"children":1129},{"href":476},[1130],{"type":43,"tag":102,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":48,"value":483},{"type":48,"value":294},{"type":43,"tag":227,"props":1137,"children":1138},{},[1139,1141,1146],{"type":48,"value":1140},"Once the env is healthy, hand off to the selected deployment skill,\nthen ",{"type":43,"tag":102,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":48,"value":483},{"type":48,"value":1147},", then the matching library skill.",{"type":43,"tag":51,"props":1149,"children":1150},{},[1151,1153,1158,1160,1165,1167,1172],{"type":48,"value":1152},"Both companion files cross-link to each other and to ",{"type":43,"tag":102,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":48,"value":660},{"type":48,"value":1159}," whenever the right answer is ",{"type":43,"tag":63,"props":1161,"children":1162},{},[1163],{"type":48,"value":1164},"\"look it up in the public docs or the installed package layout\"",{"type":48,"value":1166}," rather than ",{"type":43,"tag":63,"props":1168,"children":1169},{},[1170],{"type":48,"value":1171},"\"setup-specific guidance\"",{"type":48,"value":294},{"type":43,"tag":204,"props":1174,"children":1176},{"id":1175},"related-skills",[1177],{"type":48,"value":1178},"Related skills",{"type":43,"tag":223,"props":1180,"children":1181},{},[1182,1202,1222,1255,1297],{"type":43,"tag":227,"props":1183,"children":1184},{},[1185,1193,1195,1200],{"type":43,"tag":97,"props":1186,"children":1187},{"href":119},[1188],{"type":43,"tag":102,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":48,"value":126},{"type":48,"value":1194}," — the container deployment runtime (kubelet standalone + YAML pod-spec drop) for any DOCA service container on BlueField. ",{"type":43,"tag":102,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":48,"value":158},{"type":48,"value":1201}," here routes to this skill when the developer's workload + system shape land on the container path.",{"type":43,"tag":227,"props":1203,"children":1204},{},[1205,1213,1215,1220],{"type":43,"tag":97,"props":1206,"children":1207},{"href":131},[1208],{"type":43,"tag":102,"props":1209,"children":1211},{"className":1210},[],[1212],{"type":48,"value":138},{"type":48,"value":1214}," — the bare-metal hardware deployment runtime (host x86 OR BlueField Arm direct launch — systemd \u002F tmux \u002F direct invocation, hardware-resource binding, per-tenant isolation, restart discipline) for a DOCA-linked binary. ",{"type":43,"tag":102,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":48,"value":158},{"type":48,"value":1221}," here routes to this skill when the developer's workload + system shape land on the bare-metal path.",{"type":43,"tag":227,"props":1223,"children":1224},{},[1225,1233,1235,1240,1241,1246,1248,1253],{"type":43,"tag":97,"props":1226,"children":1227},{"href":653},[1228],{"type":43,"tag":102,"props":1229,"children":1231},{"className":1230},[],[1232],{"type":48,"value":660},{"type":48,"value":1234}," — public DOCA documentation routing and the on-disk layout of an installed DOCA package. This skill defers all ",{"type":43,"tag":63,"props":1236,"children":1237},{},[1238],{"type":48,"value":1239},"\"where is X documented\"",{"type":48,"value":76},{"type":43,"tag":63,"props":1242,"children":1243},{},[1244],{"type":48,"value":1245},"\"where on disk is Y\"",{"type":48,"value":1247},", and ",{"type":43,"tag":63,"props":1249,"children":1250},{},[1251],{"type":48,"value":1252},"\"how do I check the installed version\"",{"type":48,"value":1254}," questions to the knowledge-map.",{"type":43,"tag":227,"props":1256,"children":1257},{},[1258,1266,1268,1274,1276,1281,1283,1288,1290,1295],{"type":43,"tag":97,"props":1259,"children":1260},{"href":476},[1261],{"type":43,"tag":102,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":48,"value":483},{"type":48,"value":1267}," — general DOCA programming patterns once the env is healthy: the canonical ",{"type":43,"tag":102,"props":1269,"children":1271},{"className":1270},[],[1272],{"type":48,"value":1273},"pkg-config doca-\u003Clibrary>",{"type":48,"value":1275}," build pattern, the universal ",{"type":43,"tag":63,"props":1277,"children":1278},{},[1279],{"type":48,"value":1280},"derive a custom first app from a sample",{"type":48,"value":1282}," workflow (with C \u002F C++ + non-C tracks), the universal lifecycle, and the cross-library ",{"type":43,"tag":102,"props":1284,"children":1286},{"className":1285},[],[1287],{"type":48,"value":718},{"type":48,"value":1289}," taxonomy. Anything beyond ",{"type":43,"tag":63,"props":1291,"children":1292},{},[1293],{"type":48,"value":1294},"\"is the install healthy and the env ready\"",{"type":48,"value":1296}," lives there.",{"type":43,"tag":227,"props":1298,"children":1299},{},[1300,1308,1310,1315],{"type":43,"tag":97,"props":1301,"children":1302},{"href":733},[1303],{"type":43,"tag":102,"props":1304,"children":1306},{"className":1305},[],[1307],{"type":48,"value":740},{"type":48,"value":1309}," — DOCA Flow on BlueField. Builds on this skill for env preparation and on ",{"type":43,"tag":102,"props":1311,"children":1313},{"className":1312},[],[1314],{"type":48,"value":483},{"type":48,"value":1316}," for the universal first-app derivation, then layers Flow-specific overrides on top.",{"items":1318,"total":1422},[1319,1336,1350,1364,1376,1393,1408],{"slug":1320,"name":1320,"fn":1321,"description":1322,"org":1323,"tags":1324,"stars":23,"repoUrl":24,"updatedAt":1335},"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},[1325,1328,1331,1332],{"name":1326,"slug":1327,"type":15},"Data Analysis","data-analysis",{"name":1329,"slug":1330,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":1333,"slug":1334,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":1337,"name":1337,"fn":1338,"description":1339,"org":1340,"tags":1341,"stars":23,"repoUrl":24,"updatedAt":1349},"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},[1342,1345,1348],{"name":1343,"slug":1344,"type":15},"Deployment","deployment",{"name":1346,"slug":1347,"type":15},"Infrastructure","infrastructure",{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":1351,"name":1351,"fn":1352,"description":1353,"org":1354,"tags":1355,"stars":23,"repoUrl":24,"updatedAt":1363},"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},[1356,1359,1360],{"name":1357,"slug":1358,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":1361,"slug":1362,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":1365,"name":1365,"fn":1366,"description":1367,"org":1368,"tags":1369,"stars":23,"repoUrl":24,"updatedAt":1375},"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},[1370,1371,1372],{"name":1326,"slug":1327,"type":15},{"name":9,"slug":8,"type":15},{"name":1373,"slug":1374,"type":15},"Testing","testing","2026-07-17T05:29:03.913266",{"slug":1377,"name":1377,"fn":1378,"description":1379,"org":1380,"tags":1381,"stars":23,"repoUrl":24,"updatedAt":1392},"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},[1382,1385,1388,1389],{"name":1383,"slug":1384,"type":15},"Automation","automation",{"name":1386,"slug":1387,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":1390,"slug":1391,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":1394,"name":1394,"fn":1395,"description":1396,"org":1397,"tags":1398,"stars":23,"repoUrl":24,"updatedAt":1407},"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},[1399,1400,1403,1404],{"name":1343,"slug":1344,"type":15},{"name":1401,"slug":1402,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":1405,"slug":1406,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":1409,"name":1409,"fn":1410,"description":1411,"org":1412,"tags":1413,"stars":23,"repoUrl":24,"updatedAt":1421},"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},[1414,1415,1418],{"name":9,"slug":8,"type":15},{"name":1416,"slug":1417,"type":15},"Quantum Computing","quantum-computing",{"name":1419,"slug":1420,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305,{"items":1424,"total":1575},[1425,1443,1459,1470,1482,1496,1509,1523,1534,1543,1557,1566],{"slug":1426,"name":1426,"fn":1427,"description":1428,"org":1429,"tags":1430,"stars":1440,"repoUrl":1441,"updatedAt":1442},"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},[1431,1434,1437],{"name":1432,"slug":1433,"type":15},"Documentation","documentation",{"name":1435,"slug":1436,"type":15},"MCP","mcp",{"name":1438,"slug":1439,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1444,"name":1444,"fn":1445,"description":1446,"org":1447,"tags":1448,"stars":1456,"repoUrl":1457,"updatedAt":1458},"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},[1449,1452,1453],{"name":1450,"slug":1451,"type":15},"Containers","containers",{"name":1343,"slug":1344,"type":15},{"name":1454,"slug":1455,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1460,"name":1460,"fn":1461,"description":1462,"org":1463,"tags":1464,"stars":1456,"repoUrl":1457,"updatedAt":1469},"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},[1465,1468],{"name":1466,"slug":1467,"type":15},"CI\u002FCD","ci-cd",{"name":1343,"slug":1344,"type":15},"2026-07-14T05:25:59.97109",{"slug":1471,"name":1471,"fn":1472,"description":1473,"org":1474,"tags":1475,"stars":1456,"repoUrl":1457,"updatedAt":1481},"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},[1476,1477,1478],{"name":1466,"slug":1467,"type":15},{"name":1343,"slug":1344,"type":15},{"name":1479,"slug":1480,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1483,"name":1483,"fn":1484,"description":1485,"org":1486,"tags":1487,"stars":1456,"repoUrl":1457,"updatedAt":1495},"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},[1488,1491,1492],{"name":1489,"slug":1490,"type":15},"Debugging","debugging",{"name":1479,"slug":1480,"type":15},{"name":1493,"slug":1494,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1497,"name":1497,"fn":1498,"description":1499,"org":1500,"tags":1501,"stars":1456,"repoUrl":1457,"updatedAt":1508},"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},[1502,1505],{"name":1503,"slug":1504,"type":15},"Best Practices","best-practices",{"name":1506,"slug":1507,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1510,"name":1510,"fn":1511,"description":1512,"org":1513,"tags":1514,"stars":1456,"repoUrl":1457,"updatedAt":1522},"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},[1515,1518,1521],{"name":1516,"slug":1517,"type":15},"Machine Learning","machine-learning",{"name":1519,"slug":1520,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1524,"name":1524,"fn":1525,"description":1526,"org":1527,"tags":1528,"stars":1456,"repoUrl":1457,"updatedAt":1533},"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},[1529,1532],{"name":1530,"slug":1531,"type":15},"QA","qa",{"name":1373,"slug":1374,"type":15},"2026-07-14T05:25:53.673039",{"slug":1535,"name":1535,"fn":1536,"description":1537,"org":1538,"tags":1539,"stars":1456,"repoUrl":1457,"updatedAt":1542},"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},[1540,1541],{"name":1343,"slug":1344,"type":15},{"name":1346,"slug":1347,"type":15},"2026-07-14T05:25:49.362534",{"slug":1544,"name":1544,"fn":1545,"description":1546,"org":1547,"tags":1548,"stars":1456,"repoUrl":1457,"updatedAt":1556},"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},[1549,1552,1553],{"name":1550,"slug":1551,"type":15},"Code Review","code-review",{"name":1479,"slug":1480,"type":15},{"name":1554,"slug":1555,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1558,"name":1558,"fn":1559,"description":1560,"org":1561,"tags":1562,"stars":1456,"repoUrl":1457,"updatedAt":1565},"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},[1563,1564],{"name":1530,"slug":1531,"type":15},{"name":1373,"slug":1374,"type":15},"2026-07-14T05:25:54.928983",{"slug":1567,"name":1567,"fn":1568,"description":1569,"org":1570,"tags":1571,"stars":1456,"repoUrl":1457,"updatedAt":1574},"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},[1572,1573],{"name":1383,"slug":1384,"type":15},{"name":1466,"slug":1467,"type":15},"2026-07-30T05:29:03.275638",496]