[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-nemo-relay-instrument-calls":3,"mdc-4gszqy-key":51,"related-repo-nvidia-nemo-relay-instrument-calls":460,"related-org-nvidia-nemo-relay-instrument-calls":562},{"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":46,"sourceUrl":49,"mdContent":50},"nemo-relay-instrument-calls","instrument LLM calls with NeMo Relay","Use this skill when an application owns tool or LLM\u002Fprovider call sites and needs to wrap them with NeMo Relay scopes and managed execution APIs for lifecycle events, middleware, or guardrails.",{"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},"LLM","llm","tag",{"name":17,"slug":18,"type":15},"Automation","automation",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Middleware","middleware",75,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNeMo-Relay","2026-07-17T05:30:29.31214","Apache-2.0",41,[29,30,31,32,33,34,35,36,37,38,22,8,39,40,41,42,43,44,45],"agents","ai","atif","atof","claude-code","codex","deepagents","hermes-agent","langchain","langgraph","observability","openclaw","openinference","optimization","otel","runtime","security",{"repoUrl":24,"stars":23,"forks":27,"topics":47,"description":48},[29,30,31,32,33,34,35,36,37,38,22,8,39,40,41,42,43,44,45],"Multi-language agent runtime and library for execution scope management, lifecycle events, and middleware on tool and LLM calls.","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNeMo-Relay\u002Ftree\u002FHEAD\u002Fskills\u002Fnemo-relay-instrument-calls","---\nname: nemo-relay-instrument-calls\ndescription: Use this skill when an application owns tool or LLM\u002Fprovider call sites and needs to wrap them with NeMo Relay scopes and managed execution APIs for lifecycle events, middleware, or guardrails.\nlicense: Apache-2.0\nmetadata:\n  author: NVIDIA Corporation and Affiliates\n---\n\n# Instrument Tool And LLM Calls\n\nUse this skill when an app already has tool functions or model\u002Fprovider calls and\nneeds to run them through NeMo Relay correctly.\nKeep the original callable behavior stable while adding Relay lifecycle capture.\n\n## Default Guidance\n\n- Put a scope around the natural agent, request, workflow, or graph boundary.\n- Use managed execution APIs first:\n  - Rust: `tool_call_execute(ToolCallExecuteParams::builder()...)`,\n    `llm_call_execute(LlmCallExecuteParams::builder()...)`\n  - Python: `tools.execute(...)`, `llm.execute(...)`\n  - Node.js: `toolCallExecute(...)`, `llmCallExecute(...)`\n  - Go: `tools.Execute(...)`, `llm.Execute(...)` or the top-level wrappers\n- Use manual lifecycle APIs only when the host framework cannot be wrapped by the\n  managed execute helpers.\n\n## Embedded Runtime Semantics\n\n- Managed tool and LLM execution runs conditional-execution guardrails first on\n  the raw input. If rejected, the runtime emits a standalone mark event and does\n  not run request intercepts or the callable.\n- Request intercepts run after conditional guardrails and rewrite the real input\n  that reaches execution intercepts and the callback.\n- Sanitize-request guardrails affect emitted start-event payloads only. They do\n  not rewrite the caller-visible request or arguments.\n- Execution intercepts wrap the callback with the middleware `next` pattern and\n  may short-circuit by returning their own result.\n- Sanitize-response guardrails affect emitted end-event payloads only. The value\n  returned to application code remains the raw callback or execution-intercept\n  result.\n- If execution fails after the start event has been emitted, the runtime still\n  emits an end event without a semantic output payload.\n- Tool calls are named operations with JSON-compatible arguments and results.\n  Keep the original tool callable responsible for business logic; let NeMo Relay\n  own lifecycle events, middleware, and metadata.\n- LLM calls use an `LLMRequest` made of metadata plus content. Pass model names\n  and stable call identifiers when they matter for trace export or diagnostics.\n- Manual lifecycle APIs are for framework adapters that already own execution.\n  If you use them, every start call needs a matching end or error path with the\n  relevant semantic payloads supplied explicitly.\n- Partial middleware APIs such as `request_intercepts(...)` and\n  `conditional_execution(...)` are for advanced adapters that need one middleware\n  family before calling a provider manually.\n- Streaming LLM wrappers collect chunks and finalize a response at stream end;\n  dropping the stream early can prevent finalizers and subscribers from seeing a\n  complete output.\n\n## Checklist\n\n- [ ] Scope boundary chosen before the first tool or LLM call\n- [ ] Existing tool function wrapped without losing its original arguments\u002Fresult\n- [ ] Existing LLM\u002Fprovider call wrapped at the right abstraction layer\n- [ ] Optional metadata, attributes, or model name attached where useful\n- [ ] Context propagation handled if the call hops threads or async tasks\n\n## Use Another Skill When\n\nChoose another skill when the task requires a neighboring workflow:\n\n- Use `nemo-relay-plugin-observability` for traces, ATIF, or export setup.\n- Use `nemo-relay-debug-runtime-integration` to debug missing events or load\n  failures.\n- Use `nemo-relay-instrument-context-isolation` for per-request isolation or\n  worker-pool guidance.\n- Use `nemo-relay-plugin-build` for reusable, configuration-activated runtime\n  behavior.\n\n## Related Skills\n\nUse these skills for adjacent workflows:\n\n- Start onboarding with `nemo-relay-get-started`.\n- Add typed wrappers with `nemo-relay-instrument-typed-wrappers`.\n- Configure export with `nemo-relay-plugin-observability`.\n- Package reusable behavior with `nemo-relay-plugin-build`.\n",{"data":52,"body":55},{"name":4,"description":6,"license":26,"metadata":53},{"author":54},"NVIDIA Corporation and Affiliates",{"type":56,"children":57},"root",[58,67,73,80,180,186,276,282,336,342,347,399,405,410],{"type":59,"tag":60,"props":61,"children":63},"element","h1",{"id":62},"instrument-tool-and-llm-calls",[64],{"type":65,"value":66},"text","Instrument Tool And LLM Calls",{"type":59,"tag":68,"props":69,"children":70},"p",{},[71],{"type":65,"value":72},"Use this skill when an app already has tool functions or model\u002Fprovider calls and\nneeds to run them through NeMo Relay correctly.\nKeep the original callable behavior stable while adding Relay lifecycle capture.",{"type":59,"tag":74,"props":75,"children":77},"h2",{"id":76},"default-guidance",[78],{"type":65,"value":79},"Default Guidance",{"type":59,"tag":81,"props":82,"children":83},"ul",{},[84,90,175],{"type":59,"tag":85,"props":86,"children":87},"li",{},[88],{"type":65,"value":89},"Put a scope around the natural agent, request, workflow, or graph boundary.",{"type":59,"tag":85,"props":91,"children":92},{},[93,95],{"type":65,"value":94},"Use managed execution APIs first:\n",{"type":59,"tag":81,"props":96,"children":97},{},[98,118,137,155],{"type":59,"tag":85,"props":99,"children":100},{},[101,103,110,112],{"type":65,"value":102},"Rust: ",{"type":59,"tag":104,"props":105,"children":107},"code",{"className":106},[],[108],{"type":65,"value":109},"tool_call_execute(ToolCallExecuteParams::builder()...)",{"type":65,"value":111},",\n",{"type":59,"tag":104,"props":113,"children":115},{"className":114},[],[116],{"type":65,"value":117},"llm_call_execute(LlmCallExecuteParams::builder()...)",{"type":59,"tag":85,"props":119,"children":120},{},[121,123,129,131],{"type":65,"value":122},"Python: ",{"type":59,"tag":104,"props":124,"children":126},{"className":125},[],[127],{"type":65,"value":128},"tools.execute(...)",{"type":65,"value":130},", ",{"type":59,"tag":104,"props":132,"children":134},{"className":133},[],[135],{"type":65,"value":136},"llm.execute(...)",{"type":59,"tag":85,"props":138,"children":139},{},[140,142,148,149],{"type":65,"value":141},"Node.js: ",{"type":59,"tag":104,"props":143,"children":145},{"className":144},[],[146],{"type":65,"value":147},"toolCallExecute(...)",{"type":65,"value":130},{"type":59,"tag":104,"props":150,"children":152},{"className":151},[],[153],{"type":65,"value":154},"llmCallExecute(...)",{"type":59,"tag":85,"props":156,"children":157},{},[158,160,166,167,173],{"type":65,"value":159},"Go: ",{"type":59,"tag":104,"props":161,"children":163},{"className":162},[],[164],{"type":65,"value":165},"tools.Execute(...)",{"type":65,"value":130},{"type":59,"tag":104,"props":168,"children":170},{"className":169},[],[171],{"type":65,"value":172},"llm.Execute(...)",{"type":65,"value":174}," or the top-level wrappers",{"type":59,"tag":85,"props":176,"children":177},{},[178],{"type":65,"value":179},"Use manual lifecycle APIs only when the host framework cannot be wrapped by the\nmanaged execute helpers.",{"type":59,"tag":74,"props":181,"children":183},{"id":182},"embedded-runtime-semantics",[184],{"type":65,"value":185},"Embedded Runtime Semantics",{"type":59,"tag":81,"props":187,"children":188},{},[189,194,199,204,217,222,227,232,245,250,271],{"type":59,"tag":85,"props":190,"children":191},{},[192],{"type":65,"value":193},"Managed tool and LLM execution runs conditional-execution guardrails first on\nthe raw input. If rejected, the runtime emits a standalone mark event and does\nnot run request intercepts or the callable.",{"type":59,"tag":85,"props":195,"children":196},{},[197],{"type":65,"value":198},"Request intercepts run after conditional guardrails and rewrite the real input\nthat reaches execution intercepts and the callback.",{"type":59,"tag":85,"props":200,"children":201},{},[202],{"type":65,"value":203},"Sanitize-request guardrails affect emitted start-event payloads only. They do\nnot rewrite the caller-visible request or arguments.",{"type":59,"tag":85,"props":205,"children":206},{},[207,209,215],{"type":65,"value":208},"Execution intercepts wrap the callback with the middleware ",{"type":59,"tag":104,"props":210,"children":212},{"className":211},[],[213],{"type":65,"value":214},"next",{"type":65,"value":216}," pattern and\nmay short-circuit by returning their own result.",{"type":59,"tag":85,"props":218,"children":219},{},[220],{"type":65,"value":221},"Sanitize-response guardrails affect emitted end-event payloads only. The value\nreturned to application code remains the raw callback or execution-intercept\nresult.",{"type":59,"tag":85,"props":223,"children":224},{},[225],{"type":65,"value":226},"If execution fails after the start event has been emitted, the runtime still\nemits an end event without a semantic output payload.",{"type":59,"tag":85,"props":228,"children":229},{},[230],{"type":65,"value":231},"Tool calls are named operations with JSON-compatible arguments and results.\nKeep the original tool callable responsible for business logic; let NeMo Relay\nown lifecycle events, middleware, and metadata.",{"type":59,"tag":85,"props":233,"children":234},{},[235,237,243],{"type":65,"value":236},"LLM calls use an ",{"type":59,"tag":104,"props":238,"children":240},{"className":239},[],[241],{"type":65,"value":242},"LLMRequest",{"type":65,"value":244}," made of metadata plus content. Pass model names\nand stable call identifiers when they matter for trace export or diagnostics.",{"type":59,"tag":85,"props":246,"children":247},{},[248],{"type":65,"value":249},"Manual lifecycle APIs are for framework adapters that already own execution.\nIf you use them, every start call needs a matching end or error path with the\nrelevant semantic payloads supplied explicitly.",{"type":59,"tag":85,"props":251,"children":252},{},[253,255,261,263,269],{"type":65,"value":254},"Partial middleware APIs such as ",{"type":59,"tag":104,"props":256,"children":258},{"className":257},[],[259],{"type":65,"value":260},"request_intercepts(...)",{"type":65,"value":262}," and\n",{"type":59,"tag":104,"props":264,"children":266},{"className":265},[],[267],{"type":65,"value":268},"conditional_execution(...)",{"type":65,"value":270}," are for advanced adapters that need one middleware\nfamily before calling a provider manually.",{"type":59,"tag":85,"props":272,"children":273},{},[274],{"type":65,"value":275},"Streaming LLM wrappers collect chunks and finalize a response at stream end;\ndropping the stream early can prevent finalizers and subscribers from seeing a\ncomplete output.",{"type":59,"tag":74,"props":277,"children":279},{"id":278},"checklist",[280],{"type":65,"value":281},"Checklist",{"type":59,"tag":81,"props":283,"children":286},{"className":284},[285],"contains-task-list",[287,300,309,318,327],{"type":59,"tag":85,"props":288,"children":291},{"className":289},[290],"task-list-item",[292,298],{"type":59,"tag":293,"props":294,"children":297},"input",{"disabled":295,"type":296},true,"checkbox",[],{"type":65,"value":299}," Scope boundary chosen before the first tool or LLM call",{"type":59,"tag":85,"props":301,"children":303},{"className":302},[290],[304,307],{"type":59,"tag":293,"props":305,"children":306},{"disabled":295,"type":296},[],{"type":65,"value":308}," Existing tool function wrapped without losing its original arguments\u002Fresult",{"type":59,"tag":85,"props":310,"children":312},{"className":311},[290],[313,316],{"type":59,"tag":293,"props":314,"children":315},{"disabled":295,"type":296},[],{"type":65,"value":317}," Existing LLM\u002Fprovider call wrapped at the right abstraction layer",{"type":59,"tag":85,"props":319,"children":321},{"className":320},[290],[322,325],{"type":59,"tag":293,"props":323,"children":324},{"disabled":295,"type":296},[],{"type":65,"value":326}," Optional metadata, attributes, or model name attached where useful",{"type":59,"tag":85,"props":328,"children":330},{"className":329},[290],[331,334],{"type":59,"tag":293,"props":332,"children":333},{"disabled":295,"type":296},[],{"type":65,"value":335}," Context propagation handled if the call hops threads or async tasks",{"type":59,"tag":74,"props":337,"children":339},{"id":338},"use-another-skill-when",[340],{"type":65,"value":341},"Use Another Skill When",{"type":59,"tag":68,"props":343,"children":344},{},[345],{"type":65,"value":346},"Choose another skill when the task requires a neighboring workflow:",{"type":59,"tag":81,"props":348,"children":349},{},[350,363,375,387],{"type":59,"tag":85,"props":351,"children":352},{},[353,355,361],{"type":65,"value":354},"Use ",{"type":59,"tag":104,"props":356,"children":358},{"className":357},[],[359],{"type":65,"value":360},"nemo-relay-plugin-observability",{"type":65,"value":362}," for traces, ATIF, or export setup.",{"type":59,"tag":85,"props":364,"children":365},{},[366,367,373],{"type":65,"value":354},{"type":59,"tag":104,"props":368,"children":370},{"className":369},[],[371],{"type":65,"value":372},"nemo-relay-debug-runtime-integration",{"type":65,"value":374}," to debug missing events or load\nfailures.",{"type":59,"tag":85,"props":376,"children":377},{},[378,379,385],{"type":65,"value":354},{"type":59,"tag":104,"props":380,"children":382},{"className":381},[],[383],{"type":65,"value":384},"nemo-relay-instrument-context-isolation",{"type":65,"value":386}," for per-request isolation or\nworker-pool guidance.",{"type":59,"tag":85,"props":388,"children":389},{},[390,391,397],{"type":65,"value":354},{"type":59,"tag":104,"props":392,"children":394},{"className":393},[],[395],{"type":65,"value":396},"nemo-relay-plugin-build",{"type":65,"value":398}," for reusable, configuration-activated runtime\nbehavior.",{"type":59,"tag":74,"props":400,"children":402},{"id":401},"related-skills",[403],{"type":65,"value":404},"Related Skills",{"type":59,"tag":68,"props":406,"children":407},{},[408],{"type":65,"value":409},"Use these skills for adjacent workflows:",{"type":59,"tag":81,"props":411,"children":412},{},[413,426,438,449],{"type":59,"tag":85,"props":414,"children":415},{},[416,418,424],{"type":65,"value":417},"Start onboarding with ",{"type":59,"tag":104,"props":419,"children":421},{"className":420},[],[422],{"type":65,"value":423},"nemo-relay-get-started",{"type":65,"value":425},".",{"type":59,"tag":85,"props":427,"children":428},{},[429,431,437],{"type":65,"value":430},"Add typed wrappers with ",{"type":59,"tag":104,"props":432,"children":434},{"className":433},[],[435],{"type":65,"value":436},"nemo-relay-instrument-typed-wrappers",{"type":65,"value":425},{"type":59,"tag":85,"props":439,"children":440},{},[441,443,448],{"type":65,"value":442},"Configure export with ",{"type":59,"tag":104,"props":444,"children":446},{"className":445},[],[447],{"type":65,"value":360},{"type":65,"value":425},{"type":59,"tag":85,"props":450,"children":451},{},[452,454,459],{"type":65,"value":453},"Package reusable behavior with ",{"type":59,"tag":104,"props":455,"children":457},{"className":456},[],[458],{"type":65,"value":396},{"type":65,"value":425},{"items":461,"total":561},[462,476,492,511,518,530,544],{"slug":372,"name":372,"fn":463,"description":464,"org":465,"tags":466,"stars":23,"repoUrl":24,"updatedAt":475},"debug NeMo Relay runtime integrations","Use this skill when NeMo Relay is installed or imported but application-side runtime behavior is missing or incorrect, including load failures, inactive scopes, missing events, and plugin or adaptive wiring problems.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[467,470,473,474],{"name":468,"slug":469,"type":15},"Debugging","debugging",{"name":471,"slug":472,"type":15},"Engineering","engineering",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-17T05:30:27.286964",{"slug":423,"name":423,"fn":477,"description":478,"org":479,"tags":480,"stars":23,"repoUrl":24,"updatedAt":491},"get started with NeMo Relay","Use this skill when first-time NeMo Relay users want to try Relay, choose the least-complex supported quick start, or verify initial value through the CLI, a maintained integration, or direct Python, Node.js, or Rust instrumentation before production setup.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[481,484,485,488],{"name":482,"slug":483,"type":15},"CLI","cli",{"name":9,"slug":8,"type":15},{"name":486,"slug":487,"type":15},"Onboarding","onboarding",{"name":489,"slug":490,"type":15},"Python","python","2026-07-23T05:43:39.488827",{"slug":493,"name":493,"fn":494,"description":495,"org":496,"tags":497,"stars":23,"repoUrl":24,"updatedAt":510},"nemo-relay-install","install NeMo Relay for various environments","Use this skill when choosing or running NeMo Relay installation for the CLI, Python, Node.js, Rust, OpenClaw, Hermes, or maintained framework integrations before runtime configuration or quick-start setup.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[498,499,502,505,506,507],{"name":482,"slug":483,"type":15},{"name":500,"slug":501,"type":15},"Deployment","deployment",{"name":503,"slug":504,"type":15},"Node.js","nodejs",{"name":9,"slug":8,"type":15},{"name":489,"slug":490,"type":15},{"name":508,"slug":509,"type":15},"Rust","rust","2026-07-17T05:30:31.443244",{"slug":4,"name":4,"fn":5,"description":6,"org":512,"tags":513,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[514,515,516,517],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"slug":384,"name":384,"fn":519,"description":520,"org":521,"tags":522,"stars":23,"repoUrl":24,"updatedAt":529},"isolate NeMo Relay execution contexts","Use this skill when concurrent requests, async tasks, threads, workers, goroutines, or agents need independent NeMo Relay scope stacks and correct ancestry propagation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[523,526,527,528],{"name":524,"slug":525,"type":15},"Concurrency","concurrency",{"name":471,"slug":472,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-17T05:30:33.080543",{"slug":436,"name":436,"fn":531,"description":532,"org":533,"tags":534,"stars":23,"repoUrl":24,"updatedAt":543},"instrument NeMo Relay typed wrappers","Use this skill when adding NeMo Relay typed wrappers, domain types, or provider codecs while preserving JSON middleware semantics and caller-visible behavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[535,538,541,542],{"name":536,"slug":537,"type":15},"API Development","api-development",{"name":539,"slug":540,"type":15},"JSON","json",{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},"2026-07-23T05:43:40.456621",{"slug":545,"name":545,"fn":546,"description":547,"org":548,"tags":549,"stars":23,"repoUrl":24,"updatedAt":560},"nemo-relay-migrate-from-flow","migrate applications from NeMo Flow to Relay","Use this skill when migrating applications, examples, integrations, documentation, manifests, or repository code from NeMo Flow to NeMo Relay across Python, Rust, Node.js, Go, C FFI, CLI, configuration, and observability surfaces.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[550,553,556,557,558,559],{"name":551,"slug":552,"type":15},"Go","go",{"name":554,"slug":555,"type":15},"Migration","migration",{"name":503,"slug":504,"type":15},{"name":9,"slug":8,"type":15},{"name":489,"slug":490,"type":15},{"name":508,"slug":509,"type":15},"2026-07-17T05:30:28.259456",10,{"items":563,"total":712},[564,582,596,607,619,631,644,656,669,680,694,703],{"slug":565,"name":565,"fn":566,"description":567,"org":568,"tags":569,"stars":579,"repoUrl":580,"updatedAt":581},"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},[570,573,576],{"name":571,"slug":572,"type":15},"Documentation","documentation",{"name":574,"slug":575,"type":15},"MCP","mcp",{"name":577,"slug":578,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":583,"name":583,"fn":584,"description":585,"org":586,"tags":587,"stars":593,"repoUrl":594,"updatedAt":595},"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},[588,591,592],{"name":589,"slug":590,"type":15},"Containers","containers",{"name":500,"slug":501,"type":15},{"name":489,"slug":490,"type":15},17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":597,"name":597,"fn":598,"description":599,"org":600,"tags":601,"stars":593,"repoUrl":594,"updatedAt":606},"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},[602,605],{"name":603,"slug":604,"type":15},"CI\u002FCD","ci-cd",{"name":500,"slug":501,"type":15},"2026-07-14T05:25:59.97109",{"slug":608,"name":608,"fn":609,"description":610,"org":611,"tags":612,"stars":593,"repoUrl":594,"updatedAt":618},"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},[613,614,615],{"name":603,"slug":604,"type":15},{"name":500,"slug":501,"type":15},{"name":616,"slug":617,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":620,"name":620,"fn":621,"description":622,"org":623,"tags":624,"stars":593,"repoUrl":594,"updatedAt":630},"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},[625,626,627],{"name":468,"slug":469,"type":15},{"name":616,"slug":617,"type":15},{"name":628,"slug":629,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":632,"name":632,"fn":633,"description":634,"org":635,"tags":636,"stars":593,"repoUrl":594,"updatedAt":643},"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},[637,640],{"name":638,"slug":639,"type":15},"Best Practices","best-practices",{"name":641,"slug":642,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":645,"name":645,"fn":646,"description":647,"org":648,"tags":649,"stars":593,"repoUrl":594,"updatedAt":655},"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},[650,653,654],{"name":651,"slug":652,"type":15},"Machine Learning","machine-learning",{"name":554,"slug":555,"type":15},{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":657,"name":657,"fn":658,"description":659,"org":660,"tags":661,"stars":593,"repoUrl":594,"updatedAt":668},"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},[662,665],{"name":663,"slug":664,"type":15},"QA","qa",{"name":666,"slug":667,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":670,"name":670,"fn":671,"description":672,"org":673,"tags":674,"stars":593,"repoUrl":594,"updatedAt":679},"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},[675,676],{"name":500,"slug":501,"type":15},{"name":677,"slug":678,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":681,"name":681,"fn":682,"description":683,"org":684,"tags":685,"stars":593,"repoUrl":594,"updatedAt":693},"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},[686,689,690],{"name":687,"slug":688,"type":15},"Code Review","code-review",{"name":616,"slug":617,"type":15},{"name":691,"slug":692,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":695,"name":695,"fn":696,"description":697,"org":698,"tags":699,"stars":593,"repoUrl":594,"updatedAt":702},"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},[700,701],{"name":663,"slug":664,"type":15},{"name":666,"slug":667,"type":15},"2026-07-14T05:25:54.928983",{"slug":704,"name":704,"fn":705,"description":706,"org":707,"tags":708,"stars":593,"repoUrl":594,"updatedAt":711},"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},[709,710],{"name":17,"slug":18,"type":15},{"name":603,"slug":604,"type":15},"2026-07-30T05:29:03.275638",496]