[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openai-physical-ai-infrastructure-setup-and-resilient-scaling":3,"mdc--swch36-key":39,"related-repo-openai-physical-ai-infrastructure-setup-and-resilient-scaling":1298,"related-org-openai-physical-ai-infrastructure-setup-and-resilient-scaling":1419},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"physical-ai-infrastructure-setup-and-resilient-scaling","scale physical AI infrastructure on Kubernetes","Use when the user wants to set up, scale, validate, or harden NVIDIA physical AI infrastructure for synthetic data generation workflows across local MicroK8s or Azure AKS, including Kubernetes clusters, inference endpoint deployment, OSMO deployment, workload submission readiness, and infrastructure failure recovery. Trigger keywords: physical ai infrastructure, resilient scaling, SDG infrastructure, microk8s, azure aks, NVCF deployment, NIM Operator, OSMO deploy, workflow scaling. Don't trigger for: OSMO log summarization or workload-only operations unless infrastructure setup, scaling, validation, or recovery is requested.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"openai","OpenAI","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fopenai.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Azure","azure","tag",{"name":17,"slug":18,"type":15},"Deployment","deployment",{"name":20,"slug":21,"type":15},"Engineering","engineering",{"name":23,"slug":24,"type":15},"AI Infrastructure","ai-infrastructure",{"name":26,"slug":27,"type":15},"Kubernetes","kubernetes",3992,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins","2026-06-30T19:00:57.102","Apache-2.0",465,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"OpenAI Plugins","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fplugins\u002Ftree\u002FHEAD\u002Fplugins\u002Fnvidia\u002Fskills\u002Fphysical-ai-infrastructure-setup-and-resilient-scaling","---\nname: physical-ai-infrastructure-setup-and-resilient-scaling\ndescription: >-\n  Use when the user wants to set up, scale, validate, or harden NVIDIA\n  physical AI infrastructure for synthetic data generation workflows across\n  local MicroK8s or Azure AKS, including Kubernetes clusters, inference endpoint\n  deployment, OSMO deployment, workload submission readiness, and infrastructure\n  failure recovery. Trigger keywords: physical ai infrastructure, resilient\n  scaling, SDG infrastructure, microk8s, azure aks, NVCF deployment,\n  NIM Operator, OSMO deploy, workflow scaling. Don't trigger for: OSMO log\n  summarization or workload-only operations unless infrastructure setup, scaling,\n  validation, or recovery is requested.\nlicense: Apache-2.0\nversion: \"1.0.0\"\ntools:\n  - Read\n  - Shell\ncompatibility: >-\n  Requires the selected component prerequisites, usually kubectl plus either\n  MicroK8s or Azure CLI\u002FTerraform, and OSMO or inference credentials for the\n  chosen target.\nmetadata:\n  author: NVIDIA Physical AI\n  tags:\n    - physical-ai\n    - infrastructure\n    - kubernetes\n    - azure\n    - microk8s\n    - osmo\n    - nim-operator\n    - scaling\n  domain: ai-ml\n  languages:\n    - bash\n    - hcl\n    - yaml\n---\n\n# Physical AI Infrastructure Setup And Resilient Scaling\n\nCanonical skill for the Physical AI infrastructure stack. Use it to compose cluster,\ninference, OSMO, and workload stages into a reproducible Physical AI SDG\nenvironment, then keep the environment observable and recoverable.\n\n## Operating Rules\n\n- Read only the component references needed for the selected target. Do not\n  load every component by default.\n- Keep the repo as the durable artifact. Fix checked-in config or scripts, then\n  rerun. Do not recover a failed install with untracked one-off changes.\n- Run mutating cluster, OSMO, Helm, Terraform, or Azure operations through\n  checked-in scripts when a script exists. Read-only diagnostics are allowed.\n- Stop at the first red gate. Fix the lowest owning layer in this order:\n  config, script, then skill guidance.\n- Derive values from the environment when possible. Ask only for values that\n  cannot be inferred, such as API keys, target choice, or quota tradeoffs.\n- Store secrets in `${REPO_ROOT}\u002F.env`. Cluster-derived values such as storage,\n  database, Redis, and endpoint names come from Terraform outputs or platform\n  queries, not `.env`.\n- Preflight means no deployed state: no cluster API, Terraform outputs, Helm\n  releases, OSMO pools, or workflow state. Those belong to deploy\u002Fverify gates.\n- Never print, echo, or paste raw keys into commands, YAML, logs, or\n  transcripts. Prefer credential handles, Kubernetes `secretKeyRef`, and\n  runtime-only secret injection. Scan raw transcript exports with\n  `scripts\u002Fscan_transcript_secrets.py` before sharing.\n- Use absolute paths. Derive repo root with `git rev-parse --show-toplevel`.\n\n## Component References\n\nEach component lives inside this skill so the stack has one canonical trigger.\nLoad the component reference only when the selected target needs that slice.\n\n| Concern | Load | Assets |\n| --- | --- | --- |\n| Stage matrix and old driver notes | `components\u002Fdriver\u002Freference.md` | None |\n| MicroK8s cluster | `components\u002Fcluster-microk8s\u002Freference.md` | `components\u002Fcluster-microk8s\u002Fscripts\u002F`, `components\u002Fcluster-microk8s\u002Fruntimeclass-nvidia-runc.yaml` |\n| Azure AKS cluster | `components\u002Fcluster-azure\u002Freference.md` | `components\u002Fcluster-azure\u002Fscripts\u002F`, `components\u002Fcluster-azure\u002Fterraform\u002F` |\n| NIM Operator inference | `components\u002Finference-nim-operator\u002Freference.md` | `components\u002Finference-nim-operator\u002Fscripts\u002F`, `components\u002Finference-nim-operator\u002Fnims\u002F` |\n| NVCF inference | `components\u002Finference-nvcf\u002Freference.md` | `components\u002Finference-nvcf\u002Fscripts\u002F` |\n| Azure AI Foundry inference | `components\u002Finference-azure\u002Freference.md` | `components\u002Finference-azure\u002Fscripts\u002F` |\n| MicroK8s OSMO | `components\u002Fosmo-k8s\u002Freference.md` | `components\u002Fosmo-k8s\u002Fscripts\u002F`, upstream OSMO deploy scripts |\n| Azure OSMO | `components\u002Fosmo-azure\u002Freference.md` | `components\u002Fosmo-azure\u002Fscripts\u002F`, upstream OSMO deploy scripts plus Azure TF outputs |\n| Azure access setup | `components\u002Fazure-access\u002Freference.md` | None |\n| OSMO CLI and workflow operations | `components\u002Fosmo-cli\u002Freference.md` | `components\u002Fosmo-cli\u002Fscripts\u002F`, `components\u002Fosmo-cli\u002Freferences\u002F`, `components\u002Fosmo-cli\u002Fagents\u002F`, `components\u002Fosmo-cli\u002Ftests\u002F` |\n| OpenClaw Azure device login | `components\u002Fopenclaw-azure-login\u002Freference.md` | None |\n\n### OSMO CLI Support Files\n\nThe OSMO CLI component has second-level support files because its command and\nworkflow surface is large. Load these directly only for the stated case.\n\n| File | Read when |\n| --- | --- |\n| `components\u002Fosmo-cli\u002Fagents\u002Fworkflow-expert.md` | Spawning a workflow-generation or workflow-failure subagent. |\n| `components\u002Fosmo-cli\u002Fagents\u002Flogs-reader.md` | Spawning a log summarization subagent for OSMO workflow failures. |\n| `components\u002Fosmo-cli\u002Freferences\u002Fcli-commands.md` | Exact OSMO CLI flags, payloads, or command syntax are needed. |\n| `components\u002Fosmo-cli\u002Freferences\u002Fworkflow-spec.md` | Workflow YAML schema, credentials, outputs, or provider fields are needed. |\n| `components\u002Fosmo-cli\u002Freferences\u002Fworkflow-patterns.md` | Multi-task, data dependency, Jinja, serial, or parallel workflow design is needed. |\n| `components\u002Fosmo-cli\u002Freferences\u002Fadvanced-patterns.md` | Checkpointing, retry\u002Fexit behavior, or node exclusion is needed. |\n| `components\u002Fosmo-cli\u002Ftests\u002Forchestrator-runtime-failure.md` | Validating or debugging the OSMO orchestration review pattern. |\n\n## Target Selection\n\nPick exactly one option per stage. Stage 2 follows stage 1.\n\n1. Kubernetes: `MicroK8s` or `Azure`\n2. OSMO: `MicroK8s OSMO` when Kubernetes is MicroK8s, `Azure OSMO` when\n   Kubernetes is Azure\n3. Inference: `NIM Operator`, `NVCF`, `Azure AI Foundry`, or `None`\n4. Workload: Video Data Augmentation, Defect Image Generation, NuRec Carline\n   Adaptation, NRE, NCore, Asset Harvester, or custom workflow YAML\n\nReject invalid combinations before provisioning:\n\n| Cluster | NIM Operator | NVCF | Azure AI Foundry |\n| --- | --- | --- | --- |\n| MicroK8s | yes | yes | no, Foundry requires Azure identities |\n| Azure | yes | yes | yes |\n\nFor OpenClaw or any chat-only environment that cannot open a browser, read\n`components\u002Fopenclaw-azure-login\u002Freference.md` before Azure prerequisites.\nFor any Azure target, read `components\u002Fazure-access\u002Freference.md` before Azure\ncomponent preflights.\n\n## Setup Flow\n\n1. Confirm target choices and workload compute requirements.\n2. Load the selected component references.\n3. Resolve prerequisites up front, including API keys, Azure access, caller\n   CIDR, GPU quota, storage class, and OSMO login requirements.\n4. Run `scripts\u002Fpreflight.sh` for every selected infrastructure component plus\n   any OSMO CLI\u002Fworkload preflight before provisioning; build the implementation\n   plan from the results and stop on red preflight.\n5. Deploy Kubernetes first. Nothing else starts until the cluster gate is green.\n6. Deploy OSMO and inference after Kubernetes. These can proceed in parallel\n   once the cluster exists, but workload submission waits for both selected\n   gates.\n7. Submit the workload only after OSMO, storage credentials, compute pool, and\n   selected inference endpoints are verified. For VDA, this includes\n   `preflight_credentials.sh`, `pre_submit_guard.py` with resolved `--set`\n   values, non-empty model-cache prefixes, and workflow-namespace endpoint\n   smoke checks.\n8. Monitor through completion. On failed workflow state, inspect events and logs\n   from `components\u002Fosmo-cli\u002Freference.md`; do not resubmit blindly.\n\n## Inference Discovery\n\nAvoid over-deploying expensive endpoints.\n\n1. Scan the chosen workflow spec and default values for endpoint references:\n   `*.osmo-nims.svc.cluster.local`, `api.nvcf.nvidia.com\u002F*`,\n   `*.inference.ai.azure.com`, or `*.cognitiveservices.azure.com`.\n2. Map each reference to the selected backend:\n   - NIM Operator: service name must match a directory under\n     `components\u002Finference-nim-operator\u002Fnims\u002F`.\n   - NVCF: function URL or function ID must be supplied by the environment.\n   - Azure AI Foundry: endpoint name must be deployed through\n     `components\u002Finference-azure\u002Fscripts\u002Finstall.sh`.\n3. If the workflow needs a capability the selected backend lacks, stop and\n   report the mismatch. Do not silently substitute another model.\n\n## Verification Gates\n\nEach stage has its own Verify section in the component reference. These gates\nare mandatory:\n\n| Stage | Gate |\n| --- | --- |\n| Kubernetes | Cluster API reachable, nodes Ready, GPU capacity advertised for GPU paths, and CPU+NVCF paths have `runtimeclass\u002Fnvidia` mapped to `runc`. |\n| Inference | Every endpoint referenced by the workload is reachable. NIM readiness uses `\u002Fv1\u002Fhealth\u002Fready`; NVCF and Foundry still need task-specific authenticated checks. |\n| OSMO | OSMO pods Ready, pool ONLINE, port-forward watchdogs alive, storage credentials configured, and verify-hello workflow COMPLETED. |\n| Workload | Selected workload pre-submit guards pass before submit. `osmo workflow query \u003Cid>` reports `COMPLETED` and every task is green. Failed terminal states require events and logs before retry. |\n\n## Resilient Scaling\n\n- Size the cluster from workload needs before provisioning. For Azure, check CPU\n  and GPU quota for the selected VM families before `terraform apply`.\n- For NIM Operator, deploy only the NIMServices referenced by the workload.\n  Each service pins GPU and model-cache storage for the lifetime of the cluster.\n- Keep OSMO storage URL schemes aligned with the active backend. Local MicroK8s\n  uses MinIO, Azure uses Blob-backed configuration.\n- Treat Pending, Unknown, ImagePullBackOff, unbound PVCs, or 0 Ready replicas as\n  layer failures. Investigate scheduling, storage, image credentials, and\n  adjacent platform state before retrying the same command.\n- For long deploys or workflow watches, provide heartbeat updates with current\n  state, elapsed time, last useful observation, and next check.\n\n## Workload Routing\n\n- Video Data Augmentation: use `skills\u002Fphysical-ai-video-data-augmentation\u002FSKILL.md`.\n- Defect Image Generation: use `skills\u002Fphysical-ai-defect-image-generation\u002FSKILL.md`.\n- NuRec carline adaptation: use `skills\u002Fcarline-adaptation\u002FSKILL.md`.\n- NRE, NCore, and Asset Harvester live in the canonical NuRec catalog listed in\n  `skills\u002FINDEX.md`.\n- Custom workload: submit the provided workflow YAML through OSMO after checking\n  resource requests, image credentials, data credentials, and inference URLs.\n\n## Evaluation Prompts And Results\n\n- Positive trigger: \"Set up resilient Physical AI infrastructure for VDA on\n  Azure AKS with NIM Operator.\"\n  Expected: use this skill.\n- Negative trigger: \"Summarize recent OSMO workflow logs for this workflow ID.\"\n  Expected: do not use this infrastructure setup skill unless the request also\n  involves setup, scaling, validation, or recovery of the infrastructure stack.\n\nLatest static review: 2026-05-26, description keywords match the expected\nroutes above.\n",{"data":40,"body":60},{"name":4,"description":6,"license":31,"version":41,"tools":42,"compatibility":45,"metadata":46},"1.0.0",[43,44],"Read","Shell","Requires the selected component prerequisites, usually kubectl plus either MicroK8s or Azure CLI\u002FTerraform, and OSMO or inference credentials for the chosen target.",{"author":47,"tags":48,"domain":55,"languages":56},"NVIDIA Physical AI",[49,50,27,14,51,52,53,54],"physical-ai","infrastructure","microk8s","osmo","nim-operator","scaling","ai-ml",[57,58,59],"bash","hcl","yaml",{"type":61,"children":62},"root",[63,71,77,84,174,180,185,537,544,549,690,696,701,779,784,853,872,878,959,965,970,1048,1054,1059,1171,1177,1212,1218,1274,1280,1293],{"type":64,"tag":65,"props":66,"children":67},"element","h1",{"id":4},[68],{"type":69,"value":70},"text","Physical AI Infrastructure Setup And Resilient Scaling",{"type":64,"tag":72,"props":73,"children":74},"p",{},[75],{"type":69,"value":76},"Canonical skill for the Physical AI infrastructure stack. Use it to compose cluster,\ninference, OSMO, and workload stages into a reproducible Physical AI SDG\nenvironment, then keep the environment observable and recoverable.",{"type":64,"tag":78,"props":79,"children":81},"h2",{"id":80},"operating-rules",[82],{"type":69,"value":83},"Operating Rules",{"type":64,"tag":85,"props":86,"children":87},"ul",{},[88,94,99,104,109,114,136,141,162],{"type":64,"tag":89,"props":90,"children":91},"li",{},[92],{"type":69,"value":93},"Read only the component references needed for the selected target. Do not\nload every component by default.",{"type":64,"tag":89,"props":95,"children":96},{},[97],{"type":69,"value":98},"Keep the repo as the durable artifact. Fix checked-in config or scripts, then\nrerun. Do not recover a failed install with untracked one-off changes.",{"type":64,"tag":89,"props":100,"children":101},{},[102],{"type":69,"value":103},"Run mutating cluster, OSMO, Helm, Terraform, or Azure operations through\nchecked-in scripts when a script exists. Read-only diagnostics are allowed.",{"type":64,"tag":89,"props":105,"children":106},{},[107],{"type":69,"value":108},"Stop at the first red gate. Fix the lowest owning layer in this order:\nconfig, script, then skill guidance.",{"type":64,"tag":89,"props":110,"children":111},{},[112],{"type":69,"value":113},"Derive values from the environment when possible. Ask only for values that\ncannot be inferred, such as API keys, target choice, or quota tradeoffs.",{"type":64,"tag":89,"props":115,"children":116},{},[117,119,126,128,134],{"type":69,"value":118},"Store secrets in ",{"type":64,"tag":120,"props":121,"children":123},"code",{"className":122},[],[124],{"type":69,"value":125},"${REPO_ROOT}\u002F.env",{"type":69,"value":127},". Cluster-derived values such as storage,\ndatabase, Redis, and endpoint names come from Terraform outputs or platform\nqueries, not ",{"type":64,"tag":120,"props":129,"children":131},{"className":130},[],[132],{"type":69,"value":133},".env",{"type":69,"value":135},".",{"type":64,"tag":89,"props":137,"children":138},{},[139],{"type":69,"value":140},"Preflight means no deployed state: no cluster API, Terraform outputs, Helm\nreleases, OSMO pools, or workflow state. Those belong to deploy\u002Fverify gates.",{"type":64,"tag":89,"props":142,"children":143},{},[144,146,152,154,160],{"type":69,"value":145},"Never print, echo, or paste raw keys into commands, YAML, logs, or\ntranscripts. Prefer credential handles, Kubernetes ",{"type":64,"tag":120,"props":147,"children":149},{"className":148},[],[150],{"type":69,"value":151},"secretKeyRef",{"type":69,"value":153},", and\nruntime-only secret injection. Scan raw transcript exports with\n",{"type":64,"tag":120,"props":155,"children":157},{"className":156},[],[158],{"type":69,"value":159},"scripts\u002Fscan_transcript_secrets.py",{"type":69,"value":161}," before sharing.",{"type":64,"tag":89,"props":163,"children":164},{},[165,167,173],{"type":69,"value":166},"Use absolute paths. Derive repo root with ",{"type":64,"tag":120,"props":168,"children":170},{"className":169},[],[171],{"type":69,"value":172},"git rev-parse --show-toplevel",{"type":69,"value":135},{"type":64,"tag":78,"props":175,"children":177},{"id":176},"component-references",[178],{"type":69,"value":179},"Component References",{"type":64,"tag":72,"props":181,"children":182},{},[183],{"type":69,"value":184},"Each component lives inside this skill so the stack has one canonical trigger.\nLoad the component reference only when the selected target needs that slice.",{"type":64,"tag":186,"props":187,"children":188},"table",{},[189,213],{"type":64,"tag":190,"props":191,"children":192},"thead",{},[193],{"type":64,"tag":194,"props":195,"children":196},"tr",{},[197,203,208],{"type":64,"tag":198,"props":199,"children":200},"th",{},[201],{"type":69,"value":202},"Concern",{"type":64,"tag":198,"props":204,"children":205},{},[206],{"type":69,"value":207},"Load",{"type":64,"tag":198,"props":209,"children":210},{},[211],{"type":69,"value":212},"Assets",{"type":64,"tag":214,"props":215,"children":216},"tbody",{},[217,240,274,307,340,366,392,420,448,469,516],{"type":64,"tag":194,"props":218,"children":219},{},[220,226,235],{"type":64,"tag":221,"props":222,"children":223},"td",{},[224],{"type":69,"value":225},"Stage matrix and old driver notes",{"type":64,"tag":221,"props":227,"children":228},{},[229],{"type":64,"tag":120,"props":230,"children":232},{"className":231},[],[233],{"type":69,"value":234},"components\u002Fdriver\u002Freference.md",{"type":64,"tag":221,"props":236,"children":237},{},[238],{"type":69,"value":239},"None",{"type":64,"tag":194,"props":241,"children":242},{},[243,248,257],{"type":64,"tag":221,"props":244,"children":245},{},[246],{"type":69,"value":247},"MicroK8s cluster",{"type":64,"tag":221,"props":249,"children":250},{},[251],{"type":64,"tag":120,"props":252,"children":254},{"className":253},[],[255],{"type":69,"value":256},"components\u002Fcluster-microk8s\u002Freference.md",{"type":64,"tag":221,"props":258,"children":259},{},[260,266,268],{"type":64,"tag":120,"props":261,"children":263},{"className":262},[],[264],{"type":69,"value":265},"components\u002Fcluster-microk8s\u002Fscripts\u002F",{"type":69,"value":267},", ",{"type":64,"tag":120,"props":269,"children":271},{"className":270},[],[272],{"type":69,"value":273},"components\u002Fcluster-microk8s\u002Fruntimeclass-nvidia-runc.yaml",{"type":64,"tag":194,"props":275,"children":276},{},[277,282,291],{"type":64,"tag":221,"props":278,"children":279},{},[280],{"type":69,"value":281},"Azure AKS cluster",{"type":64,"tag":221,"props":283,"children":284},{},[285],{"type":64,"tag":120,"props":286,"children":288},{"className":287},[],[289],{"type":69,"value":290},"components\u002Fcluster-azure\u002Freference.md",{"type":64,"tag":221,"props":292,"children":293},{},[294,300,301],{"type":64,"tag":120,"props":295,"children":297},{"className":296},[],[298],{"type":69,"value":299},"components\u002Fcluster-azure\u002Fscripts\u002F",{"type":69,"value":267},{"type":64,"tag":120,"props":302,"children":304},{"className":303},[],[305],{"type":69,"value":306},"components\u002Fcluster-azure\u002Fterraform\u002F",{"type":64,"tag":194,"props":308,"children":309},{},[310,315,324],{"type":64,"tag":221,"props":311,"children":312},{},[313],{"type":69,"value":314},"NIM Operator inference",{"type":64,"tag":221,"props":316,"children":317},{},[318],{"type":64,"tag":120,"props":319,"children":321},{"className":320},[],[322],{"type":69,"value":323},"components\u002Finference-nim-operator\u002Freference.md",{"type":64,"tag":221,"props":325,"children":326},{},[327,333,334],{"type":64,"tag":120,"props":328,"children":330},{"className":329},[],[331],{"type":69,"value":332},"components\u002Finference-nim-operator\u002Fscripts\u002F",{"type":69,"value":267},{"type":64,"tag":120,"props":335,"children":337},{"className":336},[],[338],{"type":69,"value":339},"components\u002Finference-nim-operator\u002Fnims\u002F",{"type":64,"tag":194,"props":341,"children":342},{},[343,348,357],{"type":64,"tag":221,"props":344,"children":345},{},[346],{"type":69,"value":347},"NVCF inference",{"type":64,"tag":221,"props":349,"children":350},{},[351],{"type":64,"tag":120,"props":352,"children":354},{"className":353},[],[355],{"type":69,"value":356},"components\u002Finference-nvcf\u002Freference.md",{"type":64,"tag":221,"props":358,"children":359},{},[360],{"type":64,"tag":120,"props":361,"children":363},{"className":362},[],[364],{"type":69,"value":365},"components\u002Finference-nvcf\u002Fscripts\u002F",{"type":64,"tag":194,"props":367,"children":368},{},[369,374,383],{"type":64,"tag":221,"props":370,"children":371},{},[372],{"type":69,"value":373},"Azure AI Foundry inference",{"type":64,"tag":221,"props":375,"children":376},{},[377],{"type":64,"tag":120,"props":378,"children":380},{"className":379},[],[381],{"type":69,"value":382},"components\u002Finference-azure\u002Freference.md",{"type":64,"tag":221,"props":384,"children":385},{},[386],{"type":64,"tag":120,"props":387,"children":389},{"className":388},[],[390],{"type":69,"value":391},"components\u002Finference-azure\u002Fscripts\u002F",{"type":64,"tag":194,"props":393,"children":394},{},[395,400,409],{"type":64,"tag":221,"props":396,"children":397},{},[398],{"type":69,"value":399},"MicroK8s OSMO",{"type":64,"tag":221,"props":401,"children":402},{},[403],{"type":64,"tag":120,"props":404,"children":406},{"className":405},[],[407],{"type":69,"value":408},"components\u002Fosmo-k8s\u002Freference.md",{"type":64,"tag":221,"props":410,"children":411},{},[412,418],{"type":64,"tag":120,"props":413,"children":415},{"className":414},[],[416],{"type":69,"value":417},"components\u002Fosmo-k8s\u002Fscripts\u002F",{"type":69,"value":419},", upstream OSMO deploy scripts",{"type":64,"tag":194,"props":421,"children":422},{},[423,428,437],{"type":64,"tag":221,"props":424,"children":425},{},[426],{"type":69,"value":427},"Azure OSMO",{"type":64,"tag":221,"props":429,"children":430},{},[431],{"type":64,"tag":120,"props":432,"children":434},{"className":433},[],[435],{"type":69,"value":436},"components\u002Fosmo-azure\u002Freference.md",{"type":64,"tag":221,"props":438,"children":439},{},[440,446],{"type":64,"tag":120,"props":441,"children":443},{"className":442},[],[444],{"type":69,"value":445},"components\u002Fosmo-azure\u002Fscripts\u002F",{"type":69,"value":447},", upstream OSMO deploy scripts plus Azure TF outputs",{"type":64,"tag":194,"props":449,"children":450},{},[451,456,465],{"type":64,"tag":221,"props":452,"children":453},{},[454],{"type":69,"value":455},"Azure access setup",{"type":64,"tag":221,"props":457,"children":458},{},[459],{"type":64,"tag":120,"props":460,"children":462},{"className":461},[],[463],{"type":69,"value":464},"components\u002Fazure-access\u002Freference.md",{"type":64,"tag":221,"props":466,"children":467},{},[468],{"type":69,"value":239},{"type":64,"tag":194,"props":470,"children":471},{},[472,477,486],{"type":64,"tag":221,"props":473,"children":474},{},[475],{"type":69,"value":476},"OSMO CLI and workflow operations",{"type":64,"tag":221,"props":478,"children":479},{},[480],{"type":64,"tag":120,"props":481,"children":483},{"className":482},[],[484],{"type":69,"value":485},"components\u002Fosmo-cli\u002Freference.md",{"type":64,"tag":221,"props":487,"children":488},{},[489,495,496,502,503,509,510],{"type":64,"tag":120,"props":490,"children":492},{"className":491},[],[493],{"type":69,"value":494},"components\u002Fosmo-cli\u002Fscripts\u002F",{"type":69,"value":267},{"type":64,"tag":120,"props":497,"children":499},{"className":498},[],[500],{"type":69,"value":501},"components\u002Fosmo-cli\u002Freferences\u002F",{"type":69,"value":267},{"type":64,"tag":120,"props":504,"children":506},{"className":505},[],[507],{"type":69,"value":508},"components\u002Fosmo-cli\u002Fagents\u002F",{"type":69,"value":267},{"type":64,"tag":120,"props":511,"children":513},{"className":512},[],[514],{"type":69,"value":515},"components\u002Fosmo-cli\u002Ftests\u002F",{"type":64,"tag":194,"props":517,"children":518},{},[519,524,533],{"type":64,"tag":221,"props":520,"children":521},{},[522],{"type":69,"value":523},"OpenClaw Azure device login",{"type":64,"tag":221,"props":525,"children":526},{},[527],{"type":64,"tag":120,"props":528,"children":530},{"className":529},[],[531],{"type":69,"value":532},"components\u002Fopenclaw-azure-login\u002Freference.md",{"type":64,"tag":221,"props":534,"children":535},{},[536],{"type":69,"value":239},{"type":64,"tag":538,"props":539,"children":541},"h3",{"id":540},"osmo-cli-support-files",[542],{"type":69,"value":543},"OSMO CLI Support Files",{"type":64,"tag":72,"props":545,"children":546},{},[547],{"type":69,"value":548},"The OSMO CLI component has second-level support files because its command and\nworkflow surface is large. Load these directly only for the stated case.",{"type":64,"tag":186,"props":550,"children":551},{},[552,568],{"type":64,"tag":190,"props":553,"children":554},{},[555],{"type":64,"tag":194,"props":556,"children":557},{},[558,563],{"type":64,"tag":198,"props":559,"children":560},{},[561],{"type":69,"value":562},"File",{"type":64,"tag":198,"props":564,"children":565},{},[566],{"type":69,"value":567},"Read when",{"type":64,"tag":214,"props":569,"children":570},{},[571,588,605,622,639,656,673],{"type":64,"tag":194,"props":572,"children":573},{},[574,583],{"type":64,"tag":221,"props":575,"children":576},{},[577],{"type":64,"tag":120,"props":578,"children":580},{"className":579},[],[581],{"type":69,"value":582},"components\u002Fosmo-cli\u002Fagents\u002Fworkflow-expert.md",{"type":64,"tag":221,"props":584,"children":585},{},[586],{"type":69,"value":587},"Spawning a workflow-generation or workflow-failure subagent.",{"type":64,"tag":194,"props":589,"children":590},{},[591,600],{"type":64,"tag":221,"props":592,"children":593},{},[594],{"type":64,"tag":120,"props":595,"children":597},{"className":596},[],[598],{"type":69,"value":599},"components\u002Fosmo-cli\u002Fagents\u002Flogs-reader.md",{"type":64,"tag":221,"props":601,"children":602},{},[603],{"type":69,"value":604},"Spawning a log summarization subagent for OSMO workflow failures.",{"type":64,"tag":194,"props":606,"children":607},{},[608,617],{"type":64,"tag":221,"props":609,"children":610},{},[611],{"type":64,"tag":120,"props":612,"children":614},{"className":613},[],[615],{"type":69,"value":616},"components\u002Fosmo-cli\u002Freferences\u002Fcli-commands.md",{"type":64,"tag":221,"props":618,"children":619},{},[620],{"type":69,"value":621},"Exact OSMO CLI flags, payloads, or command syntax are needed.",{"type":64,"tag":194,"props":623,"children":624},{},[625,634],{"type":64,"tag":221,"props":626,"children":627},{},[628],{"type":64,"tag":120,"props":629,"children":631},{"className":630},[],[632],{"type":69,"value":633},"components\u002Fosmo-cli\u002Freferences\u002Fworkflow-spec.md",{"type":64,"tag":221,"props":635,"children":636},{},[637],{"type":69,"value":638},"Workflow YAML schema, credentials, outputs, or provider fields are needed.",{"type":64,"tag":194,"props":640,"children":641},{},[642,651],{"type":64,"tag":221,"props":643,"children":644},{},[645],{"type":64,"tag":120,"props":646,"children":648},{"className":647},[],[649],{"type":69,"value":650},"components\u002Fosmo-cli\u002Freferences\u002Fworkflow-patterns.md",{"type":64,"tag":221,"props":652,"children":653},{},[654],{"type":69,"value":655},"Multi-task, data dependency, Jinja, serial, or parallel workflow design is needed.",{"type":64,"tag":194,"props":657,"children":658},{},[659,668],{"type":64,"tag":221,"props":660,"children":661},{},[662],{"type":64,"tag":120,"props":663,"children":665},{"className":664},[],[666],{"type":69,"value":667},"components\u002Fosmo-cli\u002Freferences\u002Fadvanced-patterns.md",{"type":64,"tag":221,"props":669,"children":670},{},[671],{"type":69,"value":672},"Checkpointing, retry\u002Fexit behavior, or node exclusion is needed.",{"type":64,"tag":194,"props":674,"children":675},{},[676,685],{"type":64,"tag":221,"props":677,"children":678},{},[679],{"type":64,"tag":120,"props":680,"children":682},{"className":681},[],[683],{"type":69,"value":684},"components\u002Fosmo-cli\u002Ftests\u002Forchestrator-runtime-failure.md",{"type":64,"tag":221,"props":686,"children":687},{},[688],{"type":69,"value":689},"Validating or debugging the OSMO orchestration review pattern.",{"type":64,"tag":78,"props":691,"children":693},{"id":692},"target-selection",[694],{"type":69,"value":695},"Target Selection",{"type":64,"tag":72,"props":697,"children":698},{},[699],{"type":69,"value":700},"Pick exactly one option per stage. Stage 2 follows stage 1.",{"type":64,"tag":702,"props":703,"children":704},"ol",{},[705,723,742,774],{"type":64,"tag":89,"props":706,"children":707},{},[708,710,716,718],{"type":69,"value":709},"Kubernetes: ",{"type":64,"tag":120,"props":711,"children":713},{"className":712},[],[714],{"type":69,"value":715},"MicroK8s",{"type":69,"value":717}," or ",{"type":64,"tag":120,"props":719,"children":721},{"className":720},[],[722],{"type":69,"value":13},{"type":64,"tag":89,"props":724,"children":725},{},[726,728,733,735,740],{"type":69,"value":727},"OSMO: ",{"type":64,"tag":120,"props":729,"children":731},{"className":730},[],[732],{"type":69,"value":399},{"type":69,"value":734}," when Kubernetes is MicroK8s, ",{"type":64,"tag":120,"props":736,"children":738},{"className":737},[],[739],{"type":69,"value":427},{"type":69,"value":741}," when\nKubernetes is Azure",{"type":64,"tag":89,"props":743,"children":744},{},[745,747,753,754,760,761,767,769],{"type":69,"value":746},"Inference: ",{"type":64,"tag":120,"props":748,"children":750},{"className":749},[],[751],{"type":69,"value":752},"NIM Operator",{"type":69,"value":267},{"type":64,"tag":120,"props":755,"children":757},{"className":756},[],[758],{"type":69,"value":759},"NVCF",{"type":69,"value":267},{"type":64,"tag":120,"props":762,"children":764},{"className":763},[],[765],{"type":69,"value":766},"Azure AI Foundry",{"type":69,"value":768},", or ",{"type":64,"tag":120,"props":770,"children":772},{"className":771},[],[773],{"type":69,"value":239},{"type":64,"tag":89,"props":775,"children":776},{},[777],{"type":69,"value":778},"Workload: Video Data Augmentation, Defect Image Generation, NuRec Carline\nAdaptation, NRE, NCore, Asset Harvester, or custom workflow YAML",{"type":64,"tag":72,"props":780,"children":781},{},[782],{"type":69,"value":783},"Reject invalid combinations before provisioning:",{"type":64,"tag":186,"props":785,"children":786},{},[787,810],{"type":64,"tag":190,"props":788,"children":789},{},[790],{"type":64,"tag":194,"props":791,"children":792},{},[793,798,802,806],{"type":64,"tag":198,"props":794,"children":795},{},[796],{"type":69,"value":797},"Cluster",{"type":64,"tag":198,"props":799,"children":800},{},[801],{"type":69,"value":752},{"type":64,"tag":198,"props":803,"children":804},{},[805],{"type":69,"value":759},{"type":64,"tag":198,"props":807,"children":808},{},[809],{"type":69,"value":766},{"type":64,"tag":214,"props":811,"children":812},{},[813,834],{"type":64,"tag":194,"props":814,"children":815},{},[816,820,825,829],{"type":64,"tag":221,"props":817,"children":818},{},[819],{"type":69,"value":715},{"type":64,"tag":221,"props":821,"children":822},{},[823],{"type":69,"value":824},"yes",{"type":64,"tag":221,"props":826,"children":827},{},[828],{"type":69,"value":824},{"type":64,"tag":221,"props":830,"children":831},{},[832],{"type":69,"value":833},"no, Foundry requires Azure identities",{"type":64,"tag":194,"props":835,"children":836},{},[837,841,845,849],{"type":64,"tag":221,"props":838,"children":839},{},[840],{"type":69,"value":13},{"type":64,"tag":221,"props":842,"children":843},{},[844],{"type":69,"value":824},{"type":64,"tag":221,"props":846,"children":847},{},[848],{"type":69,"value":824},{"type":64,"tag":221,"props":850,"children":851},{},[852],{"type":69,"value":824},{"type":64,"tag":72,"props":854,"children":855},{},[856,858,863,865,870],{"type":69,"value":857},"For OpenClaw or any chat-only environment that cannot open a browser, read\n",{"type":64,"tag":120,"props":859,"children":861},{"className":860},[],[862],{"type":69,"value":532},{"type":69,"value":864}," before Azure prerequisites.\nFor any Azure target, read ",{"type":64,"tag":120,"props":866,"children":868},{"className":867},[],[869],{"type":69,"value":464},{"type":69,"value":871}," before Azure\ncomponent preflights.",{"type":64,"tag":78,"props":873,"children":875},{"id":874},"setup-flow",[876],{"type":69,"value":877},"Setup Flow",{"type":64,"tag":702,"props":879,"children":880},{},[881,886,891,896,909,914,919,947],{"type":64,"tag":89,"props":882,"children":883},{},[884],{"type":69,"value":885},"Confirm target choices and workload compute requirements.",{"type":64,"tag":89,"props":887,"children":888},{},[889],{"type":69,"value":890},"Load the selected component references.",{"type":64,"tag":89,"props":892,"children":893},{},[894],{"type":69,"value":895},"Resolve prerequisites up front, including API keys, Azure access, caller\nCIDR, GPU quota, storage class, and OSMO login requirements.",{"type":64,"tag":89,"props":897,"children":898},{},[899,901,907],{"type":69,"value":900},"Run ",{"type":64,"tag":120,"props":902,"children":904},{"className":903},[],[905],{"type":69,"value":906},"scripts\u002Fpreflight.sh",{"type":69,"value":908}," for every selected infrastructure component plus\nany OSMO CLI\u002Fworkload preflight before provisioning; build the implementation\nplan from the results and stop on red preflight.",{"type":64,"tag":89,"props":910,"children":911},{},[912],{"type":69,"value":913},"Deploy Kubernetes first. Nothing else starts until the cluster gate is green.",{"type":64,"tag":89,"props":915,"children":916},{},[917],{"type":69,"value":918},"Deploy OSMO and inference after Kubernetes. These can proceed in parallel\nonce the cluster exists, but workload submission waits for both selected\ngates.",{"type":64,"tag":89,"props":920,"children":921},{},[922,924,930,931,937,939,945],{"type":69,"value":923},"Submit the workload only after OSMO, storage credentials, compute pool, and\nselected inference endpoints are verified. For VDA, this includes\n",{"type":64,"tag":120,"props":925,"children":927},{"className":926},[],[928],{"type":69,"value":929},"preflight_credentials.sh",{"type":69,"value":267},{"type":64,"tag":120,"props":932,"children":934},{"className":933},[],[935],{"type":69,"value":936},"pre_submit_guard.py",{"type":69,"value":938}," with resolved ",{"type":64,"tag":120,"props":940,"children":942},{"className":941},[],[943],{"type":69,"value":944},"--set",{"type":69,"value":946},"\nvalues, non-empty model-cache prefixes, and workflow-namespace endpoint\nsmoke checks.",{"type":64,"tag":89,"props":948,"children":949},{},[950,952,957],{"type":69,"value":951},"Monitor through completion. On failed workflow state, inspect events and logs\nfrom ",{"type":64,"tag":120,"props":953,"children":955},{"className":954},[],[956],{"type":69,"value":485},{"type":69,"value":958},"; do not resubmit blindly.",{"type":64,"tag":78,"props":960,"children":962},{"id":961},"inference-discovery",[963],{"type":69,"value":964},"Inference Discovery",{"type":64,"tag":72,"props":966,"children":967},{},[968],{"type":69,"value":969},"Avoid over-deploying expensive endpoints.",{"type":64,"tag":702,"props":971,"children":972},{},[973,1007,1043],{"type":64,"tag":89,"props":974,"children":975},{},[976,978,984,985,991,993,999,1000,1006],{"type":69,"value":977},"Scan the chosen workflow spec and default values for endpoint references:\n",{"type":64,"tag":120,"props":979,"children":981},{"className":980},[],[982],{"type":69,"value":983},"*.osmo-nims.svc.cluster.local",{"type":69,"value":267},{"type":64,"tag":120,"props":986,"children":988},{"className":987},[],[989],{"type":69,"value":990},"api.nvcf.nvidia.com\u002F*",{"type":69,"value":992},",\n",{"type":64,"tag":120,"props":994,"children":996},{"className":995},[],[997],{"type":69,"value":998},"*.inference.ai.azure.com",{"type":69,"value":768},{"type":64,"tag":120,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":69,"value":1005},"*.cognitiveservices.azure.com",{"type":69,"value":135},{"type":64,"tag":89,"props":1008,"children":1009},{},[1010,1012],{"type":69,"value":1011},"Map each reference to the selected backend:\n",{"type":64,"tag":85,"props":1013,"children":1014},{},[1015,1026,1031],{"type":64,"tag":89,"props":1016,"children":1017},{},[1018,1020,1025],{"type":69,"value":1019},"NIM Operator: service name must match a directory under\n",{"type":64,"tag":120,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":69,"value":339},{"type":69,"value":135},{"type":64,"tag":89,"props":1027,"children":1028},{},[1029],{"type":69,"value":1030},"NVCF: function URL or function ID must be supplied by the environment.",{"type":64,"tag":89,"props":1032,"children":1033},{},[1034,1036,1042],{"type":69,"value":1035},"Azure AI Foundry: endpoint name must be deployed through\n",{"type":64,"tag":120,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":69,"value":1041},"components\u002Finference-azure\u002Fscripts\u002Finstall.sh",{"type":69,"value":135},{"type":64,"tag":89,"props":1044,"children":1045},{},[1046],{"type":69,"value":1047},"If the workflow needs a capability the selected backend lacks, stop and\nreport the mismatch. Do not silently substitute another model.",{"type":64,"tag":78,"props":1049,"children":1051},{"id":1050},"verification-gates",[1052],{"type":69,"value":1053},"Verification Gates",{"type":64,"tag":72,"props":1055,"children":1056},{},[1057],{"type":69,"value":1058},"Each stage has its own Verify section in the component reference. These gates\nare mandatory:",{"type":64,"tag":186,"props":1060,"children":1061},{},[1062,1078],{"type":64,"tag":190,"props":1063,"children":1064},{},[1065],{"type":64,"tag":194,"props":1066,"children":1067},{},[1068,1073],{"type":64,"tag":198,"props":1069,"children":1070},{},[1071],{"type":69,"value":1072},"Stage",{"type":64,"tag":198,"props":1074,"children":1075},{},[1076],{"type":69,"value":1077},"Gate",{"type":64,"tag":214,"props":1079,"children":1080},{},[1081,1108,1129,1142],{"type":64,"tag":194,"props":1082,"children":1083},{},[1084,1088],{"type":64,"tag":221,"props":1085,"children":1086},{},[1087],{"type":69,"value":26},{"type":64,"tag":221,"props":1089,"children":1090},{},[1091,1093,1099,1101,1107],{"type":69,"value":1092},"Cluster API reachable, nodes Ready, GPU capacity advertised for GPU paths, and CPU+NVCF paths have ",{"type":64,"tag":120,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":69,"value":1098},"runtimeclass\u002Fnvidia",{"type":69,"value":1100}," mapped to ",{"type":64,"tag":120,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":69,"value":1106},"runc",{"type":69,"value":135},{"type":64,"tag":194,"props":1109,"children":1110},{},[1111,1116],{"type":64,"tag":221,"props":1112,"children":1113},{},[1114],{"type":69,"value":1115},"Inference",{"type":64,"tag":221,"props":1117,"children":1118},{},[1119,1121,1127],{"type":69,"value":1120},"Every endpoint referenced by the workload is reachable. NIM readiness uses ",{"type":64,"tag":120,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":69,"value":1126},"\u002Fv1\u002Fhealth\u002Fready",{"type":69,"value":1128},"; NVCF and Foundry still need task-specific authenticated checks.",{"type":64,"tag":194,"props":1130,"children":1131},{},[1132,1137],{"type":64,"tag":221,"props":1133,"children":1134},{},[1135],{"type":69,"value":1136},"OSMO",{"type":64,"tag":221,"props":1138,"children":1139},{},[1140],{"type":69,"value":1141},"OSMO pods Ready, pool ONLINE, port-forward watchdogs alive, storage credentials configured, and verify-hello workflow COMPLETED.",{"type":64,"tag":194,"props":1143,"children":1144},{},[1145,1150],{"type":64,"tag":221,"props":1146,"children":1147},{},[1148],{"type":69,"value":1149},"Workload",{"type":64,"tag":221,"props":1151,"children":1152},{},[1153,1155,1161,1163,1169],{"type":69,"value":1154},"Selected workload pre-submit guards pass before submit. ",{"type":64,"tag":120,"props":1156,"children":1158},{"className":1157},[],[1159],{"type":69,"value":1160},"osmo workflow query \u003Cid>",{"type":69,"value":1162}," reports ",{"type":64,"tag":120,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":69,"value":1168},"COMPLETED",{"type":69,"value":1170}," and every task is green. Failed terminal states require events and logs before retry.",{"type":64,"tag":78,"props":1172,"children":1174},{"id":1173},"resilient-scaling",[1175],{"type":69,"value":1176},"Resilient Scaling",{"type":64,"tag":85,"props":1178,"children":1179},{},[1180,1192,1197,1202,1207],{"type":64,"tag":89,"props":1181,"children":1182},{},[1183,1185,1191],{"type":69,"value":1184},"Size the cluster from workload needs before provisioning. For Azure, check CPU\nand GPU quota for the selected VM families before ",{"type":64,"tag":120,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":69,"value":1190},"terraform apply",{"type":69,"value":135},{"type":64,"tag":89,"props":1193,"children":1194},{},[1195],{"type":69,"value":1196},"For NIM Operator, deploy only the NIMServices referenced by the workload.\nEach service pins GPU and model-cache storage for the lifetime of the cluster.",{"type":64,"tag":89,"props":1198,"children":1199},{},[1200],{"type":69,"value":1201},"Keep OSMO storage URL schemes aligned with the active backend. Local MicroK8s\nuses MinIO, Azure uses Blob-backed configuration.",{"type":64,"tag":89,"props":1203,"children":1204},{},[1205],{"type":69,"value":1206},"Treat Pending, Unknown, ImagePullBackOff, unbound PVCs, or 0 Ready replicas as\nlayer failures. Investigate scheduling, storage, image credentials, and\nadjacent platform state before retrying the same command.",{"type":64,"tag":89,"props":1208,"children":1209},{},[1210],{"type":69,"value":1211},"For long deploys or workflow watches, provide heartbeat updates with current\nstate, elapsed time, last useful observation, and next check.",{"type":64,"tag":78,"props":1213,"children":1215},{"id":1214},"workload-routing",[1216],{"type":69,"value":1217},"Workload Routing",{"type":64,"tag":85,"props":1219,"children":1220},{},[1221,1233,1245,1257,1269],{"type":64,"tag":89,"props":1222,"children":1223},{},[1224,1226,1232],{"type":69,"value":1225},"Video Data Augmentation: use ",{"type":64,"tag":120,"props":1227,"children":1229},{"className":1228},[],[1230],{"type":69,"value":1231},"skills\u002Fphysical-ai-video-data-augmentation\u002FSKILL.md",{"type":69,"value":135},{"type":64,"tag":89,"props":1234,"children":1235},{},[1236,1238,1244],{"type":69,"value":1237},"Defect Image Generation: use ",{"type":64,"tag":120,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":69,"value":1243},"skills\u002Fphysical-ai-defect-image-generation\u002FSKILL.md",{"type":69,"value":135},{"type":64,"tag":89,"props":1246,"children":1247},{},[1248,1250,1256],{"type":69,"value":1249},"NuRec carline adaptation: use ",{"type":64,"tag":120,"props":1251,"children":1253},{"className":1252},[],[1254],{"type":69,"value":1255},"skills\u002Fcarline-adaptation\u002FSKILL.md",{"type":69,"value":135},{"type":64,"tag":89,"props":1258,"children":1259},{},[1260,1262,1268],{"type":69,"value":1261},"NRE, NCore, and Asset Harvester live in the canonical NuRec catalog listed in\n",{"type":64,"tag":120,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":69,"value":1267},"skills\u002FINDEX.md",{"type":69,"value":135},{"type":64,"tag":89,"props":1270,"children":1271},{},[1272],{"type":69,"value":1273},"Custom workload: submit the provided workflow YAML through OSMO after checking\nresource requests, image credentials, data credentials, and inference URLs.",{"type":64,"tag":78,"props":1275,"children":1277},{"id":1276},"evaluation-prompts-and-results",[1278],{"type":69,"value":1279},"Evaluation Prompts And Results",{"type":64,"tag":85,"props":1281,"children":1282},{},[1283,1288],{"type":64,"tag":89,"props":1284,"children":1285},{},[1286],{"type":69,"value":1287},"Positive trigger: \"Set up resilient Physical AI infrastructure for VDA on\nAzure AKS with NIM Operator.\"\nExpected: use this skill.",{"type":64,"tag":89,"props":1289,"children":1290},{},[1291],{"type":69,"value":1292},"Negative trigger: \"Summarize recent OSMO workflow logs for this workflow ID.\"\nExpected: do not use this infrastructure setup skill unless the request also\ninvolves setup, scaling, validation, or recovery of the infrastructure stack.",{"type":64,"tag":72,"props":1294,"children":1295},{},[1296],{"type":69,"value":1297},"Latest static review: 2026-05-26, description keywords match the expected\nroutes above.",{"items":1299,"total":1418},[1300,1318,1334,1346,1366,1388,1406],{"slug":1301,"name":1301,"fn":1302,"description":1303,"org":1304,"tags":1305,"stars":28,"repoUrl":29,"updatedAt":30},"accessibility-and-inclusive-visualization","make data visualizations accessible","Make data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1306,1309,1312,1315],{"name":1307,"slug":1308,"type":15},"Accessibility","accessibility",{"name":1310,"slug":1311,"type":15},"Charts","charts",{"name":1313,"slug":1314,"type":15},"Data Visualization","data-visualization",{"name":1316,"slug":1317,"type":15},"Design","design",{"slug":1319,"name":1319,"fn":1320,"description":1321,"org":1322,"tags":1323,"stars":28,"repoUrl":29,"updatedAt":1333},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1324,1327,1330],{"name":1325,"slug":1326,"type":15},"Agents","agents",{"name":1328,"slug":1329,"type":15},"Browser Automation","browser-automation",{"name":1331,"slug":1332,"type":15},"Testing","testing","2026-04-06T18:41:03.44016",{"slug":1335,"name":1335,"fn":1336,"description":1337,"org":1338,"tags":1339,"stars":28,"repoUrl":29,"updatedAt":1345},"agent-browser-verify","verify dev server output with automated browser","Automated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass\u002Ffail before continuing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1340,1341,1344],{"name":1328,"slug":1329,"type":15},{"name":1342,"slug":1343,"type":15},"Local Development","local-development",{"name":1331,"slug":1332,"type":15},"2026-04-06T18:41:17.526867",{"slug":1347,"name":1347,"fn":1348,"description":1349,"org":1350,"tags":1351,"stars":28,"repoUrl":29,"updatedAt":1365},"agents-sdk","build AI agents on Cloudflare Workers","Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1352,1353,1356,1359,1362],{"name":1325,"slug":1326,"type":15},{"name":1354,"slug":1355,"type":15},"Cloudflare Workers","cloudflare-workers",{"name":1357,"slug":1358,"type":15},"SDK","sdk",{"name":1360,"slug":1361,"type":15},"Serverless","serverless",{"name":1363,"slug":1364,"type":15},"WebSockets","websockets","2026-04-06T18:39:51.717063",{"slug":1367,"name":1367,"fn":1368,"description":1369,"org":1370,"tags":1371,"stars":28,"repoUrl":29,"updatedAt":1387},"ai-elements","build chat UIs with AI Elements","AI Elements component library guidance — pre-built React components for AI interfaces built on shadcn\u002Fui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1372,1375,1378,1381,1384],{"name":1373,"slug":1374,"type":15},"Frontend","frontend",{"name":1376,"slug":1377,"type":15},"React","react",{"name":1379,"slug":1380,"type":15},"shadcn\u002Fui","shadcn-ui",{"name":1382,"slug":1383,"type":15},"UI Components","ui-components",{"name":1385,"slug":1386,"type":15},"Vercel","vercel","2026-04-06T18:40:59.619419",{"slug":1389,"name":1389,"fn":1390,"description":1391,"org":1392,"tags":1393,"stars":28,"repoUrl":29,"updatedAt":1405},"ai-gateway","configure Vercel AI Gateway","Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1394,1395,1398,1401,1404],{"name":23,"slug":24,"type":15},{"name":1396,"slug":1397,"type":15},"Cost Optimization","cost-optimization",{"name":1399,"slug":1400,"type":15},"LLM","llm",{"name":1402,"slug":1403,"type":15},"Performance","performance",{"name":1385,"slug":1386,"type":15},"2026-04-06T18:40:44.377464",{"slug":1407,"name":1407,"fn":1408,"description":1409,"org":1410,"tags":1411,"stars":28,"repoUrl":29,"updatedAt":1417},"ai-generation-persistence","implement persistence patterns for AI generations","AI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1412,1413,1416],{"name":1396,"slug":1397,"type":15},{"name":1414,"slug":1415,"type":15},"Database","database",{"name":1399,"slug":1400,"type":15},"2026-04-06T18:41:08.513425",600,{"items":1420,"total":1615},[1421,1442,1465,1482,1498,1513,1532,1544,1558,1572,1584,1599],{"slug":1422,"name":1422,"fn":1423,"description":1424,"org":1425,"tags":1426,"stars":1439,"repoUrl":1440,"updatedAt":1441},"prior-auth-packet-builder","build healthcare prior authorization packets","Build a concise prior authorization packet from local case files and payer policy docs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1427,1430,1433,1436],{"name":1428,"slug":1429,"type":15},"Documents","documents",{"name":1431,"slug":1432,"type":15},"Healthcare","healthcare",{"name":1434,"slug":1435,"type":15},"Insurance","insurance",{"name":1437,"slug":1438,"type":15},"Regulatory Compliance","regulatory-compliance",28169,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python","2026-04-16T05:11:39.180399",{"slug":1443,"name":1443,"fn":1444,"description":1445,"org":1446,"tags":1447,"stars":1462,"repoUrl":1463,"updatedAt":1464},"aspnet-core","build ASP.NET Core web applications","Build, review, refactor, or architect ASP.NET Core web applications using current official guidance for .NET web development. Use when working on Blazor Web Apps, Razor Pages, MVC, Minimal APIs, controller-based Web APIs, SignalR, gRPC, middleware, dependency injection, configuration, authentication, authorization, testing, performance, deployment, or ASP.NET Core upgrades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1448,1451,1453,1456,1459],{"name":1449,"slug":1450,"type":15},".NET","dotnet",{"name":1452,"slug":1443,"type":15},"ASP.NET Core",{"name":1454,"slug":1455,"type":15},"Blazor","blazor",{"name":1457,"slug":1458,"type":15},"C#","csharp",{"name":1460,"slug":1461,"type":15},"Web Development","web-development",23787,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills","2026-04-12T05:07:02.819491",{"slug":1466,"name":1466,"fn":1467,"description":1468,"org":1469,"tags":1470,"stars":1462,"repoUrl":1463,"updatedAt":1481},"chatgpt-apps","build ChatGPT Apps SDK applications","Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1471,1474,1477,1480],{"name":1472,"slug":1473,"type":15},"Apps SDK","apps-sdk",{"name":1475,"slug":1476,"type":15},"ChatGPT","chatgpt",{"name":1478,"slug":1479,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},"2026-04-12T05:07:05.468097",{"slug":1483,"name":1483,"fn":1484,"description":1485,"org":1486,"tags":1487,"stars":1462,"repoUrl":1463,"updatedAt":1497},"cli-creator","build CLIs from API docs","Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read\u002Fwrite commands, return stable JSON, manage auth, and pair with a companion skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1488,1491,1494],{"name":1489,"slug":1490,"type":15},"API Development","api-development",{"name":1492,"slug":1493,"type":15},"CLI","cli",{"name":1495,"slug":1496,"type":15},"Codex","codex","2026-04-12T05:07:04.132762",{"slug":1499,"name":1499,"fn":1500,"description":1501,"org":1502,"tags":1503,"stars":1462,"repoUrl":1463,"updatedAt":1512},"cloudflare-deploy","deploy projects to Cloudflare","Deploy applications and infrastructure to Cloudflare using Workers, Pages, and related platform services. Use when the user asks to deploy, host, publish, or set up a project on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1504,1507,1510,1511],{"name":1505,"slug":1506,"type":15},"Cloudflare","cloudflare",{"name":1508,"slug":1509,"type":15},"Cloudflare Pages","cloudflare-pages",{"name":1354,"slug":1355,"type":15},{"name":17,"slug":18,"type":15},"2026-04-12T05:07:14.275118",{"slug":1514,"name":1514,"fn":1515,"description":1516,"org":1517,"tags":1518,"stars":1462,"repoUrl":1463,"updatedAt":1531},"define-goal","define and set measurable project goals","Help the user define a concrete, measurable goal before starting work, especially when they ask to use the goal tool, create a goal, set an objective, clarify success criteria, or turn a fuzzy intention into a quantitative outcome. Use this skill for goal creation and goal refinement only; it does not manage durable snapshots, decision logs, or long-running execution artifacts.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1519,1522,1525,1528],{"name":1520,"slug":1521,"type":15},"Productivity","productivity",{"name":1523,"slug":1524,"type":15},"Project Management","project-management",{"name":1526,"slug":1527,"type":15},"Strategy","strategy",{"name":1529,"slug":1530,"type":15},"Task Management","task-management","2026-05-23T06:17:16.870838",{"slug":1533,"name":1533,"fn":1534,"description":1535,"org":1536,"tags":1537,"stars":1462,"repoUrl":1463,"updatedAt":1543},"figma","translate Figma designs into code","Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Trigger when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1538,1539,1541,1542],{"name":1316,"slug":1317,"type":15},{"name":1540,"slug":1533,"type":15},"Figma",{"name":1373,"slug":1374,"type":15},{"name":1478,"slug":1479,"type":15},"2026-04-12T05:06:47.939943",{"slug":1545,"name":1545,"fn":1546,"description":1547,"org":1548,"tags":1549,"stars":1462,"repoUrl":1463,"updatedAt":1557},"figma-code-connect-components","connect Figma designs to code components","Connects Figma design components to code components using Code Connect mapping tools. Use when user says \"code connect\", \"connect this component to code\", \"map this component\", \"link component to code\", \"create code connect mapping\", or wants to establish mappings between Figma designs and code implementations. For canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1550,1551,1554,1555,1556],{"name":1316,"slug":1317,"type":15},{"name":1552,"slug":1553,"type":15},"Design System","design-system",{"name":1540,"slug":1533,"type":15},{"name":1373,"slug":1374,"type":15},{"name":1382,"slug":1383,"type":15},"2026-05-10T05:59:52.971881",{"slug":1559,"name":1559,"fn":1560,"description":1561,"org":1562,"tags":1563,"stars":1462,"repoUrl":1463,"updatedAt":1571},"figma-create-design-system-rules","generate design system rules from Figma","Generates custom design system rules for the user's codebase. Use when user says \"create design system rules\", \"generate rules for my project\", \"set up design rules\", \"customize design system guidelines\", or wants to establish project-specific conventions for Figma-to-code workflows. Requires Figma MCP server connection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1564,1565,1566,1569,1570],{"name":1316,"slug":1317,"type":15},{"name":1552,"slug":1553,"type":15},{"name":1567,"slug":1568,"type":15},"Documentation","documentation",{"name":1540,"slug":1533,"type":15},{"name":1373,"slug":1374,"type":15},"2026-05-16T06:07:47.821474",{"slug":1573,"name":1573,"fn":1574,"description":1575,"org":1576,"tags":1577,"stars":1462,"repoUrl":1463,"updatedAt":1583},"figma-implement-design","translate Figma designs into application code","Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions \"implement design\", \"generate code\", \"implement component\", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1578,1579,1580,1581,1582],{"name":1316,"slug":1317,"type":15},{"name":1540,"slug":1533,"type":15},{"name":1373,"slug":1374,"type":15},{"name":1382,"slug":1383,"type":15},{"name":1460,"slug":1461,"type":15},"2026-05-16T06:07:40.583615",{"slug":1585,"name":1585,"fn":1586,"description":1587,"org":1588,"tags":1589,"stars":1462,"repoUrl":1463,"updatedAt":1598},"hatch-pet","create animated pets for Codex","Create, repair, validate, visually QA, and package Codex-compatible animated pets and pet spritesheets from character art, generated images, company or prospect brand cues, or visual references. Use when a user wants a lightweight-worker Codex pet workflow, a non-pixel custom pet style, a prospect or company mascot pet, or a full 8x9 animated pet atlas with transparent unused cells, QA contact sheets, and pet.json packaging. This skill composes the installed $imagegen system skill for visual generation and uses bundled scripts for deterministic spritesheet assembly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1590,1593,1594,1597],{"name":1591,"slug":1592,"type":15},"Animation","animation",{"name":1495,"slug":1496,"type":15},{"name":1595,"slug":1596,"type":15},"Creative","creative",{"name":1316,"slug":1317,"type":15},"2026-05-02T05:31:48.48485",{"slug":1600,"name":1600,"fn":1601,"description":1602,"org":1603,"tags":1604,"stars":1462,"repoUrl":1463,"updatedAt":1614},"imagegen","generate and edit raster images","Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output should be a bitmap asset rather than repo-native code or vector. Do not use when the task is better handled by editing existing SVG\u002Fvector\u002Fcode-native assets, extending an established icon or logo system, or building the visual directly in HTML\u002FCSS\u002Fcanvas.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1605,1606,1607,1610,1613],{"name":1595,"slug":1596,"type":15},{"name":1316,"slug":1317,"type":15},{"name":1608,"slug":1609,"type":15},"Image Generation","image-generation",{"name":1611,"slug":1612,"type":15},"Images","images",{"name":9,"slug":8,"type":15},"2026-05-15T06:23:24.312127",675]