cuopt_on_nemoclaw/openclaw-skills/optimization-intent-router/SKILL.md
Use when a user provides data and asks a natural-language business or planning question that may require optimization rather than simple analytics.
npx skillsauth add nvidia/cuopt-examples optimization-intent-routerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when a user asks a question in natural language and it is not yet clear whether the request should be handled as:
This skill exists to decide whether cuOpt should be involved at all, and if so, which downstream formulation path should be used.
The classification from this skill is provisional. A later data-ingestion step may refine or correct the problem family if the uploaded tables clearly support a different interpretation.
The user often does not say:
Instead they ask questions like:
Your job is to recognize when the request is really asking for an optimization model.
Route to optimization only when the user is asking for the best / optimal / minimum / maximum / least-cost / highest-profit plan, allocation, assignment, schedule, route, or mix subject to constraints or tradeoffs.
If the user is only asking for:
then do not force the request into optimization.
Strong signals:
Weaker but meaningful signals:
When weaker signals appear, inspect whether there are real constraints and decisions. If yes, treat it as optimization.
Use LP when:
Common examples:
Use MILP when:
Common signals:
Common examples:
Use QP when:
Common signals:
If the user is maximizing a quadratic expression, note that the modeling path may require reformulation as a minimization of the negated objective.
Use routing when the decisions are fundamentally about movement through locations.
Common signals:
Common routing types:
Do not route to cuOpt when the user is asking for:
If it is unclear whether the request is optimization or analytics, ask a concise clarifier such as:
If it is clearly optimization but unclear which family applies, ask the minimum clarifier needed.
Examples:
Before handing off, produce an internal working conclusion with at least:
is_optimization: yes / noproblem_family: lp | milp | qp | routing | unknownwhy: short explanation grounded in the user’s wording and available datamissing_information: only the minimum unresolved itemsIf problem_family = lp | milp:
numerical-optimization-formulationcuopt-numerical-optimization-api-python (or
cuopt-numerical-optimization-api-cli for MPS inputs)If problem_family = qp:
numerical-optimization-formulationcuopt-numerical-optimization-api-pythonIf problem_family = routing:
routing-formulationcuopt-routing-api-pythonIf is_optimization = yes and there is a meaningful signal that replayability, audit, export, or reuse may matter:
optimization-mode-router before deep data interpretation or model constructionIf is_optimization = no:
User says:
"I uploaded a product table and a capacity table. What’s the best production plan?"
Interpretation:
User says:
"I uploaded depots, customers, and a travel-time matrix. What’s the cheapest delivery plan?"
Interpretation:
User says:
"I uploaded sales.csv. Which product had the highest revenue last month?"
Interpretation:
data-ai
Use when a user provides CSV, Excel, JSON-like tables, or similar structured data and asks a question that may become an LP, MILP, QP, or routing problem.
testing
Use when a user asks a question that may be answered by solving an optimization problem from uploaded or provided data, and you need to decide whether to proceed directly to cuOpt or preserve a structured reusable model artifact.
development
Use when a user uploads or provides data and asks a question that may be answered by optimization. This skill sequences optimization-intent-router, optimization-mode-router, tabular-optimization-ingestion, formulation skills, and cuOpt model-building skills.
development
Use after optimization intent and basic data interpretation are established, when the goal is to solve quickly by mapping data directly into cuOpt rather than building a replayable intermediate artifact.