Skip to content

skills: prep for nvidia/skills catalog onboarding - #1310

Merged
ramakrishnap-nv merged 2 commits into
mainfrom
skills/onboarding-prep-securitymd-pii-descs
May 29, 2026
Merged

skills: prep for nvidia/skills catalog onboarding#1310
ramakrishnap-nv merged 2 commits into
mainfrom
skills/onboarding-prep-securitymd-pii-descs

Conversation

@ramakrishnap-nv

@ramakrishnap-nvramakrishnap-nv commented May 27, 2026

Copy link
Copy Markdown
Collaborator

Aligns this repo's skills with the NVIDIA Agent Skills Publishing Onboarding Guide.

  • Add top-level SECURITY.md so the catalog's Getting Help & Contributing links resolve once cuopt is registered in components.d/.
  • Shorten descriptions that previously tripped the "Description very long" check (above 150 chars). Trigger keywords preserved.

@ramakrishnap-nv
ramakrishnap-nv requested a review from a team as a code ownerMay 27, 2026 20:34
@coderabbitai

coderabbitaiBot commented May 27, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR adds NVIDIA PSIRT security vulnerability reporting guidance via SECURITY.md, configures CI/CODEOWNERS for that file, updates skill metadata descriptions, and reformats numeric array literals across documentation and example files to multi-line layouts without changing values or behavior.

Changes

Security Policy Infrastructure

Layer / File(s)Summary
Security vulnerability reporting policy and CI configuration
SECURITY.md, .github/CODEOWNERS, .github/workflows/pr.yaml
Adds SECURITY.md with PSIRT reporting instructions, assigns ownership to ops team, and excludes SECURITY.md-only changes from triggering build_docs, test_cpp, test_python_conda, and test_python_wheels CI jobs.

Documentation Descriptions and Example Formatting

Layer / File(s)Summary
Skill metadata descriptions
skills/cuopt-install/SKILL.md, skills/cuopt-numerical-optimization-api-python/SKILL.md, skills/cuopt-numerical-optimization-formulation/SKILL.md, skills/cuopt-skill-evolution/SKILL.md
Updates skill front-matter descriptions to clarify supported problem types (LP/MILP/QP), installation methods, formulation concepts, and skill-evolution behavior.
Python API examples and output formatting
skills/cuopt-numerical-optimization-api-python/SKILL.md, skills/cuopt-numerical-optimization-api-python/assets/portfolio/model.py, skills/cuopt-numerical-optimization-api-python/assets/mps_solver/results.md, skills/cuopt-numerical-optimization-api-python/references/qp_examples.md
Expands numeric arrays, matrices, and variable assignments from single-line to multi-line formats; updates solver output numeric display formatting. Values and behavior remain unchanged.
Server API client request formatting
skills/cuopt-server-api-python/assets/lp_basic/client.py, skills/cuopt-server-api-python/assets/milp_basic/client.py
Reformats LP and MILP client payload numeric arrays and bounds into multi-line list structures; request logic and payload semantics unchanged.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • NVIDIA/cuopt#1328: Both PRs modify the same file skills/cuopt-numerical-optimization-formulation/SKILL.md front-matter description field.
  • NVIDIA/cuopt#1330: Both PRs edit skills/cuopt-skill-evolution/SKILL.md skill metadata.

Suggested reviewers

  • Iroy30
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check nameStatusExplanation
Title check✅ PassedThe title clearly describes the primary change: preparing skills for NVIDIA catalog onboarding by aligning with publishing requirements.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Description check✅ PassedThe PR description directly relates to the changeset, explaining the rationale for adding SECURITY.md and shortening descriptions to align with onboarding requirements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch skills/onboarding-prep-securitymd-pii-descs

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with 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.
Inline comments:
In `@skills/cuopt-install/SKILL.md`:
- Line 4: This PR touching skills/cuopt-install/SKILL.md is missing confirmation
that required skills-validation steps were executed; please run pre-commit hooks
and linting (pre-commit run --all-files and pre-commit run --all-files
--show-diff-on-failure), post the NVSkills CI trigger by commenting
"/nvskills-ci" on the PR, and ensure the original signature commit for the
skills change remains in the PR before merging so the repo policy for the
skills/ directory is satisfied.
In `@skills/cuopt-numerical-optimization-api-python/assets/portfolio/model.py`:
- Around line 18-20: Add a pytest that imports the portfolio.model module and
asserts the changed constants r1, r2, r3 have the expected values (0.12, 0.08,
0.05) so the change is covered by tests; place the test in the repository's
Python test suite following the existing pytest conventions and naming (e.g.,
test_*.py) and ensure it is discoverable by the CI test runner.
In `@skills/cuopt-numerical-optimization-api-python/references/qp_examples.md`:
- Around line 26-28: This PR changes content under skills/ (see qp_examples.md)
so before merging, post the comment `/nvskills-ci` on the pull request to
trigger NVSkills CI and verify the signature commit is still present in the PR
history; if the signature commit is missing, re-add it or restore the signed
commit before running the CI trigger.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 3f106cc4-eca5-48bc-83bb-c2a1bbcf4da8

