Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions skills/cuopt-numerical-optimization-api-python/BENCHMARK.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,44 +55,44 @@ Task composition is derived from the evaluation dataset when possible. Entries w
| Dimension | Num | `claude-code` | `codex` |
|---|---:|---:|---:|
| Security | 2 | 100% (+0%) | 100% (+0%) |
| Correctness | 2 | 100% (+0%) | 87% (+5%) |
| Discoverability | 2 | 100% (+0%) | 67% (+0%) |
| Effectiveness | 2 | 80% (-3%) | 54% (+4%) |
| Efficiency | 2 | 93% (-0%) | 56% (-4%) |
| Correctness | 2 | 100% (+0%) | 82% (+5%) |
| Discoverability | 2 | 100% (+0%) | 84% (+5%) |
| Effectiveness | 2 | 79% (-1%) | 40% (-9%) |
| Efficiency | 2 | 93% (-0%) | 77% (+1%) |

Score values show skill-assisted performance. Values in parentheses show uplift versus the no-skill baseline when baseline data is available.

## Tier 1: Static Validation Summary

Tier 1 validation passed with observations. NVSkills-Eval ran 9 checks and found 18 total findings.
Tier 1 validation passed with observations. NVSkills-Eval ran 9 checks and found 15 total findings.

Top findings:

- MEDIUM PII/gps_coordinates: GPS coordinates (location information) (`SKILL.md:212`)
- MEDIUM PII/gps_coordinates: GPS coordinates (location information) (`references/qp_examples.md:162`)
- MEDIUM PII/gps_coordinates: GPS coordinates (location information) (`references/qp_examples.md:163`)
- MEDIUM PII/gps_coordinates: GPS coordinates (location information) (`references/qp_examples.md:164`)
- MEDIUM PII/phone_numbers: International phone number (`assets/mps_solver/results.md:48`)
- MEDIUM PII/phone_numbers: International phone number (`assets/mps_solver/results.md:69`)

## Tier 2: Deduplication Summary

Tier 2 validation reported findings. NVSkills-Eval ran 2 checks and found 9 total findings.

Top findings:

- HIGH DUPLICATE/duplicate: Duplicate content found across assets/lp_warmstart/README.md and assets/lp_warmstart/model.py:
"# LP PDLP Warmstart" in assets/lp_warmstart/README.md (lines 1-5)
vs "(module docstring)" in assets/lp_warmstart/model.py (lines 1-4) (`assets/lp_warmstart/README.md:1`)
- HIGH DUPLICATE/duplicate: Duplicate content found across SKILL.md and assets/mps_solver/README.md and references/qp_examples.md:
"# Solve" in SKILL.md (lines 63-67)
vs "# Configure and solve" in assets/mps_solver/README.md (lines 76-80)
vs "# Solve" in references/qp_examples.md (lines 47-51) (`SKILL.md:63`)
- HIGH DUPLICATE/duplicate: Duplicate content found across assets/lp_warmstart/README.md and assets/lp_warmstart/model.py:
"# LP PDLP Warmstart" in assets/lp_warmstart/README.md (lines 1-5)
vs "(module docstring)" in assets/lp_warmstart/model.py (lines 1-4) (`assets/lp_warmstart/README.md:1`)
- HIGH DUPLICATE/duplicate: Duplicate content found across assets/milp_basic/README.md and assets/milp_basic/model.py:
"# Minimal MILP" in assets/milp_basic/README.md (lines 1-10)
vs "(module docstring)" in assets/milp_basic/model.py (lines 1-6) (`assets/milp_basic/README.md:1`)
- HIGH DUPLICATE/duplicate: Duplicate content found within SKILL.md:
"# MILP-specific settings" in SKILL.md (lines 94-100)
vs "# MILP gap tolerance (stop when within X% of optimal)" in SKILL.md (lines 216-218) (`SKILL.md:94`)
vs "# MILP gap tolerance (stop when within X% of optimal)" in SKILL.md (lines 220-222) (`SKILL.md:94`)
- HIGH DUPLICATE/duplicate: Duplicate content found across SKILL.md and assets/mps_solver/README.md:
"# Check status (CRITICAL: use PascalCase!)" in SKILL.md (lines 68-74)
vs "# ✅ CORRECT" in SKILL.md (lines 148-151)
Expand Down
8 changes: 6 additions & 2 deletions skills/cuopt-numerical-optimization-api-python/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: cuopt-numerical-optimization-api-python
version: "26.08.00"
description: Solve Linear Programming (LP), Mixed-Integer Linear Programming (MILP), and Quadratic Programming (QP, beta) with the Python API. Use when the user asks about optimization with linear or quadratic objectives, linear constraints, integer variables, scheduling, resource allocation, facility location, production planning, portfolio optimization, or least squares.
description: Solve LP, MILP, QP (beta) with cuOpt Python API — linear/quadratic objectives, integer variables, scheduling, portfolio, least squares.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Trigger NVSkills CI validation for this skills/ PR.

