Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/nvidia/deepops/validate-gpu-clusternpx skills add NVIDIA/deepops --skill validate-gpu-clustergit clone --depth 1 https://github.com/NVIDIA/deepopsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00054 | $0.00681 |
| Opus 5 | $0.00027 | $0.00341 |
| Sonnet 5 | $0.00011 | $0.00136 |
| Haiku 4.5 | $0.00005 | $0.00068 |
Grade A, and why
validate-gpu-cluster scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 55 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Validate a GPU cluster
Which validator
- Slurm cluster →
scripts/validation/validate_slurm.py(run on a cluster node) - Kubernetes cluster →
scripts/validation/validate_k8s.py(run whereverkubectlreaches the cluster) - Not deployed yet / checking the provisioning environment →
scripts/validation/deepops_doctor.py(run from the repository root)
All tools support --json and exit 0 only when every check passes. Full
contract: docs/deepops/validation.md.
Procedure
-
Run the matching validator with
--json.python3 scripts/validation/validate_slurm.py --json python3 scripts/validation/validate_k8s.py --json --cuda-smokeUse
--skip-gpu-job(Slurm) or omit--cuda-smoke(Kubernetes) when a strictly read-only check is required — for example on a busy production cluster where a test job would queue behind real work. -
Read the verdict from the JSON, not from ad-hoc commands:
ok: true— report healthy, include the key counts (nodes_total,gpus_configured/gpus_allocatable).ok: false— report each entry infailuresverbatim; they name the failing subsystem and the next diagnostic step.- Use the name-sorted
nodeslist to identify individual failures. Slurm entries reportname, normalizedstate, andgpus_configured; Kubernetes entries reportname,ready, andgpus_allocatable.
-
When a GPU check fails, do not conclude "driver broken" from a bare
nvidia-smiover SSH — on Slurm nodes GPUs are hidden outside jobs. Followskills/diagnose-driver-install/instead.
Interpreting common results
| Signal | Meaning |
|---|---|
Slurm nodes_unavailable > 0 |
Node down/drained — scontrol show node <name> for the reason. |
Slurm gpus_configured: 0 |
GRES not configured — check config/group_vars/slurm-cluster.yml GPU settings and rerun the Slurm playbook. |
K8s gpus_allocatable: 0 |
GPU Operator stack not ready — kubectl get pods -A | grep -i nvidia; first-deploy driver builds can take 10+ minutes. |
K8s smoke pod Pending |
No schedulable GPU or image pull failure — kubectl -n deepops-validate describe pod. |
Direct nvidia-smi over SSH says "No devices were found" on a Slurm node |
Expected GPU-hide behavior, not a failure. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 55 lines · 54 tokens per session scan A 838e129bb798
validate-gpu-cluster is a skill published in the GitHub repository NVIDIA/deepops (1,469 stars, last pushed 5d ago), licensed BSD-3-Clause. It adds 54 tokens to every session and 681 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
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…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…