📥 Commits

Reviewing files that changed from the base of the PR and between 16276d2 and b3430aa.

📒 Files selected for processing (12)
  • SECURITY.md
  • skills/cuopt-install/SKILL.md
  • skills/cuopt-numerical-optimization-api-c/SKILL.md
  • skills/cuopt-numerical-optimization-api-c/references/examples.md
  • skills/cuopt-numerical-optimization-api-python/SKILL.md
  • skills/cuopt-numerical-optimization-api-python/assets/mps_solver/results.md
  • skills/cuopt-numerical-optimization-api-python/assets/portfolio/model.py
  • skills/cuopt-numerical-optimization-api-python/references/qp_examples.md
  • skills/cuopt-server-api-python/assets/lp_basic/client.py
  • skills/cuopt-server-api-python/assets/milp_basic/client.py
  • skills/numerical-optimization-formulation/SKILL.md
  • skills/skill-evolution/SKILL.md

Comment threadskills/cuopt-install/SKILL.md Outdated
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.
description: Install cuOpt for Python, C, or server via pip, conda, or Docker; verify the install. For building cuOpt from source, see cuopt-developer.

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

Please confirm required skills-validation steps were executed before merge.

For this skills/ PR, please confirm you ran pre-commit checks, posted /nvskills-ci, and kept the signature commit in the PR as required by repo policy.

As per coding guidelines, "Install pre-commit hooks and run pre-commit run --all-files before committing code to ensure linting and formatting compliance", "Use pre-commit run --all-files --show-diff-on-failure to check code formatting and linting on all files before committing", and "For PRs changing content under skills/ directory, 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-install/SKILL.md` at line 4, This PR touching
skills/cuopt-install/SKILL.md is missing confirmation that required
skills-validation steps were executed; please run pre-commit hooks and linting
(pre-commit run --all-files and pre-commit run --all-files
--show-diff-on-failure), post the NVSkills CI trigger by commenting
"/nvskills-ci" on the PR, and ensure the original signature commit for the
skills change remains in the PR before merging so the repo policy for the
skills/ directory is satisfied.

Comment on lines +18 to +20
r1 = 0.12
r2 = 0.08
r3 = 0.05

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

Add/point to pytest coverage for this Python code change.

This .py asset changed but no corresponding test update is included in this review set; please add (or explicitly reference existing) pytest coverage for this path.

As per coding guidelines, "**/*.{cpp,cc,cxx,c,h,hpp,py}: Add unit tests for code changes; refer to cpp/src/tests for C/C++ gtest examples and python/cuopt/cuopt/tests for Python pytest examples".

🤖 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/assets/portfolio/model.py`
around lines 18 - 20, Add a pytest that imports the portfolio.model module and
asserts the changed constants r1, r2, r3 have the expected values (0.12, 0.08,
0.05) so the change is covered by tests; place the test in the repository's
Python test suite following the existing pytest conventions and naming (e.g.,
test_*.py) and ensure it is discoverable by the CI test runner.

Comment on lines +26 to +28
r1 = 0.12 # 12%
r2 = 0.08 # 8%
r3 = 0.05 # 5%

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

Please trigger NVSkills CI validation for this skills PR.

Before merge, comment /nvskills-ci on the PR and confirm the signature commit is still present.

As per coding guidelines, "skills/**/*: For PRs changing content under skills/ directory, 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/references/qp_examples.md`
around lines 26 - 28, This PR changes content under skills/ (see qp_examples.md)
so before merging, post the comment `/nvskills-ci` on the pull request to
trigger NVSkills CI and verify the signature commit is still present in the PR
history; if the signature commit is missing, re-add it or restore the signed
commit before running the CI trigger.