Please add a PR comment with /nvskills-ci and confirm the signature commit is still present before merge.

As per coding guidelines, for skills/**/*: “request NVSkills CI validation by commenting /nvskills-ci and ensure the signature commit remains in the PR”.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/cuopt-numerical-optimization-api-python/SKILL.md` at line 4, Add the
required NVSkills CI trigger and signature check before merging: post a PR
comment containing the exact text "/nvskills-ci" and verify the signature commit
referenced in this skills/cuopt-numerical-optimization-api-python/SKILL.md
change (the signature commit that signed the skills/** files) is still present
in the PR commits; only merge after adding the comment and confirming the
signature commit exists.

license: Apache-2.0
metadata:
author: NVIDIA cuOpt Team
Expand Down Expand Up @@ -209,7 +209,11 @@ from cuopt.linear_programming.problem import LinearExpression

# Build as list of (vars, coeffs) instead of v1*c1 + v2*c2 + ...
vars_list = [x, y, z]
coeffs_list = [1.0, 2.0, 3.0]
coeffs_list = [
1.0,
2.0,
3.0,
]
expr = LinearExpression(vars_list, coeffs_list, constant=0.0)
problem.addConstraint(expr <= 100)
```
Expand Down
22 changes: 11 additions & 11 deletions skills/cuopt-numerical-optimization-api-python/skill-card.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Description: <br>
Solve Linear Programming (LP), Mixed-Integer Linear Programming (MILP), and Quadratic Programming (QP, beta) problems with the NVIDIA cuOpt Python API. <br>
Solve LP, MILP, QP (beta) with cuOpt Python API — linear/quadratic objectives, integer variables, scheduling, portfolio, least squares. <br>

This skill is ready for commercial/non-commercial use. <br>

Expand All @@ -9,7 +9,7 @@ NVIDIA <br>
### License/Terms of Use: <br>
Apache-2.0 <br>
## Use Case: <br>
Developers and engineers solving mathematical optimization problems (LP, MILP, QP) using the cuOpt Python API for scheduling, resource allocation, facility location, production planning, and portfolio optimization. <br>
Developers and engineers use this skill to formulate and solve linear programming (LP), mixed-integer linear programming (MILP), and quadratic programming (QP) optimization problems using NVIDIA cuOpt's GPU-accelerated Python API. <br>

### Deployment Geography for Use: <br>
Global <br>
Expand All @@ -19,14 +19,14 @@ Risk: Review before execution as proposals could introduce incorrect or misleadi
Mitigation: Review and scan skill before deployment. <br>

## Reference(s): <br>
- [QP Examples Reference](references/qp_examples.md) <br>
- [cuOpt User Guide](https://docs.nvidia.com/cuopt/user-guide/latest/introduction.html) <br>
- [cuOpt Examples Repository](https://github.com/NVIDIA/cuopt-examples) <br>
- [cuOpt Examples](https://github.com/NVIDIA/cuopt-examples) <br>
- [QP Examples Reference](references/qp_examples.md) <br>


## Skill Output: <br>
**Output Type(s):** [Code, API Calls] <br>
**Output Format:** [Python code with inline comments] <br>
**Output Type(s):** [Code, API Calls, Analysis] <br>
**Output Format:** [Python code with inline solver output] <br>
**Output Parameters:** [1D] <br>
**Other Properties Related to Output:** [None] <br>

Expand All @@ -37,7 +37,7 @@ Mitigation: Review and scan skill before deployment. <br>


## Evaluation Tasks: <br>
Evaluated against 1 evaluation task with 2 attempts per task via NVSkills-Eval (external profile). Pass threshold: 50%. Overall verdict: FAIL. <br>
Evaluated against 1 task with 2 attempts per agent; pass threshold 50%. NVSkills-Eval profile: external. <br>

## Evaluation Metrics Used: <br>
Reported benchmark dimensions: <br>
Expand All @@ -62,10 +62,10 @@ Underlying evaluation signals used in this run: <br>
| Dimension | Num | `claude-code` | `codex` |
|---|---:|---:|---:|
| Security | 2 | 100% (+0%) | 100% (+0%) |
| Correctness | 2 | 100% (+0%) | 87% (+5%) |
| Discoverability | 2 | 100% (+0%) | 67% (+0%) |
| Effectiveness | 2 | 80% (-3%) | 54% (+4%) |
| Efficiency | 2 | 93% (-0%) | 56% (-4%) |
| Correctness | 2 | 100% (+0%) | 82% (+5%) |
| Discoverability | 2 | 100% (+0%) | 84% (+5%) |
| Effectiveness | 2 | 79% (-1%) | 40% (-9%) |
| Efficiency | 2 | 93% (-0%) | 77% (+1%) |

## Skill Version(s): <br>
26.08.00 (source: frontmatter) <br>
Expand Down
Loading