cuOpt Python Routing
Model and solve TSP, VRP, and pickup-and-delivery routes with the cuOpt Python API.
The skill guides local Python/cuOpt routing and does not request credentials, network access, deletion, or other elevated operations; it also specifies failure-status checks. However, it does not address handling boundaries for potentially sensitive order/location data, dependency supply-chain security, user confirmation, isolation, or rollback, so points are deducted. The license, NVIDIA team attribution, and repository security disclosure provide limited traceability.
The API sequence, explicit dtypes, and non-zero-status diagnostics are reasonably clear and the examples are broadly consistent. Static review did not execute the code, and the skill lacks installation/version compatibility guidance, input validation, and committed tests covering key paths; some behavior remains asserted rather than demonstrated, so the score is conservative.
The audience and scenarios are clear: Python users building or solving VRP, TSP, and PDP problems. It lists required modeling inputs and states a Python-only boundary. However, non-fit cases, scale limits, exclusion triggers, Chinese-language support, and the GPU/cuDF/cuOpt environment requirements are not sufficiently specified, so points are deducted.
The documentation includes version metadata, layered examples, references, asset guidance, common issues, and debugging notes; licensing and NVIDIA ownership are visible. However, the recommended Instructions section is missing, the benchmark flags a non-conforming author format, and installation requirements, changelog, compatibility matrix, maintenance responsibility, and update path are incomplete.
The examples can directly guide basic VRP, time-window, capacity, multi-depot, and PDP modeling and include success/failure handling. The supplied benchmark reports strong correctness and some effectiveness improvement for one external task, but the sample is only one task and was not executed in this review; complex or production use still requires substantial manual validation.
The skill directory contains readable example implementations, an evaluation task, and a benchmark report, providing limited auditable evidence. There is no independent reproduction in this review, no committed CI test suite for the selected skill, and no corroboration from multiple evidence types; the claim that additional references are CI-tested is not directly established by the supplied files.
- Validate API compatibility on the target GPU, cuDF, and cuOpt versions before use; the examples do not cover large-scale data, malformed inputs, sensitive-location governance, or production rollback.
- The benchmark has only one positive task and no negative-trigger tasks, so it does not establish semantic trigger precision or generalization.
- Add dependency installation guidance, a compatibility matrix, non-fit scenarios, Chinese-language guidance, and reproducible CI tests.
What does this skill do, and when should you use it?
This skill is for developers building or solving routing problems in Python, including TSP, VRP, and PDP. It guides users through defining locations, orders, fleet data, and operational constraints before constructing a cuOpt routing model. Examples cover cost matrices, time windows, capacities, service times, vehicle start and end locations, pickup-delivery pairs, and precedence. It also shows how to inspect solver status, retrieve routes, calculate objective cost, and identify infeasible orders.
It asks for the problem type, location and cost data, orders and demand, fleet configuration, and constraints. It prepares explicitly typed cudf.DataFrame and cudf.Series inputs, builds a routing.DataModel, configures SolverSettings, calls routing.Solve, displays or retrieves routes, reads total objective cost, and reports errors and infeasible orders for unsuccessful solutions.
- A logistics developer building a Python delivery planner with vehicle capacities and time windows.
- An algorithm developer solving a multi-location traveling salesperson problem from a cost matrix.
- An operations-system developer modeling pickup and delivery pairs with service times and precedence constraints.
- A Python user debugging empty solutions, infeasible orders, or time-window failures in cuOpt.
What are this skill's strengths and limitations?
- Clearly covers TSP, VRP, and PDP workflows.
- Provides a minimal VRP example plus examples for several practical constraints.
- Includes concrete failure diagnosis using solver status, error messages, and infeasible orders.
- Recommends explicit float32 and int32 dtypes to reduce silent data-type errors.
- Python-only; the document explicitly states that cuOpt routing has no C API.
- The supplied material does not specify supported Python, cuDF, or cuOpt versions or platforms.
- The examples depend on GPU DataFrame and cuOpt components, but do not provide a complete environment setup procedure.
- Additional examples and reference models are linked, but their contents are not included in the supplied material.
How do you install this skill?
Install the specific skill with the CLI command documented in the repository README: npx skills add nvidia/skills --skill cuopt-routing-api-python --yes. The supplied README does not document installation steps or version requirements for Python, cuDF, or cuOpt themselves.
How do you use this skill?
After installation, trigger it for a relevant task, for example: “Help me model and solve a capacitated VRP with time windows using the cuOpt Python API.” The agent should first clarify the problem type, locations, orders, fleet, and constraints, then follow the SKILL.md examples for DataModel construction, constraints, and solution-status checking.