@ramakrishnap-nvramakrishnap-nv mentioned this pull request May 27, 2026
ramakrishnap-nv added a commit that referenced this pull request May 27, 2026
…to dodge GPS-coord PII false-positives
Last CI run on this branch (commit b531169) cleared all 4 AGENT_EVAL
HIGHs from the eval simplification, but a single HIGH still gated:
the PII detector flagged 9 MEDIUM "GPS coordinates" findings on
inline numeric arrays in C example code, which the gate aggregates
into one HIGH.
Files / lines previously flagged:
* SKILL.md:33 — cuopt_float_t values[] = {2.0, 3.0, 4.0, 2.0};
* references/examples.md:49 — cuopt_float_t values[] = {3.0, 4.0, 2.7, 10.1};
* references/examples.md:52 — cuopt_float_t objective_coefficients[] = {-0.2, 0.1};
* references/examples.md:55 — cuopt_float_t constraint_upper_bounds[] = {5.4, 4.9};
* references/examples.md:59 — cuopt_float_t var_lower_bounds[] = {0.0, 0.0};
* references/examples.md:143, 145, 146, 148 — same in the MILP example
(values, objective_coefficients, constraint_upper, var_lower).
The detector regex matches the inline-array shape "{N.N, N.N, ...};"
as a GPS coordinate pair. Reformatting the arrays multi-line breaks
that shape — one value per line — without changing C semantics.
Identical to the fix applied to other numerical-optimization assets
on PR #1310 (skills/onboarding-prep-securitymd-pii-descs). Ported
here directly because PR #1310 will not merge before this PR needs
to clear CI.
No content change — only whitespace/formatting on the array literals.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@ramakrishnap-nvramakrishnap-nv self-assigned this May 28, 2026
@ramakrishnap-nvramakrishnap-nv added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels May 28, 2026
@coderabbitai

Copy link
Copy Markdown

Actionable comments posted: 0

@ramakrishnap-nv
ramakrishnap-nvforce-pushed the skills/onboarding-prep-securitymd-pii-descs branch from 698e020 to be52a41CompareMay 28, 2026 15:57
@ramakrishnap-nv

Copy link
Copy Markdown
CollaboratorAuthor

/nvskills-ci

@ramakrishnap-nv
ramakrishnap-nv requested a review from a team as a code ownerMay 28, 2026 17:02
@coderabbitai

Copy link
Copy Markdown

Actionable comments posted: 0

@ramakrishnap-nvramakrishnap-nv added the do not merge Do not merge if this flag is set label May 28, 2026

@jameslambjameslamb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks great, thanks for adopting this SECURITY.md.

"upper_bounds": [
240.0,
200.0,
],

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Out of curiosity, where did all these style-only changes come from? I don't see any linter configs getting changed in this PR.

I recommend making sure these files are covered by pre-commit, so you don't have contributors' IDEs flipping the style of lines like this.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

@jameslamb I have raised with internal team on the static analysis on these, so analysis flag these as coordinates and raises PII issue, even though this is just a numerical array.

@coderabbitai

Copy link
Copy Markdown

Actionable comments posted: 0

@ramakrishnap-nv

Copy link
Copy Markdown
CollaboratorAuthor

/nvskills-ci

Aligns with the NVIDIA Agent Skills Publishing Onboarding Guide:
* Add top-level SECURITY.md so the catalog's "Getting Help &
Contributing" links resolve once this repo is registered in
components.d/<slug>.yml (guide §"Recommended Repository Layout").
* Wire .github/CODEOWNERS and .github/workflows/pr.yaml so doc-only
edits to SECURITY.md don't trigger the full CI matrix (cpp-build,
python-build, docs-build, conda-build path-filter blocks).
* Shorten cuopt-skill-evolution SKILL.md description to fit the
50-150 char range the NV-BASE quality scorer recommends. The
previous CI run reported "Description very long" (guide §"Writing
Skills for Good Agent Triggering").
Per-skill description and PII-array changes for the other skills
moved to dedicated follow-up PRs (#1343, #1344, #1345, #1346) so
each PR's CI scope is limited to one skill.
No behavior change; documentation/metadata only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@ramakrishnap-nv
ramakrishnap-nvforce-pushed the skills/onboarding-prep-securitymd-pii-descs branch from c772a1e to 2ee9594CompareMay 29, 2026 15:46
@ramakrishnap-nv

Copy link
Copy Markdown
CollaboratorAuthor

/nvskills-ci

Signed-off-by: nvskills-svc-account <svc-nvskills-signing@nvidia.com>
@copy-pr-bot

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ramakrishnap-nv
ramakrishnap-nv merged commit 7da0bda into mainMay 29, 2026
3 of 4 checks passed
@ramakrishnap-nvramakrishnap-nv mentioned this pull request Jul 8, 2026
3 tasks
@ramakrishnap-nv
ramakrishnap-nv deleted the skills/onboarding-prep-securitymd-pii-descs branch July 9, 2026 18:34
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not mergeDo not merge if this flag is setimprovementImproves an existing functionalitynon-breakingIntroduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ramakrishnap-nv@tmckayus@jameslamb@svc-nvskills-signing