cuopt-skill-evolution

A workflow for finding reusable lessons after solving a difficult problem and suggesting updates to an existing skill. A skill is a set of instructions that guides an agent’s work.

In plain words
What is it for?
Use it after non-trivial work to identify general lessons and propose improvements to the instructions used by coding agents.
Why use it?
It captures corrections, failed approaches, undocumented behavior, and workarounds so future tasks can be handled more reliably.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/nvidia/cuopt/cuopt-skill-evolution
Any agent
npx skills add NVIDIA/cuopt --skill cuopt-skill-evolution
Clone the repo
git clone --depth 1 https://github.com/NVIDIA/cuopt

Made for: Claude Code, Codex.

Per session 33 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,433 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00033 $0.03433
Opus 5 $0.00016 $0.01716
Sonnet 5 $0.00007 $0.00687
Haiku 4.5 $0.00003 $0.00343

Measured yesterday against content hash 22a2dc3e25ec, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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 yesterday.

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
skills/cuopt-skill-evolution/SKILL.md · 219 lines

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:

  1. 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.
  2. 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.
  3. Undocumented behavior — You discovered an API behavior, default value, or constraint not mentioned in the relevant skill.
  4. Workaround — You had to work around a limitation or gotcha not documented in any skill.
  5. 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.
  6. 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

  1. Solve the user's problem first. Read the relevant skills, produce a solution, ship the fix. Skill evolution never blocks the user's task.
  2. Notice if a trigger fired (see Trigger conditions above). If nothing surfaced a generalizable learning, you are done.
  3. 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.)
  4. 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.
  5. Distill, place, and propose (see sections below). Apply only after the user approves.
  6. 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.

Read the full file on GitHub · 219 lines

Files

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.

Changes

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.

  1. yesterday First seen · 219 lines · 33 tokens per session scan A 22a2dc3e25ec

Subscribe to this mod's changes

cuopt-skill-evolution is a skill published in the GitHub repository NVIDIA/cuopt (1,032 stars, last pushed 3d ago), licensed Apache-2.0. It adds 33 tokens to every session and 3,433 once invoked, about $0.0002 per session on Opus 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.