Skip to content
Open
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
3 changes: 3 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ jobs:
- '!skills/**/skill-card.md'
- '!skills/**/skill.oms.sig'
- '!skills/**/evals/**'
- '!skills/**/benchmark/**'
- '!skills/**/resources/**'
- '!sonar-project.properties'
- '!sonarqube/**'
Expand Down Expand Up @@ -308,6 +309,7 @@ jobs:
- '!skills/**/skill-card.md'
- '!skills/**/skill.oms.sig'
- '!skills/**/evals/**'
- '!skills/**/benchmark/**'
- '!skills/**/resources/**'
- '!sonar-project.properties'
- '!sonarqube/**'
Expand Down Expand Up @@ -373,6 +375,7 @@ jobs:
- '!skills/**/skill-card.md'
- '!skills/**/skill.oms.sig'
- '!skills/**/evals/**'
- '!skills/**/benchmark/**'
- '!skills/**/resources/**'
- '!sonar-project.properties'
- '!sonarqube/**'
Expand Down
9 changes: 9 additions & 0 deletions skills/cuopt-developer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
name: cuopt-developer
version: "26.08.00"
description: Modify, build, test, debug, and contribute to NVIDIA cuOpt (C++/CUDA, Python, server, CI). Use for solver internals, PRs, DCO, and code conventions.
license: Apache-2.0
metadata:
author: NVIDIA cuOpt Team
tags:
- cuopt
- development
- contributing
- cpp-cuda
- python-bindings
---

