[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-doca-telemetry-exporter":3,"mdc-g79287-key":34,"related-repo-nvidia-doca-telemetry-exporter":1287,"related-org-nvidia-doca-telemetry-exporter":1393},{"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-telemetry-exporter","program DOCA Telemetry Exporter on NVIDIA hardware","Use this skill when the user is doing hands-on DOCA Telemetry Exporter programming on a host where DOCA is installed — defining a doca_telemetry_exporter_schema, creating sources, picking counter\u002Fgauge\u002Fevent types, running capability queries before assuming limits, registering schemas before the first emit, or debugging DOCA_ERROR_* failures from the exporter API. Trigger even when the user does not explicitly mention \"DOCA Telemetry Exporter\" or \"doca_telemetry_exporter_*\" — typical implicit phrasings include \"publishing counters from my DOCA app\", \"emit returns AGAIN under bulk load\", \"consumer sees nothing but emit reports success\", \"NOT_FOUND on first submit\", or \"should I link the exporter or the telemetry service\". Refuse and route elsewhere for the receiving DOCA Telemetry Service, plain stdout logging via doca_log, non-DOCA Prometheus scrape sinks, or real-time event subscription back into the app via doca-comch — 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,17,20],{"name":13,"slug":14,"type":15},"Monitoring","monitoring","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Engineering","engineering",{"name":21,"slug":22,"type":15},"Telemetry","telemetry",2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-30T05:28:46.444015","Apache-2.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-telemetry-exporter","---\nlicense: Apache-2.0\nname: doca-telemetry-exporter\ndescription: >\n  Use this skill when the user is doing hands-on DOCA Telemetry\n  Exporter programming on a host where DOCA is installed — defining\n  a doca_telemetry_exporter_schema, creating sources, picking\n  counter\u002Fgauge\u002Fevent types, running capability queries before\n  assuming limits, registering schemas before the first emit, or\n  debugging DOCA_ERROR_* failures from the exporter API. Trigger\n  even when the user does not explicitly mention \"DOCA Telemetry\n  Exporter\" or \"doca_telemetry_exporter_*\" — typical implicit\n  phrasings include \"publishing counters from my DOCA app\", \"emit\n  returns AGAIN under bulk load\", \"consumer sees nothing but emit\n  reports success\", \"NOT_FOUND on first submit\", or \"should I link\n  the exporter or the telemetry service\". Refuse and route elsewhere\n  for the receiving DOCA Telemetry Service, plain stdout logging via\n  doca_log, non-DOCA Prometheus scrape sinks, or real-time event\n  subscription back into the app via doca-comch — those belong to\n  other skills.\nmetadata:\n  kind: library\ncompatibility: >\n  Requires DOCA SDK installed at \u002Fopt\u002Fmellanox\u002Fdoca on Linux (Ubuntu\n  22.04\u002F24.04 or RHEL\u002FSLES) with a BlueField DPU or ConnectX NIC\n  attached. Reads the user's local install via `pkg-config\n  doca-telemetry-exporter` and inspects\n  \u002Fopt\u002Fmellanox\u002Fdoca\u002F{lib,include,samples,applications}.\n---\n\n# DOCA Telemetry Exporter\n\n**Where to start:** This skill assumes DOCA is already installed and\nthe user is doing **hands-on telemetry-exporter work** — emitting\nstructured application telemetry (counters \u002F events) from a\nDOCA-using program to an external consumer. Open\n[`TASKS.md`](TASKS.md) if the user wants to *do* something (configure\n\u002F build \u002F modify + rebuild \u002F run \u002F test \u002F debug); open\n[`CAPABILITIES.md`](CAPABILITIES.md) when the question is *what can\nthe exporter express* on this install. If the user has not installed\nDOCA yet, route to [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) first.\nIf the user is confused about whether they want this library or the\nDOCA Telemetry Service (the receiver) — read the\nexporter-vs-service rule in\n[`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\nbefore configuring anything.\n\n## Example questions this skill answers well\n\nThe CLASSES of telemetry-exporter questions this skill is built to\nanswer, each with one worked example. The agent should treat the\n*class* as the load-bearing piece — the worked example is a single\ninstance.\n\n- **\"Which library do I want — the exporter or the telemetry\n  service?\"** — worked example: *\"I want my DOCA Flow program to\n  publish a per-second packets-processed counter to a downstream\n  collector — which DOCA artifact do I link?\"*. Answered by the\n  exporter-vs-service rule in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  role-split table + the path-selection bullet, both of which name\n  `doca-telemetry-exporter` as the publisher the application links\n  and route the receiving \u002F consuming side away from this skill.\n- **\"How do I emit my first structured event from a DOCA program?\"** —\n  worked example: *\"emit a single per-second `packets_processed`\n  counter event from my DOCA Flow application\"*. Answered by the\n  schema-register-before-emit lifecycle in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes)\n  object table + the workflow in\n  [`TASKS.md ## configure`](TASKS.md#configure) +\n  [`TASKS.md ## run`](TASKS.md#run) step 3 (single-event smoke\n  before bulk).\n- **\"My event-emit call returns `DOCA_ERROR_AGAIN` under load —\n  should I retry?\"** — worked example: *\"my high-rate emit loop\n  starts returning `AGAIN` once the downstream consumer falls\n  behind — do I sleep-and-retry?\"*. Answered by the hot-path\n  drop-not-block invariant in\n  [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)\n  + the `AGAIN` row in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy):\n  the app's correct response is to drop the event (or buffer\n  bounded) — never block the data path on telemetry.\n- **\"My emit returns `DOCA_ERROR_NOT_FOUND` — what did I forget?\"** —\n  worked example: *\"`doca_telemetry_exporter_source_report` returns\n  `NOT_FOUND` on the very first call\"*. Answered by the `NOT_FOUND`\n  row in\n  [`CAPABILITIES.md ## Error taxonomy`](CAPABILITIES.md#error-taxonomy)\n  (schema for the event type was never registered against this\n  source) + the lifecycle order in\n  [`TASKS.md ## configure`](TASKS.md#configure) (register schemas\n  BEFORE the first emit).\n- **\"My program emits, but the consumer sees nothing — where do I\n  start?\"** — worked example: *\"emit returns success, but the\n  collector log on the same host is empty\"*. Answered by the\n  consumer-must-be-up-first rule in\n  [`CAPABILITIES.md ## Safety policy`](CAPABILITIES.md#safety-policy)\n  permission matrix + the smoke-before-bulk loop in\n  [`TASKS.md ## test`](TASKS.md#test) (one event end-to-end with\n  consumer reception confirmed BEFORE any bulk emit).\n- **\"Is `doca_telemetry_exporter_*` on my installed DOCA, and is\n  the event type I want supported here?\"** — worked example: *\"is\n  the gauge type on DOCA 3.3 against my install?\"*. Answered by\n  the version-compatibility 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), plus the\n  capability-query rule in\n  [`CAPABILITIES.md ## Capabilities and modes`](CAPABILITIES.md#capabilities-and-modes).\n\n## Audience\n\nThis skill serves **external developers building applications that\nemit structured telemetry through DOCA Telemetry Exporter** — i.e.,\nusers whose application code calls `doca_telemetry_exporter_*`\n(directly in C\u002FC++, or through FFI\u002Fbindings from another language)\nto publish counters, gauges, and events from their DOCA-using\nprogram to an external telemetry consumer. It is *not* for NVIDIA\ndevelopers contributing to DOCA Telemetry Exporter itself, and it\nis *not* for users building the receiving \u002F aggregating telemetry\nservice (the DOCA Telemetry Service is a separate DOCA service with\nits own public guide, reached via\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)).\n\n**Language scope.** DOCA Telemetry Exporter ships as a C library\nwith `pkg-config` module name `doca-telemetry-exporter`. The\nshipped samples are written in C. C and C++ consumers are the\ncanonical case; the worked examples in `TASKS.md` assume that path.\nOther-language consumers (Rust, Go, Python, …) consume the same\n`*.so` through FFI or language-specific bindings; the skill's\ncontribution in that case is to keep the exporter-vs-service\ndistinction, the schema-register-before-emit lifecycle, the\ncapability-discovery rule, the same-user-as-the-app permission\nrule, the hot-path drop-not-block invariant, and the error-taxonomy\nguidance language-neutral, and to route the agent to the public C\nABI as the authoritative surface that any wrapper will eventually\ncall.\n\n## When to load this skill\n\nLoad this skill when the user is doing hands-on DOCA Telemetry\nExporter work, in any language. Concretely:\n\n- Defining a `doca_telemetry_exporter_schema` for the events the\n  application will emit (field names + field types), and\n  registering it with the exporter BEFORE any event is published.\n- Creating one or more `doca_telemetry_exporter_source` instances\n  to represent distinct logical sources of telemetry inside the\n  application (e.g. one source per worker thread \u002F per pipeline\n  stage).\n- Picking the right `doca_telemetry_exporter_type` (counter,\n  gauge, event) for each field the application reports.\n- Reading the device + library capability surface for the\n  exporter via the `doca_telemetry_exporter_*_get_*` query family\n  before assuming a particular limit (max schema fields, max\n  event size, …) is available on this install.\n- Debugging a `DOCA_ERROR_*` returned from an exporter call\n  (lifecycle vs. invalid value vs. transport-queue-full vs.\n  permission vs. transport \u002F driver) and the per-emit status\n  reported back to the application.\n- Choosing between Telemetry Exporter and an adjacent option\n  (`doca_log` when stdout \u002F structured-log shipping is enough; a\n  Prometheus client library when the user needs a non-DOCA-aware\n  sink; [`doca-comch`](..\u002Fdoca-comch\u002FSKILL.md) when the user\n  needs a real-time event subscription back INTO the app — the\n  exporter is publish-only \u002F one-way).\n- Designing or extending non-C bindings (Rust, Go, Python, …)\n  that wrap the exporter C ABI — for the exporter-vs-service\n  distinction, the schema-register-before-emit lifecycle, the\n  permission policy, the hot-path drop-not-block invariant, and\n  the capability + error rules the wrapper must honor.\n\nDo **not** load this skill for general DOCA orientation, install\nof DOCA itself, the receiving telemetry service (the DOCA\nTelemetry Service has its own public guide reachable through\n[`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md)),\nor non-exporter library questions. For those, 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\nexporter-specific material lives in two companion files:\n\n- `CAPABILITIES.md` — what the exporter can express on this\n  install: the exporter-vs-service role-split rule, the object\n  family (`doca_telemetry_exporter_schema` → `_source` → `_type`\n  with the schema-register-before-emit lifecycle), the\n  capability-query surface (`doca_telemetry_exporter_*_get_*`),\n  the exporter error taxonomy (mapped onto the cross-library\n  `DOCA_ERROR_*` set, with the `AGAIN`-means-drop-not-block rule\n  called out explicitly), the observability surface (per-emit\n  status + capability snapshot at configure time + the consumer\n  side as the end-to-end signal), the safety policy that gates\n  the same-user-as-the-app permission and the\n  consumer-must-be-up-first staging, and the path-selection rule\n  against `doca_log`, Prometheus, and `doca-comch`.\n- `TASKS.md` — step-by-step workflows for the six in-scope\n  exporter verbs: `configure`, `build`, `modify` (followed by a\n  rebuild), `run`, `test`, `debug`. Plus a `Deferred task verbs` block that points\n  out-of-scope questions at the right next skill.\n\nThe skill assumes a host where DOCA is already installed at the\nstandard location, the application runs as a user that can write\nto the telemetry transport the exporter is configured for, and a\nreceiving telemetry consumer is reachable and started before the\nexporter. It does not cover installing DOCA — that path goes\nthrough [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) — and it does\nnot cover configuring \u002F operating the receiving telemetry service,\nwhich is a separate DOCA service with its own public guide.\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 Telemetry Exporter application source code,\n  in any language.** The verified exporter source code is the\n  shipped C samples at\n  `\u002Fopt\u002Fmellanox\u002Fdoca\u002Fsamples\u002Fdoca_telemetry_exporter\u002F`. The\n  agent's 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 exporter-specific overrides in\n  [`TASKS.md ## modify`](TASKS.md#modify).\n- **A telemetry consumer \u002F collector \u002F receiving service.** The\n  DOCA Telemetry Service is a separate DOCA service with its own\n  public guide; routing to it goes through\n  [`doca-public-knowledge-map`](..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md).\n  This skill is about the publisher side only.\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\n  the user's installed DOCA, where `pkg-config --modversion\n  doca-telemetry-exporter` 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\n   in scope.\n2. **For the exporter-vs-service rule, the object family, the\n   schema-register-before-emit lifecycle, the capability-query\n   surface, the error taxonomy (including the `AGAIN`-means-drop\n   rule), observability, the safety policy, and the\n   path-selection rule against `doca_log` \u002F Prometheus \u002F comch,\n   see [CAPABILITIES.md](CAPABILITIES.md).**\n3. **For step-by-step workflows — configure, build, modify,\n   rebuild, run, 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\nthe installed package layout\" rather than \"exporter-specific\nguidance\".\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\n  and the on-disk layout of an installed DOCA package. The\n  exporter's public guide URL is\n  `https:\u002F\u002Fdocs.nvidia.com\u002Fdoca\u002Fsdk\u002FDOCA-Telemetry-Exporter\u002Findex.html`;\n  the on-disk samples live under\n  `\u002Fopt\u002Fmellanox\u002Fdoca\u002Fsamples\u002Fdoca_telemetry_exporter\u002F`. The\n  DOCA Telemetry Service (the *receiver*, out of scope here) is\n  a separate guide reachable through that same routing table.\n- [`doca-setup`](..\u002F..\u002Fdoca-setup\u002FSKILL.md) — env preparation,\n  install verification, transport-side reachability checks, and\n  the *I have no install yet* path with the public NGC DOCA\n  container. This skill assumes its preconditions are satisfied\n  (in particular, the application user can write to the\n  telemetry transport).\n- [`doca-version`](..\u002F..\u002Fdoca-version\u002FSKILL.md) — canonical DOCA\n  version-handling rules. This skill's `## Version compatibility`\n  cross-links the four-way match rule + detection chain and adds\n  the exporter-specific overlay rules.\n- [`doca-structured-tools-contract`](..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md) —\n  the bundle's structured-tools precedence rule (detect \u002F prefer\n  \u002F 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 exporter specifics\n  on top.\n- [`doca-comch`](..\u002Fdoca-comch\u002FSKILL.md) — the right primitive\n  when the user needs a real-time event subscription back INTO\n  the application (host ↔ DPU control-plane messaging). The\n  exporter is publish-only \u002F one-way; this skill's\n  path-selection rule routes there when subscription is the\n  actual requirement.\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). Exporter-specific debug (consumer not up,\n  schema-not-registered, transport queue full, hot-path block)\n  overlays on top of that ladder.\n",{"data":35,"body":39},{"license":26,"name":4,"description":6,"metadata":36,"compatibility":38},{"kind":37},"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 user's local install via `pkg-config doca-telemetry-exporter` and inspects \u002Fopt\u002Fmellanox\u002Fdoca\u002F{lib,include,samples,applications}.\n",{"type":40,"children":41},"root",[42,50,132,139,151,481,487,531,571,577,582,680,710,716,728,860,875,881,893,1038,1044,1101,1126,1132],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":49},"text","DOCA Telemetry Exporter",{"type":43,"tag":51,"props":52,"children":53},"p",{},[54,60,62,67,69,80,82,88,90,99,101,106,108,118,120,130],{"type":43,"tag":55,"props":56,"children":57},"strong",{},[58],{"type":48,"value":59},"Where to start:",{"type":48,"value":61}," This skill assumes DOCA is already installed and\nthe user is doing ",{"type":43,"tag":55,"props":63,"children":64},{},[65],{"type":48,"value":66},"hands-on telemetry-exporter work",{"type":48,"value":68}," — emitting\nstructured application telemetry (counters \u002F events) from a\nDOCA-using program to an external consumer. Open\n",{"type":43,"tag":70,"props":71,"children":73},"a",{"href":72},"TASKS.md",[74],{"type":43,"tag":75,"props":76,"children":78},"code",{"className":77},[],[79],{"type":48,"value":72},{"type":48,"value":81}," if the user wants to ",{"type":43,"tag":83,"props":84,"children":85},"em",{},[86],{"type":48,"value":87},"do",{"type":48,"value":89}," something (configure\n\u002F build \u002F modify + rebuild \u002F run \u002F test \u002F debug); open\n",{"type":43,"tag":70,"props":91,"children":93},{"href":92},"CAPABILITIES.md",[94],{"type":43,"tag":75,"props":95,"children":97},{"className":96},[],[98],{"type":48,"value":92},{"type":48,"value":100}," when the question is ",{"type":43,"tag":83,"props":102,"children":103},{},[104],{"type":48,"value":105},"what can\nthe exporter express",{"type":48,"value":107}," on this install. If the user has not installed\nDOCA yet, route to ",{"type":43,"tag":70,"props":109,"children":111},{"href":110},"..\u002F..\u002Fdoca-setup\u002FSKILL.md",[112],{"type":43,"tag":75,"props":113,"children":115},{"className":114},[],[116],{"type":48,"value":117},"doca-setup",{"type":48,"value":119}," first.\nIf the user is confused about whether they want this library or the\nDOCA Telemetry Service (the receiver) — read the\nexporter-vs-service rule in\n",{"type":43,"tag":70,"props":121,"children":123},{"href":122},"CAPABILITIES.md#capabilities-and-modes",[124],{"type":43,"tag":75,"props":125,"children":127},{"className":126},[],[128],{"type":48,"value":129},"CAPABILITIES.md ## Capabilities and modes",{"type":48,"value":131},"\nbefore configuring anything.",{"type":43,"tag":133,"props":134,"children":136},"h2",{"id":135},"example-questions-this-skill-answers-well",[137],{"type":48,"value":138},"Example questions this skill answers well",{"type":43,"tag":51,"props":140,"children":141},{},[142,144,149],{"type":48,"value":143},"The CLASSES of telemetry-exporter questions this skill is built to\nanswer, each with one worked example. The agent should treat the\n",{"type":43,"tag":83,"props":145,"children":146},{},[147],{"type":48,"value":148},"class",{"type":48,"value":150}," as the load-bearing piece — the worked example is a single\ninstance.",{"type":43,"tag":152,"props":153,"children":154},"ul",{},[155,190,249,318,385,423],{"type":43,"tag":156,"props":157,"children":158},"li",{},[159,164,166,171,173,181,183,188],{"type":43,"tag":55,"props":160,"children":161},{},[162],{"type":48,"value":163},"\"Which library do I want — the exporter or the telemetry\nservice?\"",{"type":48,"value":165}," — worked example: ",{"type":43,"tag":83,"props":167,"children":168},{},[169],{"type":48,"value":170},"\"I want my DOCA Flow program to\npublish a per-second packets-processed counter to a downstream\ncollector — which DOCA artifact do I link?\"",{"type":48,"value":172},". Answered by the\nexporter-vs-service rule in\n",{"type":43,"tag":70,"props":174,"children":175},{"href":122},[176],{"type":43,"tag":75,"props":177,"children":179},{"className":178},[],[180],{"type":48,"value":129},{"type":48,"value":182},"\nrole-split table + the path-selection bullet, both of which name\n",{"type":43,"tag":75,"props":184,"children":186},{"className":185},[],[187],{"type":48,"value":4},{"type":48,"value":189}," as the publisher the application links\nand route the receiving \u002F consuming side away from this skill.",{"type":43,"tag":156,"props":191,"children":192},{},[193,198,200,213,215,223,225,235,237,247],{"type":43,"tag":55,"props":194,"children":195},{},[196],{"type":48,"value":197},"\"How do I emit my first structured event from a DOCA program?\"",{"type":48,"value":199}," —\nworked example: ",{"type":43,"tag":83,"props":201,"children":202},{},[203,205,211],{"type":48,"value":204},"\"emit a single per-second ",{"type":43,"tag":75,"props":206,"children":208},{"className":207},[],[209],{"type":48,"value":210},"packets_processed",{"type":48,"value":212},"\ncounter event from my DOCA Flow application\"",{"type":48,"value":214},". Answered by the\nschema-register-before-emit lifecycle in\n",{"type":43,"tag":70,"props":216,"children":217},{"href":122},[218],{"type":43,"tag":75,"props":219,"children":221},{"className":220},[],[222],{"type":48,"value":129},{"type":48,"value":224},"\nobject table + the workflow in\n",{"type":43,"tag":70,"props":226,"children":228},{"href":227},"TASKS.md#configure",[229],{"type":43,"tag":75,"props":230,"children":232},{"className":231},[],[233],{"type":48,"value":234},"TASKS.md ## configure",{"type":48,"value":236}," +\n",{"type":43,"tag":70,"props":238,"children":240},{"href":239},"TASKS.md#run",[241],{"type":43,"tag":75,"props":242,"children":244},{"className":243},[],[245],{"type":48,"value":246},"TASKS.md ## run",{"type":48,"value":248}," step 3 (single-event smoke\nbefore bulk).",{"type":43,"tag":156,"props":250,"children":251},{},[252,265,266,279,281,291],{"type":43,"tag":55,"props":253,"children":254},{},[255,257,263],{"type":48,"value":256},"\"My event-emit call returns ",{"type":43,"tag":75,"props":258,"children":260},{"className":259},[],[261],{"type":48,"value":262},"DOCA_ERROR_AGAIN",{"type":48,"value":264}," under load —\nshould I retry?\"",{"type":48,"value":165},{"type":43,"tag":83,"props":267,"children":268},{},[269,271,277],{"type":48,"value":270},"\"my high-rate emit loop\nstarts returning ",{"type":43,"tag":75,"props":272,"children":274},{"className":273},[],[275],{"type":48,"value":276},"AGAIN",{"type":48,"value":278}," once the downstream consumer falls\nbehind — do I sleep-and-retry?\"",{"type":48,"value":280},". Answered by the hot-path\ndrop-not-block invariant in\n",{"type":43,"tag":70,"props":282,"children":284},{"href":283},"CAPABILITIES.md#safety-policy",[285],{"type":43,"tag":75,"props":286,"children":288},{"className":287},[],[289],{"type":48,"value":290},"CAPABILITIES.md ## Safety policy",{"type":43,"tag":152,"props":292,"children":293},{},[294],{"type":43,"tag":156,"props":295,"children":296},{},[297,299,304,306,316],{"type":48,"value":298},"the ",{"type":43,"tag":75,"props":300,"children":302},{"className":301},[],[303],{"type":48,"value":276},{"type":48,"value":305}," row in\n",{"type":43,"tag":70,"props":307,"children":309},{"href":308},"CAPABILITIES.md#error-taxonomy",[310],{"type":43,"tag":75,"props":311,"children":313},{"className":312},[],[314],{"type":48,"value":315},"CAPABILITIES.md ## Error taxonomy",{"type":48,"value":317},":\nthe app's correct response is to drop the event (or buffer\nbounded) — never block the data path on telemetry.",{"type":43,"tag":156,"props":319,"children":320},{},[321,334,335,356,358,363,365,373,375,383],{"type":43,"tag":55,"props":322,"children":323},{},[324,326,332],{"type":48,"value":325},"\"My emit returns ",{"type":43,"tag":75,"props":327,"children":329},{"className":328},[],[330],{"type":48,"value":331},"DOCA_ERROR_NOT_FOUND",{"type":48,"value":333}," — what did I forget?\"",{"type":48,"value":199},{"type":43,"tag":83,"props":336,"children":337},{},[338,340,346,348,354],{"type":48,"value":339},"\"",{"type":43,"tag":75,"props":341,"children":343},{"className":342},[],[344],{"type":48,"value":345},"doca_telemetry_exporter_source_report",{"type":48,"value":347}," returns\n",{"type":43,"tag":75,"props":349,"children":351},{"className":350},[],[352],{"type":48,"value":353},"NOT_FOUND",{"type":48,"value":355}," on the very first call\"",{"type":48,"value":357},". Answered by the ",{"type":43,"tag":75,"props":359,"children":361},{"className":360},[],[362],{"type":48,"value":353},{"type":48,"value":364},"\nrow in\n",{"type":43,"tag":70,"props":366,"children":367},{"href":308},[368],{"type":43,"tag":75,"props":369,"children":371},{"className":370},[],[372],{"type":48,"value":315},{"type":48,"value":374},"\n(schema for the event type was never registered against this\nsource) + the lifecycle order in\n",{"type":43,"tag":70,"props":376,"children":377},{"href":227},[378],{"type":43,"tag":75,"props":379,"children":381},{"className":380},[],[382],{"type":48,"value":234},{"type":48,"value":384}," (register schemas\nBEFORE the first emit).",{"type":43,"tag":156,"props":386,"children":387},{},[388,393,394,399,401,409,411,421],{"type":43,"tag":55,"props":389,"children":390},{},[391],{"type":48,"value":392},"\"My program emits, but the consumer sees nothing — where do I\nstart?\"",{"type":48,"value":165},{"type":43,"tag":83,"props":395,"children":396},{},[397],{"type":48,"value":398},"\"emit returns success, but the\ncollector log on the same host is empty\"",{"type":48,"value":400},". Answered by the\nconsumer-must-be-up-first rule in\n",{"type":43,"tag":70,"props":402,"children":403},{"href":283},[404],{"type":43,"tag":75,"props":405,"children":407},{"className":406},[],[408],{"type":48,"value":290},{"type":48,"value":410},"\npermission matrix + the smoke-before-bulk loop in\n",{"type":43,"tag":70,"props":412,"children":414},{"href":413},"TASKS.md#test",[415],{"type":43,"tag":75,"props":416,"children":418},{"className":417},[],[419],{"type":48,"value":420},"TASKS.md ## test",{"type":48,"value":422}," (one event end-to-end with\nconsumer reception confirmed BEFORE any bulk emit).",{"type":43,"tag":156,"props":424,"children":425},{},[426,439,440,445,447,457,459,469,471,479],{"type":43,"tag":55,"props":427,"children":428},{},[429,431,437],{"type":48,"value":430},"\"Is ",{"type":43,"tag":75,"props":432,"children":434},{"className":433},[],[435],{"type":48,"value":436},"doca_telemetry_exporter_*",{"type":48,"value":438}," on my installed DOCA, and is\nthe event type I want supported here?\"",{"type":48,"value":165},{"type":43,"tag":83,"props":441,"children":442},{},[443],{"type":48,"value":444},"\"is\nthe gauge type on DOCA 3.3 against my install?\"",{"type":48,"value":446},". Answered by\nthe version-compatibility overlay in\n",{"type":43,"tag":70,"props":448,"children":450},{"href":449},"CAPABILITIES.md#version-compatibility",[451],{"type":43,"tag":75,"props":452,"children":454},{"className":453},[],[455],{"type":48,"value":456},"CAPABILITIES.md ## Version compatibility",{"type":48,"value":458},",\nwhich cross-links the canonical detection chain in\n",{"type":43,"tag":70,"props":460,"children":462},{"href":461},"..\u002F..\u002Fdoca-version\u002FSKILL.md",[463],{"type":43,"tag":75,"props":464,"children":466},{"className":465},[],[467],{"type":48,"value":468},"doca-version",{"type":48,"value":470},", plus the\ncapability-query rule in\n",{"type":43,"tag":70,"props":472,"children":473},{"href":122},[474],{"type":43,"tag":75,"props":475,"children":477},{"className":476},[],[478],{"type":48,"value":129},{"type":48,"value":480},".",{"type":43,"tag":133,"props":482,"children":484},{"id":483},"audience",[485],{"type":48,"value":486},"Audience",{"type":43,"tag":51,"props":488,"children":489},{},[490,492,497,499,504,506,511,513,517,519,529],{"type":48,"value":491},"This skill serves ",{"type":43,"tag":55,"props":493,"children":494},{},[495],{"type":48,"value":496},"external developers building applications that\nemit structured telemetry through DOCA Telemetry Exporter",{"type":48,"value":498}," — i.e.,\nusers whose application code calls ",{"type":43,"tag":75,"props":500,"children":502},{"className":501},[],[503],{"type":48,"value":436},{"type":48,"value":505},"\n(directly in C\u002FC++, or through FFI\u002Fbindings from another language)\nto publish counters, gauges, and events from their DOCA-using\nprogram to an external telemetry consumer. It is ",{"type":43,"tag":83,"props":507,"children":508},{},[509],{"type":48,"value":510},"not",{"type":48,"value":512}," for NVIDIA\ndevelopers contributing to DOCA Telemetry Exporter itself, and it\nis ",{"type":43,"tag":83,"props":514,"children":515},{},[516],{"type":48,"value":510},{"type":48,"value":518}," for users building the receiving \u002F aggregating telemetry\nservice (the DOCA Telemetry Service is a separate DOCA service with\nits own public guide, reached via\n",{"type":43,"tag":70,"props":520,"children":522},{"href":521},"..\u002F..\u002Fdoca-public-knowledge-map\u002FSKILL.md",[523],{"type":43,"tag":75,"props":524,"children":526},{"className":525},[],[527],{"type":48,"value":528},"doca-public-knowledge-map",{"type":48,"value":530},").",{"type":43,"tag":51,"props":532,"children":533},{},[534,539,541,547,549,554,556,561,563,569],{"type":43,"tag":55,"props":535,"children":536},{},[537],{"type":48,"value":538},"Language scope.",{"type":48,"value":540}," DOCA Telemetry Exporter ships as a C library\nwith ",{"type":43,"tag":75,"props":542,"children":544},{"className":543},[],[545],{"type":48,"value":546},"pkg-config",{"type":48,"value":548}," module name ",{"type":43,"tag":75,"props":550,"children":552},{"className":551},[],[553],{"type":48,"value":4},{"type":48,"value":555},". The\nshipped samples are written in C. C and C++ consumers are the\ncanonical case; the worked examples in ",{"type":43,"tag":75,"props":557,"children":559},{"className":558},[],[560],{"type":48,"value":72},{"type":48,"value":562}," assume that path.\nOther-language consumers (Rust, Go, Python, …) consume the same\n",{"type":43,"tag":75,"props":564,"children":566},{"className":565},[],[567],{"type":48,"value":568},"*.so",{"type":48,"value":570}," through FFI or language-specific bindings; the skill's\ncontribution in that case is to keep the exporter-vs-service\ndistinction, the schema-register-before-emit lifecycle, the\ncapability-discovery rule, the same-user-as-the-app permission\nrule, the hot-path drop-not-block invariant, and the error-taxonomy\nguidance language-neutral, and to route the agent to the public C\nABI as the authoritative surface that any wrapper will eventually\ncall.",{"type":43,"tag":133,"props":572,"children":574},{"id":573},"when-to-load-this-skill",[575],{"type":48,"value":576},"When to load this skill",{"type":43,"tag":51,"props":578,"children":579},{},[580],{"type":48,"value":581},"Load this skill when the user is doing hands-on DOCA Telemetry\nExporter work, in any language. Concretely:",{"type":43,"tag":152,"props":583,"children":584},{},[585,598,611,624,637,650,675],{"type":43,"tag":156,"props":586,"children":587},{},[588,590,596],{"type":48,"value":589},"Defining a ",{"type":43,"tag":75,"props":591,"children":593},{"className":592},[],[594],{"type":48,"value":595},"doca_telemetry_exporter_schema",{"type":48,"value":597}," for the events the\napplication will emit (field names + field types), and\nregistering it with the exporter BEFORE any event is published.",{"type":43,"tag":156,"props":599,"children":600},{},[601,603,609],{"type":48,"value":602},"Creating one or more ",{"type":43,"tag":75,"props":604,"children":606},{"className":605},[],[607],{"type":48,"value":608},"doca_telemetry_exporter_source",{"type":48,"value":610}," instances\nto represent distinct logical sources of telemetry inside the\napplication (e.g. one source per worker thread \u002F per pipeline\nstage).",{"type":43,"tag":156,"props":612,"children":613},{},[614,616,622],{"type":48,"value":615},"Picking the right ",{"type":43,"tag":75,"props":617,"children":619},{"className":618},[],[620],{"type":48,"value":621},"doca_telemetry_exporter_type",{"type":48,"value":623}," (counter,\ngauge, event) for each field the application reports.",{"type":43,"tag":156,"props":625,"children":626},{},[627,629,635],{"type":48,"value":628},"Reading the device + library capability surface for the\nexporter via the ",{"type":43,"tag":75,"props":630,"children":632},{"className":631},[],[633],{"type":48,"value":634},"doca_telemetry_exporter_*_get_*",{"type":48,"value":636}," query family\nbefore assuming a particular limit (max schema fields, max\nevent size, …) is available on this install.",{"type":43,"tag":156,"props":638,"children":639},{},[640,642,648],{"type":48,"value":641},"Debugging a ",{"type":43,"tag":75,"props":643,"children":645},{"className":644},[],[646],{"type":48,"value":647},"DOCA_ERROR_*",{"type":48,"value":649}," returned from an exporter call\n(lifecycle vs. invalid value vs. transport-queue-full vs.\npermission vs. transport \u002F driver) and the per-emit status\nreported back to the application.",{"type":43,"tag":156,"props":651,"children":652},{},[653,655,661,663,673],{"type":48,"value":654},"Choosing between Telemetry Exporter and an adjacent option\n(",{"type":43,"tag":75,"props":656,"children":658},{"className":657},[],[659],{"type":48,"value":660},"doca_log",{"type":48,"value":662}," when stdout \u002F structured-log shipping is enough; a\nPrometheus client library when the user needs a non-DOCA-aware\nsink; ",{"type":43,"tag":70,"props":664,"children":666},{"href":665},"..\u002Fdoca-comch\u002FSKILL.md",[667],{"type":43,"tag":75,"props":668,"children":670},{"className":669},[],[671],{"type":48,"value":672},"doca-comch",{"type":48,"value":674}," when the user\nneeds a real-time event subscription back INTO the app — the\nexporter is publish-only \u002F one-way).",{"type":43,"tag":156,"props":676,"children":677},{},[678],{"type":48,"value":679},"Designing or extending non-C bindings (Rust, Go, Python, …)\nthat wrap the exporter C ABI — for the exporter-vs-service\ndistinction, the schema-register-before-emit lifecycle, the\npermission policy, the hot-path drop-not-block invariant, and\nthe capability + error rules the wrapper must honor.",{"type":43,"tag":51,"props":681,"children":682},{},[683,685,689,691,699,701,709],{"type":48,"value":684},"Do ",{"type":43,"tag":55,"props":686,"children":687},{},[688],{"type":48,"value":510},{"type":48,"value":690}," load this skill for general DOCA orientation, install\nof DOCA itself, the receiving telemetry service (the DOCA\nTelemetry Service has its own public guide reachable through\n",{"type":43,"tag":70,"props":692,"children":693},{"href":521},[694],{"type":43,"tag":75,"props":695,"children":697},{"className":696},[],[698],{"type":48,"value":528},{"type":48,"value":700},"),\nor non-exporter library questions. For those, use\n",{"type":43,"tag":70,"props":702,"children":703},{"href":521},[704],{"type":43,"tag":75,"props":705,"children":707},{"className":706},[],[708],{"type":48,"value":528},{"type":48,"value":480},{"type":43,"tag":133,"props":711,"children":713},{"id":712},"what-this-skill-provides",[714],{"type":48,"value":715},"What this skill provides",{"type":43,"tag":51,"props":717,"children":718},{},[719,721,726],{"type":48,"value":720},"This is a ",{"type":43,"tag":55,"props":722,"children":723},{},[724],{"type":48,"value":725},"thin loader",{"type":48,"value":727},". The body keeps only the orientation\nneeded to pick the right next file. The substantive\nexporter-specific material lives in two companion files:",{"type":43,"tag":152,"props":729,"children":730},{},[731,797],{"type":43,"tag":156,"props":732,"children":733},{},[734,739,741,746,748,754,755,761,763,768,770,775,777,782,784,789,791,796],{"type":43,"tag":75,"props":735,"children":737},{"className":736},[],[738],{"type":48,"value":92},{"type":48,"value":740}," — what the exporter can express on this\ninstall: the exporter-vs-service role-split rule, the object\nfamily (",{"type":43,"tag":75,"props":742,"children":744},{"className":743},[],[745],{"type":48,"value":595},{"type":48,"value":747}," → ",{"type":43,"tag":75,"props":749,"children":751},{"className":750},[],[752],{"type":48,"value":753},"_source",{"type":48,"value":747},{"type":43,"tag":75,"props":756,"children":758},{"className":757},[],[759],{"type":48,"value":760},"_type",{"type":48,"value":762},"\nwith the schema-register-before-emit lifecycle), the\ncapability-query surface (",{"type":43,"tag":75,"props":764,"children":766},{"className":765},[],[767],{"type":48,"value":634},{"type":48,"value":769},"),\nthe exporter error taxonomy (mapped onto the cross-library\n",{"type":43,"tag":75,"props":771,"children":773},{"className":772},[],[774],{"type":48,"value":647},{"type":48,"value":776}," set, with the ",{"type":43,"tag":75,"props":778,"children":780},{"className":779},[],[781],{"type":48,"value":276},{"type":48,"value":783},"-means-drop-not-block rule\ncalled out explicitly), the observability surface (per-emit\nstatus + capability snapshot at configure time + the consumer\nside as the end-to-end signal), the safety policy that gates\nthe same-user-as-the-app permission and the\nconsumer-must-be-up-first staging, and the path-selection rule\nagainst ",{"type":43,"tag":75,"props":785,"children":787},{"className":786},[],[788],{"type":48,"value":660},{"type":48,"value":790},", Prometheus, and ",{"type":43,"tag":75,"props":792,"children":794},{"className":793},[],[795],{"type":48,"value":672},{"type":48,"value":480},{"type":43,"tag":156,"props":798,"children":799},{},[800,805,807,813,815,821,822,828,830,836,837,843,844,850,852,858],{"type":43,"tag":75,"props":801,"children":803},{"className":802},[],[804],{"type":48,"value":72},{"type":48,"value":806}," — step-by-step workflows for the six in-scope\nexporter verbs: ",{"type":43,"tag":75,"props":808,"children":810},{"className":809},[],[811],{"type":48,"value":812},"configure",{"type":48,"value":814},", ",{"type":43,"tag":75,"props":816,"children":818},{"className":817},[],[819],{"type":48,"value":820},"build",{"type":48,"value":814},{"type":43,"tag":75,"props":823,"children":825},{"className":824},[],[826],{"type":48,"value":827},"modify",{"type":48,"value":829}," (followed by a\nrebuild), ",{"type":43,"tag":75,"props":831,"children":833},{"className":832},[],[834],{"type":48,"value":835},"run",{"type":48,"value":814},{"type":43,"tag":75,"props":838,"children":840},{"className":839},[],[841],{"type":48,"value":842},"test",{"type":48,"value":814},{"type":43,"tag":75,"props":845,"children":847},{"className":846},[],[848],{"type":48,"value":849},"debug",{"type":48,"value":851},". Plus a ",{"type":43,"tag":75,"props":853,"children":855},{"className":854},[],[856],{"type":48,"value":857},"Deferred task verbs",{"type":48,"value":859}," block that points\nout-of-scope questions at the right next skill.",{"type":43,"tag":51,"props":861,"children":862},{},[863,865,873],{"type":48,"value":864},"The skill assumes a host where DOCA is already installed at the\nstandard location, the application runs as a user that can write\nto the telemetry transport the exporter is configured for, and a\nreceiving telemetry consumer is reachable and started before the\nexporter. It does not cover installing DOCA — that path goes\nthrough ",{"type":43,"tag":70,"props":866,"children":867},{"href":110},[868],{"type":43,"tag":75,"props":869,"children":871},{"className":870},[],[872],{"type":48,"value":117},{"type":48,"value":874}," — and it does\nnot cover configuring \u002F operating the receiving telemetry service,\nwhich is a separate DOCA service with its own public guide.",{"type":43,"tag":133,"props":876,"children":878},{"id":877},"what-this-skill-deliberately-does-not-ship",[879],{"type":48,"value":880},"What this skill deliberately does not ship",{"type":43,"tag":51,"props":882,"children":883},{},[884,886,891],{"type":48,"value":885},"This skill is ",{"type":43,"tag":55,"props":887,"children":888},{},[889],{"type":48,"value":890},"agent guidance",{"type":48,"value":892},", not a samples or templates\nbundle. To keep the boundary clean, it deliberately does not\ncontain — and pull requests should not add:",{"type":43,"tag":152,"props":894,"children":895},{},[896,937,957,1005],{"type":43,"tag":156,"props":897,"children":898},{},[899,904,906,912,914,924,926,936],{"type":43,"tag":55,"props":900,"children":901},{},[902],{"type":48,"value":903},"Pre-written DOCA Telemetry Exporter application source code,\nin any language.",{"type":48,"value":905}," The verified exporter source code is the\nshipped C samples at\n",{"type":43,"tag":75,"props":907,"children":909},{"className":908},[],[910],{"type":48,"value":911},"\u002Fopt\u002Fmellanox\u002Fdoca\u002Fsamples\u002Fdoca_telemetry_exporter\u002F",{"type":48,"value":913},". The\nagent's job 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":43,"tag":70,"props":915,"children":917},{"href":916},"..\u002F..\u002Fdoca-programming-guide\u002FSKILL.md",[918],{"type":43,"tag":75,"props":919,"children":921},{"className":920},[],[922],{"type":48,"value":923},"doca-programming-guide",{"type":48,"value":925},",\nlayered with the exporter-specific overrides in\n",{"type":43,"tag":70,"props":927,"children":929},{"href":928},"TASKS.md#modify",[930],{"type":43,"tag":75,"props":931,"children":933},{"className":932},[],[934],{"type":48,"value":935},"TASKS.md ## modify",{"type":48,"value":480},{"type":43,"tag":156,"props":938,"children":939},{},[940,945,947,955],{"type":43,"tag":55,"props":941,"children":942},{},[943],{"type":48,"value":944},"A telemetry consumer \u002F collector \u002F receiving service.",{"type":48,"value":946}," The\nDOCA Telemetry Service is a separate DOCA service with its own\npublic guide; routing to it goes through\n",{"type":43,"tag":70,"props":948,"children":949},{"href":521},[950],{"type":43,"tag":75,"props":951,"children":953},{"className":952},[],[954],{"type":48,"value":528},{"type":48,"value":956},".\nThis skill is about the publisher side only.",{"type":43,"tag":156,"props":958,"children":959},{},[960,965,967,973,974,980,982,988,990,995,997,1003],{"type":43,"tag":55,"props":961,"children":962},{},[963],{"type":48,"value":964},"Standalone build manifests",{"type":48,"value":966}," (",{"type":43,"tag":75,"props":968,"children":970},{"className":969},[],[971],{"type":48,"value":972},"meson.build",{"type":48,"value":814},{"type":43,"tag":75,"props":975,"children":977},{"className":976},[],[978],{"type":48,"value":979},"CMakeLists.txt",{"type":48,"value":981},",\n",{"type":43,"tag":75,"props":983,"children":985},{"className":984},[],[986],{"type":48,"value":987},"Cargo.toml",{"type":48,"value":989},", …) parked inside the skill. The agent constructs\nthe build manifest ",{"type":43,"tag":83,"props":991,"children":992},{},[993],{"type":48,"value":994},"in the user's project directory",{"type":48,"value":996}," against\nthe user's installed DOCA, where ",{"type":43,"tag":75,"props":998,"children":1000},{"className":999},[],[1001],{"type":48,"value":1002},"pkg-config --modversion doca-telemetry-exporter",{"type":48,"value":1004}," is the source of truth.",{"type":43,"tag":156,"props":1006,"children":1007},{},[1008,1036],{"type":43,"tag":55,"props":1009,"children":1010},{},[1011,1013,1019,1020,1026,1028,1034],{"type":48,"value":1012},"A ",{"type":43,"tag":75,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":48,"value":1018},"samples\u002F",{"type":48,"value":814},{"type":43,"tag":75,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":48,"value":1025},"bindings\u002F",{"type":48,"value":1027},", or ",{"type":43,"tag":75,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":48,"value":1033},"reference\u002F",{"type":48,"value":1035}," subtree",{"type":48,"value":1037}," 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":43,"tag":133,"props":1039,"children":1041},{"id":1040},"loading-order",[1042],{"type":48,"value":1043},"Loading order",{"type":43,"tag":1045,"props":1046,"children":1047},"ol",{},[1048,1061,1088],{"type":43,"tag":156,"props":1049,"children":1050},{},[1051,1053,1059],{"type":48,"value":1052},"Read this ",{"type":43,"tag":75,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":48,"value":1058},"SKILL.md",{"type":48,"value":1060}," first to confirm the user's question is\nin scope.",{"type":43,"tag":156,"props":1062,"children":1063},{},[1064],{"type":43,"tag":55,"props":1065,"children":1066},{},[1067,1069,1074,1076,1081,1083,1087],{"type":48,"value":1068},"For the exporter-vs-service rule, the object family, the\nschema-register-before-emit lifecycle, the capability-query\nsurface, the error taxonomy (including the ",{"type":43,"tag":75,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":48,"value":276},{"type":48,"value":1075},"-means-drop\nrule), observability, the safety policy, and the\npath-selection rule against ",{"type":43,"tag":75,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":48,"value":660},{"type":48,"value":1082}," \u002F Prometheus \u002F comch,\nsee ",{"type":43,"tag":70,"props":1084,"children":1085},{"href":92},[1086],{"type":48,"value":92},{"type":48,"value":480},{"type":43,"tag":156,"props":1089,"children":1090},{},[1091],{"type":43,"tag":55,"props":1092,"children":1093},{},[1094,1096,1100],{"type":48,"value":1095},"For step-by-step workflows — configure, build, modify,\nrebuild, run, test, debug — see ",{"type":43,"tag":70,"props":1097,"children":1098},{"href":72},[1099],{"type":48,"value":72},{"type":48,"value":480},{"type":43,"tag":51,"props":1102,"children":1103},{},[1104,1106,1114,1116,1124],{"type":48,"value":1105},"Both companion files cross-link to each other,\n",{"type":43,"tag":70,"props":1107,"children":1108},{"href":461},[1109],{"type":43,"tag":75,"props":1110,"children":1112},{"className":1111},[],[1113],{"type":48,"value":468},{"type":48,"value":1115}," for the canonical\nversion-handling rules, and\n",{"type":43,"tag":70,"props":1117,"children":1118},{"href":521},[1119],{"type":43,"tag":75,"props":1120,"children":1122},{"className":1121},[],[1123],{"type":48,"value":528},{"type":48,"value":1125},"\nwhenever the right answer is \"look it up in the public docs or\nthe installed package layout\" rather than \"exporter-specific\nguidance\".",{"type":43,"tag":133,"props":1127,"children":1129},{"id":1128},"related-skills",[1130],{"type":48,"value":1131},"Related skills",{"type":43,"tag":152,"props":1133,"children":1134},{},[1135,1170,1190,1211,1232,1259,1272],{"type":43,"tag":156,"props":1136,"children":1137},{},[1138,1146,1148,1154,1156,1161,1163,1168],{"type":43,"tag":70,"props":1139,"children":1140},{"href":521},[1141],{"type":43,"tag":75,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":48,"value":528},{"type":48,"value":1147}," —\nthe routing table for every public DOCA documentation source\nand the on-disk layout of an installed DOCA package. The\nexporter's public guide URL is\n",{"type":43,"tag":75,"props":1149,"children":1151},{"className":1150},[],[1152],{"type":48,"value":1153},"https:\u002F\u002Fdocs.nvidia.com\u002Fdoca\u002Fsdk\u002FDOCA-Telemetry-Exporter\u002Findex.html",{"type":48,"value":1155},";\nthe on-disk samples live under\n",{"type":43,"tag":75,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":48,"value":911},{"type":48,"value":1162},". The\nDOCA Telemetry Service (the ",{"type":43,"tag":83,"props":1164,"children":1165},{},[1166],{"type":48,"value":1167},"receiver",{"type":48,"value":1169},", out of scope here) is\na separate guide reachable through that same routing table.",{"type":43,"tag":156,"props":1171,"children":1172},{},[1173,1181,1183,1188],{"type":43,"tag":70,"props":1174,"children":1175},{"href":110},[1176],{"type":43,"tag":75,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":48,"value":117},{"type":48,"value":1182}," — env preparation,\ninstall verification, transport-side reachability checks, and\nthe ",{"type":43,"tag":83,"props":1184,"children":1185},{},[1186],{"type":48,"value":1187},"I have no install yet",{"type":48,"value":1189}," path with the public NGC DOCA\ncontainer. This skill assumes its preconditions are satisfied\n(in particular, the application user can write to the\ntelemetry transport).",{"type":43,"tag":156,"props":1191,"children":1192},{},[1193,1201,1203,1209],{"type":43,"tag":70,"props":1194,"children":1195},{"href":461},[1196],{"type":43,"tag":75,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":48,"value":468},{"type":48,"value":1202}," — canonical DOCA\nversion-handling rules. This skill's ",{"type":43,"tag":75,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":48,"value":1208},"## Version compatibility",{"type":48,"value":1210},"\ncross-links the four-way match rule + detection chain and adds\nthe exporter-specific overlay rules.",{"type":43,"tag":156,"props":1212,"children":1213},{},[1214,1224,1226,1230],{"type":43,"tag":70,"props":1215,"children":1217},{"href":1216},"..\u002F..\u002Fdoca-structured-tools-contract\u002FSKILL.md",[1218],{"type":43,"tag":75,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":48,"value":1223},"doca-structured-tools-contract",{"type":48,"value":1225}," —\nthe bundle's structured-tools precedence rule (detect \u002F prefer\n\u002F fall back \u002F report). The Command appendix in\n",{"type":43,"tag":70,"props":1227,"children":1228},{"href":72},[1229],{"type":48,"value":72},{"type":48,"value":1231}," honors this contract.",{"type":43,"tag":156,"props":1233,"children":1234},{},[1235,1243,1245,1250,1252,1257],{"type":43,"tag":70,"props":1236,"children":1237},{"href":916},[1238],{"type":43,"tag":75,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":48,"value":923},{"type":48,"value":1244}," —\ngeneral DOCA programming patterns shared by every library: the\ncanonical ",{"type":43,"tag":75,"props":1246,"children":1248},{"className":1247},[],[1249],{"type":48,"value":546},{"type":48,"value":1251}," + meson build pattern, the universal\nmodify-a-shipped-sample first-app workflow, the universal\nlifecycle, the cross-library ",{"type":43,"tag":75,"props":1253,"children":1255},{"className":1254},[],[1256],{"type":48,"value":647},{"type":48,"value":1258}," taxonomy, and the\nprogram-side debug order. This skill layers exporter specifics\non top.",{"type":43,"tag":156,"props":1260,"children":1261},{},[1262,1270],{"type":43,"tag":70,"props":1263,"children":1264},{"href":665},[1265],{"type":43,"tag":75,"props":1266,"children":1268},{"className":1267},[],[1269],{"type":48,"value":672},{"type":48,"value":1271}," — the right primitive\nwhen the user needs a real-time event subscription back INTO\nthe application (host ↔ DPU control-plane messaging). The\nexporter is publish-only \u002F one-way; this skill's\npath-selection rule routes there when subscription is the\nactual requirement.",{"type":43,"tag":156,"props":1273,"children":1274},{},[1275,1285],{"type":43,"tag":70,"props":1276,"children":1278},{"href":1277},"..\u002F..\u002Fdoca-debug\u002FSKILL.md",[1279],{"type":43,"tag":75,"props":1280,"children":1282},{"className":1281},[],[1283],{"type":48,"value":1284},"doca-debug",{"type":48,"value":1286}," — the cross-cutting\ndebug ladder (install \u002F version \u002F build \u002F link \u002F runtime \u002F\nprogram \u002F driver). Exporter-specific debug (consumer not up,\nschema-not-registered, transport queue full, hot-path block)\noverlays on top of that ladder.",{"items":1288,"total":1392},[1289,1306,1320,1334,1346,1363,1378],{"slug":1290,"name":1290,"fn":1291,"description":1292,"org":1293,"tags":1294,"stars":23,"repoUrl":24,"updatedAt":1305},"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},[1295,1298,1301,1302],{"name":1296,"slug":1297,"type":15},"Data Analysis","data-analysis",{"name":1299,"slug":1300,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":1303,"slug":1304,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":1307,"name":1307,"fn":1308,"description":1309,"org":1310,"tags":1311,"stars":23,"repoUrl":24,"updatedAt":1319},"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},[1312,1315,1318],{"name":1313,"slug":1314,"type":15},"Deployment","deployment",{"name":1316,"slug":1317,"type":15},"Infrastructure","infrastructure",{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":1321,"name":1321,"fn":1322,"description":1323,"org":1324,"tags":1325,"stars":23,"repoUrl":24,"updatedAt":1333},"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},[1326,1329,1330],{"name":1327,"slug":1328,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":1331,"slug":1332,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":1335,"name":1335,"fn":1336,"description":1337,"org":1338,"tags":1339,"stars":23,"repoUrl":24,"updatedAt":1345},"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},[1340,1341,1342],{"name":1296,"slug":1297,"type":15},{"name":9,"slug":8,"type":15},{"name":1343,"slug":1344,"type":15},"Testing","testing","2026-07-17T05:29:03.913266",{"slug":1347,"name":1347,"fn":1348,"description":1349,"org":1350,"tags":1351,"stars":23,"repoUrl":24,"updatedAt":1362},"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},[1352,1355,1358,1359],{"name":1353,"slug":1354,"type":15},"Automation","automation",{"name":1356,"slug":1357,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":1360,"slug":1361,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":1364,"name":1364,"fn":1365,"description":1366,"org":1367,"tags":1368,"stars":23,"repoUrl":24,"updatedAt":1377},"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},[1369,1370,1373,1374],{"name":1313,"slug":1314,"type":15},{"name":1371,"slug":1372,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":1375,"slug":1376,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":1379,"name":1379,"fn":1380,"description":1381,"org":1382,"tags":1383,"stars":23,"repoUrl":24,"updatedAt":1391},"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},[1384,1385,1388],{"name":9,"slug":8,"type":15},{"name":1386,"slug":1387,"type":15},"Quantum Computing","quantum-computing",{"name":1389,"slug":1390,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305,{"items":1394,"total":1545},[1395,1413,1429,1440,1452,1466,1479,1493,1504,1513,1527,1536],{"slug":1396,"name":1396,"fn":1397,"description":1398,"org":1399,"tags":1400,"stars":1410,"repoUrl":1411,"updatedAt":1412},"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},[1401,1404,1407],{"name":1402,"slug":1403,"type":15},"Documentation","documentation",{"name":1405,"slug":1406,"type":15},"MCP","mcp",{"name":1408,"slug":1409,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1414,"name":1414,"fn":1415,"description":1416,"org":1417,"tags":1418,"stars":1426,"repoUrl":1427,"updatedAt":1428},"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},[1419,1422,1423],{"name":1420,"slug":1421,"type":15},"Containers","containers",{"name":1313,"slug":1314,"type":15},{"name":1424,"slug":1425,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1430,"name":1430,"fn":1431,"description":1432,"org":1433,"tags":1434,"stars":1426,"repoUrl":1427,"updatedAt":1439},"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},[1435,1438],{"name":1436,"slug":1437,"type":15},"CI\u002FCD","ci-cd",{"name":1313,"slug":1314,"type":15},"2026-07-14T05:25:59.97109",{"slug":1441,"name":1441,"fn":1442,"description":1443,"org":1444,"tags":1445,"stars":1426,"repoUrl":1427,"updatedAt":1451},"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},[1446,1447,1448],{"name":1436,"slug":1437,"type":15},{"name":1313,"slug":1314,"type":15},{"name":1449,"slug":1450,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1453,"name":1453,"fn":1454,"description":1455,"org":1456,"tags":1457,"stars":1426,"repoUrl":1427,"updatedAt":1465},"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},[1458,1461,1462],{"name":1459,"slug":1460,"type":15},"Debugging","debugging",{"name":1449,"slug":1450,"type":15},{"name":1463,"slug":1464,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1467,"name":1467,"fn":1468,"description":1469,"org":1470,"tags":1471,"stars":1426,"repoUrl":1427,"updatedAt":1478},"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},[1472,1475],{"name":1473,"slug":1474,"type":15},"Best Practices","best-practices",{"name":1476,"slug":1477,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1480,"name":1480,"fn":1481,"description":1482,"org":1483,"tags":1484,"stars":1426,"repoUrl":1427,"updatedAt":1492},"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},[1485,1488,1491],{"name":1486,"slug":1487,"type":15},"Machine Learning","machine-learning",{"name":1489,"slug":1490,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1494,"name":1494,"fn":1495,"description":1496,"org":1497,"tags":1498,"stars":1426,"repoUrl":1427,"updatedAt":1503},"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},[1499,1502],{"name":1500,"slug":1501,"type":15},"QA","qa",{"name":1343,"slug":1344,"type":15},"2026-07-14T05:25:53.673039",{"slug":1505,"name":1505,"fn":1506,"description":1507,"org":1508,"tags":1509,"stars":1426,"repoUrl":1427,"updatedAt":1512},"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},[1510,1511],{"name":1313,"slug":1314,"type":15},{"name":1316,"slug":1317,"type":15},"2026-07-14T05:25:49.362534",{"slug":1514,"name":1514,"fn":1515,"description":1516,"org":1517,"tags":1518,"stars":1426,"repoUrl":1427,"updatedAt":1526},"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},[1519,1522,1523],{"name":1520,"slug":1521,"type":15},"Code Review","code-review",{"name":1449,"slug":1450,"type":15},{"name":1524,"slug":1525,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1528,"name":1528,"fn":1529,"description":1530,"org":1531,"tags":1532,"stars":1426,"repoUrl":1427,"updatedAt":1535},"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},[1533,1534],{"name":1500,"slug":1501,"type":15},{"name":1343,"slug":1344,"type":15},"2026-07-14T05:25:54.928983",{"slug":1537,"name":1537,"fn":1538,"description":1539,"org":1540,"tags":1541,"stars":1426,"repoUrl":1427,"updatedAt":1544},"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},[1542,1543],{"name":1353,"slug":1354,"type":15},{"name":1436,"slug":1437,"type":15},"2026-07-30T05:29:03.275638",496]