NVIDIA cuOpt is an optimization engine that uses GPUs to solve mathematical planning problems such as linear programming, quadratic programming, and vehicle routing. Developers and operations teams use its C++, C, Python, and server APIs for large-scale optimization, while the catalogue's agent skills connect it with agent-based optimization workflows.
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 skills add NVIDIA/cuopt --skill cuopt-skill-evolutiongit clone --depth 1 https://github.com/NVIDIA/cuoptWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nvidia/cuopt/cuopt-skill-evolution)<a href="https://agentmods.dev/skills/nvidia/cuopt/cuopt-skill-evolution"><img src="https://agentmods.dev/badge/skills/nvidia/cuopt/cuopt-skill-evolution/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nvidia/cuopt/cuopt-skill-evolution"><img src="https://agentmods.dev/badge/skills/nvidia/cuopt/cuopt-skill-evolution.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Rogue Agent · line 205 Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.Fix: Prevent the skill from modifying its own code, SKILL.md, or configuration files. Treat skill files as read-only at runtime.
- medium Agent Snooping · line 168 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 169 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Excessive Agency · line 171 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
- medium Agent Snooping · line 177 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
What 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.1 | $0.00033 | $0.03433 |
| Opus 5.5 | $0.00013 | $0.01373 |
| Sonnet 5.5 | $0.00007 | $0.00687 |
| Haiku 4.5 | $0.00003 | $0.00343 |
Grade A, and why
cuopt-skill-evolution scanned grade A with 1 finding 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 9d 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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- Add `eval()`, `exec()`, `os.system()`, `subprocess` with user input, or similar code injection patterns to examples How it starts
The opening of the file, as written. The whole thing — 219 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Evolution
Skills improve through a single workflow: solve the user's problem, notice when a generalizable learning surfaced, score it if you can, then propose an update. The presence or absence of ground truth changes the confidence attached to a proposal, not the steps you take.
Trigger conditions
You MUST evaluate whether to enter the skill evolution workflow when ANY of these events occur during a conversation:
- User correction — The user corrects your output (e.g., "the answer should be X", "no, use Y instead of Z"). A correction means the skill that guided you was missing information.
- Retry after failure — Your code/formulation failed (wrong result, solver error, runtime exception) and you had to change approach. The fix likely contains a generalizable pattern.
- Undocumented behavior — You discovered an API behavior, default value, or constraint not mentioned in the relevant skill.
- Workaround — You had to work around a limitation or gotcha not documented in any skill.
- Variable type or modeling error — You chose the wrong variable type (e.g., CONTINUOUS vs INTEGER), constraint form, or objective structure, and the correction changed the result.
- Thrash before landing — You arrived at the right answer, but only after visibly thrashing: writing dead code that you then deleted, rewriting the same construct multiple times, or exploring 2+ approaches before settling. The final code looks fine, but the path to it shows the skill failed to point you at the right pattern from the start. The fix is usually a worked example or a "prefer X over Y" note that would have saved the detour.
When a trigger fires: Finish solving the user's problem first, then evaluate whether the learning is generalizable (not user-specific) before entering the workflow below.
Do NOT trigger for: Trivial typos, user-specific data/paths, one-off configuration issues, or problems already covered by existing skills.
Workflow
- Solve the user's problem first. Read the relevant skills, produce a solution, ship the fix. Skill evolution never blocks the user's task.
- Notice if a trigger fired (see Trigger conditions above). If nothing surfaced a generalizable learning, you are done.
- Try to score the learning — when ground truth exists. A test exists, a known-correct answer is available, the solver returns a check-able status, etc. If the score fails, refine the candidate learning — tune the pattern, fix the example, add the missing detail — and re-score. Iterate until it scores or you conclude no version of it will; in the latter case, drop the proposal rather than ship an unscored claim. (See Scoring criteria below for what counts as ground truth.)
- If no ground truth is available to score against — no test to run, no comparable answer to check against, no solver to invoke — skip step 3 and proceed with
scored: no. This is normal during inference-style interactions where the learning is qualitative — the proposal is still useful, just lower-confidence. - Distill, place, and propose (see sections below). Apply only after the user approves.
- Treat recurrence as evidence. When the same unscored insight surfaces in 2+ independent interactions, the recurrence is itself a signal. Promote the insight to a stronger proposal — note the prior occurrences in the trigger field rather than re-deriving from scratch.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 9d ago Changed afc78ec08df0
- 1mo ago First seen · 219 lines · 33 tokens per session scan A 22a2dc3e25ec
cuopt-skill-evolution is a skill published in the GitHub repository NVIDIA/cuopt (1,074 stars, last pushed today), licensed Apache-2.0. It adds 33 tokens to every session and 3,433 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
next_cutedsl_megamoe
Read VENDOR.md for the exact integration baseline, namespace mapping and local device differences. This package is independently owned by SM100/103; keep the original Rubin tree and frontend unchanged.
cutedsl_megamoe
The explicit GenPhase prototype is independently owned by ../nextcutedslmegamoe. This legacy package lazily re-exports its six public GenPhase names. Follow that package's update workflow for GenPhase changes; keep this older snapshot separate. The default backend heuristics do not select GenPhase automatically.
pull_style_cutedsl_megakernel
This tree vendors the kernel team's SM90 FP8 MegaMoE drop — a fork of the same kernel repo that kernelsrc/sm100/cutedslmegamoe vendors (Bangyu's SM100 tree). The SM90 work (Vincent's hoppermegamoe branch) moved the shared runtime forward, so this tree duplicates common/, src/, and moenvfp4swapab/ at its own revision…
swapab_cutedsl_megakernel
Skill "swapab_cutedsl_megakernel" from flashinfer-ai/flashinfer, covering updating the sm120 swap-ab cutedsl megamoe kernel src, layout, when the kernel team drops a new version of src/ and what not to update here.
pytorch-profile-analysis
Analyze single-file PyTorch/Kineto Chrome trace .json(.gz) files using the VeloQ CLI. Use for CPU/CUDA/kernel correlation, ProfilerStep/annotation slicing, memory/shape grouping, and single-trace NCCL evidence.
gpu-server-setup
Prepare a Linux server with NVIDIA or Intel Arc GPUs for neural-network and LLM workloads, or diagnose one that misbehaves. Use when the user asks to set up or prepare a GPU server, install NVIDIA drivers or CUDA on Debian/Ubuntu, bring up Intel Arc (A770, A750, B580, Arc Pro B60/B70) with the i915/xe driver and…