# cuOpt Developer Skill
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@
"question": "Walk me through pushing a feature branch and opening a PR for cuOpt.",
"expected_skill": "cuopt-developer",
"expected_script": null,
"ground_truth": "cuOpt uses a fork workflow \u2014 branches are never pushed directly to NVIDIA/cuopt. The user clones the upstream repo, adds their fork as a remote (e.g., 'git remote add fork git@github.com:<username>/cuopt.git'), creates a feature branch from the appropriate base, commits work with 'git commit -s' for DCO sign-off, pushes to the fork ('git push fork <branch>'), and opens the PR from the fork to the upstream base branch. If the agent itself opens the PR (gh pr create), it must be a draft (--draft) so the developer can review before reviewers are pinged. The agent asks before running write operations like git push.",
"ground_truth": "cuOpt uses a fork workflow \u2014 branches are never pushed directly to NVIDIA/cuopt. The user clones the upstream repo, adds their fork as a remote (e.g., 'git remote add fork https://github.com/<username>/cuopt.git'), creates a feature branch from the appropriate base, commits work with 'git commit -s' for DCO sign-off, pushes to the fork ('git push fork <branch>'), and opens the PR from the fork to the upstream base branch. If the agent itself opens the PR (gh pr create), it must be a draft (--draft) so the developer can review before reviewers are pinged. The agent asks before running write operations like git push.",
"expected_behavior": [
"Names the fork workflow and that branches must not be pushed to upstream directly",
"Mentions adding the fork remote (e.g., 'git remote add fork ...')",
Expand Down
4 changes: 2 additions & 2 deletions skills/cuopt-developer/resources/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ Never push branches directly to the main cuOpt repository. Use the fork workflow

```bash
# 1. Clone the main repo
git clone git@github.com:NVIDIA/cuopt.git
git clone https://github.com/NVIDIA/cuopt.git
cd cuopt

# 2. Add your fork as a remote
git remote add fork git@github.com:<your-username>/cuopt.git
git remote add fork https://github.com/<your-username>/cuopt.git

# 3. Create a branch from the appropriate base
git checkout -b my-feature-branch
Expand Down
11 changes: 2 additions & 9 deletions skills/cuopt-developer/resources/python_bindings.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ def Solve(py_data_model_obj, settings, mip=False):
return create_solution(move(sol_ret_ptr), data_model_obj)
```

Always release the GIL around C++ calls that do GPU work — this allows other Python threads to run during solve.

### Step 6: C++ implementation receives the call

`cpp/src/math_optimization/solver_settings.cu`:
Expand Down Expand Up @@ -145,15 +147,6 @@ settings.reset(new solver_settings_t[int, double]())
# Auto-destroyed when scope exits
```

### Releasing the GIL for GPU work

```cython
with nogil:
result = move(call_solve(problem_ptr, settings_ptr))
```

Always release the GIL around C++ calls that do GPU work. This allows other Python threads to run during solve.

### Bridging C++ enums to Python IntEnum

```python
Expand Down
40 changes: 40 additions & 0 deletions skills/cuopt-developer/skill-card.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
## Description: <br>
Modify, build, test, debug, and contribute to NVIDIA cuOpt (C++/CUDA, Python, server, CI). Use for solver internals, PRs, DCO, and code conventions. <br>

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

## Owner: NVIDIA <br>

### License/Terms of Use: <br>
Apache 2.0 <br>
## Use Case: <br>
Developers and engineers contributing to the NVIDIA cuOpt codebase use this skill for building, testing, debugging, and submitting pull requests across C++/CUDA, Python, and server components. <br>

### Deployment Geography for Use: <br>
Global <br>

## Known Risks and Mitigations: <br>
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>
Mitigation: Review and scan skill before deployment. <br>

## Reference(s): <br>
- [cuOpt User Guide](https://docs.nvidia.com/cuopt/user-guide/latest/introduction.html) <br>
- [cuOpt GitHub Repository](https://github.com/NVIDIA/cuopt.git) <br>
- [CUDA Compatibility Matrix](https://docs.nvidia.com/deploy/cuda-compatibility/) <br>
- [RAPIDS Maintainers Docs](https://docs.rapids.ai/maintainers/) <br>


## Skill Output: <br>
**Output Type(s):** [Code, Shell commands, Configuration instructions] <br>
**Output Format:** [Markdown with inline bash code blocks] <br>
**Output Parameters:** [1D] <br>
**Other Properties Related to Output:** [None] <br>

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

## Ethical Considerations: <br>
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal team to ensure this skill meets requirements for the relevant industry and use case and addresses unforeseen product misuse. <br>

(For Release on NVIDIA Platforms Only) <br>
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
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 | 🟡 Minor | ⚡ Quick win

Replace generic “here” link text with a descriptive label.

The current link text is non-descriptive and trips markdown accessibility linting.

Suggested fix
-Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
+Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns through the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns through the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 40-40: Link text should be descriptive

(MD059, descriptive-link-text)

🤖 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-developer/skill-card.md` at line 40, Replace the non-descriptive
link text "here" in the markdown sentence starting with "Please report quality,
risk, security vulnerabilities or NVIDIA AI Concerns" with a descriptive label
(e.g., "NVIDIA VDP reporting portal" or "Intigriti report page") so the link is
accessible and passes markdown linting; edit the skill-card.md line that
contains that sentence and update only the link text while keeping the existing
URL unchanged.

1 change: 1 addition & 0 deletions skills/cuopt-developer/skill.oms.sig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiY3VvcHQtZGV2ZWxvcGVyIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogIjM2MGRmZmRjODRkMTg1ODE2MmI3Y2I2MmQ5Yjk2NjY0NWI2MDU1YTczODMxYWNjYzBkM2QwOWM3MjYxYTNhYTIiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vbW9kZWxfc2lnbmluZy9zaWduYXR1cmUvdjEuMCIsCiAgInByZWRpY2F0ZSI6IHsKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRodWIiCiAgICAgIF0sCiAgICAgICJoYXNoX3R5cGUiOiAic2hhMjU2IiwKICAgICAgImFsbG93X3N5bWxpbmtzIjogZmFsc2UKICAgIH0sCiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiLAogICAgICAgICJkaWdlc3QiOiAiNTUyYmIwNTc2ODVmM2E1ZDE1NWFmM2I3MTg5Y2FlNTBiNGM3NTIxZjU5Zjc1NDA4NjNmNzIyNmU3MjE3MGI2YiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJiZW5jaG1hcmsvZXZhbHMuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6ICJkMjk4Mjg2YzJlZjViNzUzYzZmMzkxMzY3MzI1ZmNkZDVlNjcwZTNkOWE5YWJmMTI5ZWU1NDM2MzZmZDM4OGNkIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInJlc291cmNlcy9idWlsZF9hbmRfdGVzdC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICIwNmI1MWUyYmU3ODIzN2QzMjE3NGZiYTcwOGZkZGVmNzMyMGI1YzUzNzUwMTg1NTNmNGM5OTMzZWE1NTM5MzhhIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInJlc291cmNlcy9jb250cmlidXRpbmcubWQiLAogICAgICAgICJkaWdlc3QiOiAiNTkxNTI4NWYxMmJkMzBjMWViYmMxOWYyODA1MmI5YmJmZDRlODM4ZDUyZWUwNjAzNjBlOWFkNjAxNjRiNDg4ZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvY29udmVudGlvbnMubWQiLAogICAgICAgICJkaWdlc3QiOiAiOTkxOTUwNmQyZWY3MjgxMDliYzg1OTk1ODIwYTAzNzExZGEzZGQ2NWYyYjYxYjU1OTY0MWE2MjM2ZjlhOGQzYSIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvZmlyc3RfdGltZV9zZXR1cC5tZCIsCiAgICAgICAgImRpZ2VzdCI6ICJiNTI4ZTZkZDNkY2JkYWYzOWU4NmVkMGM2NmRjY2I3MDBiY2ExZWRkNzI0OTc0YmI0YWQxMTc3MTk4ODRkNTE4IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInJlc291cmNlcy9weXRob25fYmluZGluZ3MubWQiLAogICAgICAgICJkaWdlc3QiOiAiMzRkMTJiOWY2NGQxMzY4OWM1MGZlZTVjZDk0ZWIxYWI4YmY4ZGZiNWRjNmVkNmU5ZjFmN2RmMThkMWI5MmFlNyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJyZXNvdXJjZXMvdHJvdWJsZXNob290aW5nLm1kIiwKICAgICAgICAiZGlnZXN0IjogIjkyYWQ2YmQxYTJjNjY4YzI4YmM2ZjUwY2NjNjQ5YTZhOTVhOGI3MDg2MTU4YmUwZDY4OTJiZTk1NzE3ZTNhNTciLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAicmVzb3VyY2VzL3ZycF9za2lsbHMubWQiLAogICAgICAgICJkaWdlc3QiOiAiOTlhMGZkZmY2YjQ2NDhiZmIwYmUyNmQ2ZTM3OWQ1MzlmMmJkMThmN2YzYzBkYWM5OGIxODI2MDNiYTliYThhZCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJza2lsbC1jYXJkLm1kIiwKICAgICAgICAiZGlnZXN0IjogIjQ2YjM2ZDhlNGY4OTcwNTNiMDgzNzdmNmIyYjMyN2E5NGQ2ZmI0NmM0YWUxODkxN2NhNWFkM2RjM2U2YTJmNWYiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9CiAgICBdCiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGQCMHPDl3cJZBBHXVMvctnnd5HVb0H5F7YYx8pJG+GisKHQYLCd9BFxp9ZtpjLgFF/uuAIwQqLF5I6nSkOX8drqphlSmofnDfawL6zY40dj1d0Zh/92o0l995oRZIi3HieXgOmF","keyid":""}]}}
9 changes: 9 additions & 0 deletions skills/cuopt-install/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
name: cuopt-install
version: "26.08.00"
description: Install cuOpt for Python, C, or as a server (pip, conda, Docker) — system requirements, install commands, and verification. Use when the user wants to install or verify cuOpt for any user-facing interface. For building cuOpt from source or contributing to cuOpt, see cuopt-developer.
license: Apache-2.0
metadata:
author: NVIDIA cuOpt Team
tags:
- cuopt
- install
- deployment
- python
- server
---

# cuOpt Install (user)
Expand Down
38 changes: 38 additions & 0 deletions skills/cuopt-install/skill-card.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Description: <br>
Install cuOpt for Python, C, or as a server (pip, conda, Docker) — system requirements, install commands, and verification. <br>

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

## Owner: NVIDIA <br>

### License/Terms of Use: <br>
Apache 2.0 <br>
## Use Case: <br>
Developers and engineers who need to install or verify NVIDIA cuOpt for any user-facing interface (Python, C, or REST server) across local GPU, cloud, or Docker environments. <br>

### Deployment Geography for Use: <br>
Global <br>

## Known Risks and Mitigations: <br>
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>
Mitigation: Review and scan skill before deployment. <br>

## Reference(s): <br>
- [Verification Examples](resources/verification_examples.md) <br>
- [cuOpt User Guide](https://docs.nvidia.com/cuopt/user-guide/latest/introduction.html) <br>


## Skill Output: <br>
**Output Type(s):** [Shell commands, Configuration instructions] <br>
**Output Format:** [Markdown with inline bash code blocks] <br>
**Output Parameters:** [1D] <br>
**Other Properties Related to Output:** [None] <br>

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

## Ethical Considerations: <br>
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal team to ensure this skill meets requirements for the relevant industry and use case and addresses unforeseen product misuse. <br>

(For Release on NVIDIA Platforms Only) <br>
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
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 | 🟡 Minor | ⚡ Quick win

Use descriptive link text instead of “here”.

Replace generic anchor text with explicit wording to satisfy markdown linting and improve readability.

Proposed fix
-Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
+Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns via the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns via the [NVIDIA Vulnerability Disclosure Program](https://app.intigriti.com/programs/nvidia/nvidiavdp/detail). <br>
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 38-38: Link text should be descriptive

(MD059, descriptive-link-text)

🤖 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-install/skill-card.md` at line 38, The anchor text "here" in the
markdown sentence should be replaced with descriptive link text to satisfy
linting and improve accessibility; locate the anchor using the current anchor
text "here" and the URL
"https://app.intigriti.com/programs/nvidia/nvidiavdp/detail" and replace it with
a clear label such as "NVIDIA VDP report page", "Intigriti NVIDIA VDP program",
or "report vulnerabilities to NVIDIA VDP" so the link text describes its
destination.

1 change: 1 addition & 0 deletions skills/cuopt-install/skill.oms.sig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"x509CertificateChain":{"certificates":[{"rawBytes":"MIICgzCCAgmgAwIBAgIUKIyS7SxNteQIiWzK1dWj85E6520wCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwHhcNMjYwNDAxMDAwMDAwWhcNMjgwNDIyMTUzMzA5WjBUMQswCQYDVQQGEwJVUzEbMBkGA1UECgwSTlZJRElBIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9OVklESUEgQWdlbnQgU2tpbGxzIFNpZ25pbmcgMDAxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYoRM9bQl/dGlwSRNi6bTpIJUXH8Nv9GciP6LSflJYYMLCc296kpyuTSsk5ddbAWiDcFX3C/ydX3jwc+qCLYP6uHy9XphyLjOQ27Yb2J6rBLVtRBS1mgGco/Gr7fL6ODco4GaMIGXMB0GA1UdDgQWBBRQ/5ZW3nJ6lmo9SVk7I15o7UGmpTAfBgNVHSMEGDAWgBRPGpILxMBBleJSsBGjrMKsby1CgjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLm5kaXMubnZpZGlhLmNvbTAKBggqhkjOPQQDAwNoADBlAjAUygu/GiOCIXrgGr4SmLgeEVDcEitfFUv7ALbvLVGVyMysB3mxmO/uInZfXzWcJZsCMQDxuoxj4ZmO30jhkPIcCxGFCOvnUsnfU3TfGcouYm4M6iRpbKvtVnHPiy4bi6pcKf0="},{"rawBytes":"MIICiDCCAg6gAwIBAgIUZsIuSv9NkpJCNqtYEfCouVv5BzowCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowVTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjEpMCcGA1UEAwwgTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBJQ0EgMDEwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASI72cR3ctKGg4VWnB3bNja6g1Z2PnOmFEopkPof+QeIcPk9rT+g9MjJnq51EQXL93a7C2GJ9J985G4o2V85VD7wJ1RaXhluHW2rf3y8bQGeAYaKMr5s/hUgn+M3/9WlWejgaAwgZ0wHQYDVR0OBBYEFE8akgvEwEGV4lKwEaOswqxvLUKCMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMDcGCCsGAQUFBwEBBCswKTAnBggrBgEFBQcwAYYbaHR0cDovL29jc3AubmRpcy5udmlkaWEuY29tMAoGCCqGSM49BAMDA2gAMGUCMQCeIMMfAbyzPDacw2MxG+Yt1cikrJX/DVxiGfXuHmkkXn6VgSzE79+lkqDErpVO2gYCMCNEColOyvUvkzZGUEI1hQ3PfMgi3FIo9tHoBKMw4/wGBLFpu/0ubtmbBXM6/UMOEw=="},{"rawBytes":"MIICRTCCAcygAwIBAgIUeJdY3rV86EdvFmG7L8LJBsyQFYkwCgYIKoZIzj0EAwMwUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTAgFw0yNjA0MDEwMDAwMDBaGA85OTk5MTIzMTIzNTk1OVowUTELMAkGA1UEBhMCVVMxGzAZBgNVBAoMEk5WSURJQSBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcTlZJRElBIEFnZW50IENhcGFiaWxpdGllcyBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAYpiXCDjJ9NT2eSDhyHJVSw1Tbze18cGG2F/578oWvHxg23eQAhNRYdq88i1iOshZSO6C29doKui5Xpmo/7Ctw9Sx4PP2RzOmIuOLCuTdNtKcTRwi4GEsd5BAFvWj42M6NjMGEwHQYDVR0OBBYEFItnoAjjfuCEUvzyvWyI2vOGvwPjMB8GA1UdIwQYMBaAFItnoAjjfuCEUvzyvWyI2vOGvwPjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMCwtAjWLaNwgGWNCgdyNoTyvNhqWRECRJV2r3+7w8g0PL6NHLOsbkgE09BH95h8XlgIwTaQmbbUh2ChAJ5TA1wRiVDnCcvbzHlZl2jM2FcwQQZlk19LOAbyGMRixbu2Ww/rj"}]},"tlogEntries":[]},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiY3VvcHQtaW5zdGFsbCIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICJlNzZiM2QwODQxNWU4MDAzZTc2N2QyM2NiNGU2OGFhNjBiYzhjMGRiZmJiYmQxYjQyYjYxY2VmOGMzMGViMzE0IgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYjdiNzIyYTE5OWZlYzhhMGE2ZGYwMWYzYWRhYTc4NWNmOWUwNGMzYWYwMTRiZGI0ZDYzNDNlMTMyNjA3MDY5YSIsCiAgICAgICAgIm5hbWUiOiAiU0tJTEwubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICIwOTZlYWU5YWJiZDc5YWUzYzczYmJlMDBhZGJiMDNlYWU5NmQ1YmQ5NGNhNTdjNTE5ZDkyMDFiNGQ4ZDZlMjZjIiwKICAgICAgICAibmFtZSI6ICJiZW5jaG1hcmsvZXZhbHMuanNvbiIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjI4YmM4OGRmY2ExYTlkOTNlNGNlYjU3MTM1MzUwNjMyNjQzNWY1M2NkMTIwNmIxZTEyODk2YmMxMzE5MzNkYWQiLAogICAgICAgICJuYW1lIjogInJlc291cmNlcy92ZXJpZmljYXRpb25fZXhhbXBsZXMubWQiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICIwMGNhNGZhMjBkMmQ5ZmY2NzkzOWJlNTMzODc1MmYwYjI1MzJkYTQxYTAyYTA0ZTc3MDliMjE2MDdkYTVjNTU1IiwKICAgICAgICAibmFtZSI6ICJza2lsbC1jYXJkLm1kIgogICAgICB9CiAgICBdLAogICAgInNlcmlhbGl6YXRpb24iOiB7CiAgICAgICJpZ25vcmVfcGF0aHMiOiBbCiAgICAgICAgIi5naXQiLAogICAgICAgICIuZ2l0aHViIiwKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXRhdHRyaWJ1dGVzIgogICAgICBdLAogICAgICAiaGFzaF90eXBlIjogInNoYTI1NiIsCiAgICAgICJhbGxvd19zeW1saW5rcyI6IGZhbHNlLAogICAgICAibWV0aG9kIjogImZpbGVzIgogICAgfQogIH0KfQ==","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MGQCMF9of5TZwfs7ngcsmt96tK3hyWTSmJ7jxy2KHoYLm8pmkJBaZBKgS5f9GQpPGGq0gQIwZzEJ8CMQKqGTR2dgYy255aLTOSaNiFzSnYnFfhSSChSRB8xO3u9eOXC+yklGTHnY","keyid":""}]}}
9 changes: 9 additions & 0 deletions skills/cuopt-numerical-optimization-api-c/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@
name: cuopt-numerical-optimization-api-c
version: "26.08.00"
description: LP, MILP, and QP (beta) with cuOpt — C API only. Use when the user is embedding LP, MILP, or QP in C/C++.
license: Apache-2.0
metadata:
author: NVIDIA cuOpt Team
tags:
- cuopt
- linear-programming
- milp
- qp
- c-api
---


Expand Down
Loading
Loading