Skip to content

Combine installation user skills into cuopt-install#1189

Open
rgsl888prabhu wants to merge 3 commits intoNVIDIA:mainfrom
rgsl888prabhu:feat/combine-installation-skill
Open

Combine installation user skills into cuopt-install#1189
rgsl888prabhu wants to merge 3 commits intoNVIDIA:mainfrom
rgsl888prabhu:feat/combine-installation-skill

Conversation

@rgsl888prabhu
Copy link
Copy Markdown
Collaborator

@rgsl888prabhu rgsl888prabhu commented May 8, 2026

Summary

Collapses three user-facing install skills into one cuopt-install skill covering Python, C, and server across pip, conda, and Docker.

Old New
cuopt-installation-common (concepts) merged → cuopt-install
cuopt-installation-api-python merged → cuopt-install
cuopt-installation-api-c merged → cuopt-install
cuopt-installation-developer (build from source) unchanged here — being folded into cuopt-developer in #1176

Two commits:

  1. Consolidation — collapse the three user-install skills into a single cuopt-installation skill.
  2. Renamecuopt-installationcuopt-install (shorter, matches pip install mental model, removes residual audience ambiguity).

Why

Drive-by fixes (caught while drafting)

  • C API was missing pip support. libcuopt-cu12 and libcuopt-cu13 are real PyPI packages (see dependencies.yaml:436,441); the old cuopt-installation-api-c skill only documented conda.
  • C API conda command was wrong. Old skill said conda install ... cuopt, but cuopt is the Python conda package. The C package is libcuopt (dependencies.yaml:423).

Cross-refs updated

  • AGENTS.md — skill index reorganized; new "Installation" section with cuopt-install.
  • .claude-plugin/marketplace.json — three plugin entries → one.
  • skills/cuopt-installation-developer/evals/evals.json — two references in ground_truth / expected_behavior updated to cuopt-install.

Coordination with #1176

Both PRs touch AGENTS.md, .claude-plugin/marketplace.json, and skills/cuopt-installation-developer/evals/evals.json. Whichever lands second will need a small rebase (drop the eval edit since #1176 deletes that file; flip the "Installation" section in AGENTS.md). The merged eval cases that #1176 migrates into cuopt-developer/evals/evals.json may also need a one-line touch-up to point at cuopt-install rather than the old skill names.

Test plan

  • Skill registry loads — cuopt-install appears in available skills, the three old user-install names do not.
  • User asks "how do I install cuOpt for Python?" → activates cuopt-install, produces correct pip / conda command.
  • User asks "how do I install cuOpt for C?" → activates cuopt-install, produces correct libcuopt-cu12/13 pip command and libcuopt conda command.
  • User asks "how do I build cuOpt from source?" → still activates cuopt-installation-developer (or cuopt-developer post-Improve cuopt-developer skill content and sibling-skill routing #1176).

Collapses three install skills into a single user-facing skill:
- cuopt-installation-common (concepts) — system requirements + clarifying questions
- cuopt-installation-api-python (Python install)
- cuopt-installation-api-c (C install)
  → cuopt-installation (Python + C + server, pip/conda/Docker, verification)

cuopt-installation-developer (build from source) stays as a separate skill
for contributors and is referenced as "see also" from the merged skill.

Why one skill instead of three:
- System requirements, package-manager decisions, and verification surface
  are shared across interfaces; splitting created duplicated content and
  ambiguous activation.
- Both API skills already declared "Standalone; no common skill", so the
  common skill was vestigial.
- Mirrors the consolidation pattern from NVIDIA#1183 (numerical-optimization
  skill family).

Also fixes two bugs surfaced while drafting:
- C API was missing pip support; libcuopt-cu12 / libcuopt-cu13 are real
  PyPI packages (per dependencies.yaml:436,441).
- C API conda command pointed to "cuopt" (the Python package) instead of
  "libcuopt" (the C package, dependencies.yaml:423).

Cross-refs updated: AGENTS.md, .claude-plugin/marketplace.json, and
skills/cuopt-installation-developer/evals/evals.json (two references to
the old skill names in ground_truth and expected_behavior).
@rgsl888prabhu rgsl888prabhu requested a review from a team as a code owner May 8, 2026 15:31
@rgsl888prabhu rgsl888prabhu requested a review from Iroy30 May 8, 2026 15:31
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f0ffdb5e-af9a-4af2-8e30-234fc47b98ab

📥 Commits

Reviewing files that changed from the base of the PR and between b69b236 and b587b7b.

📒 Files selected for processing (2)
  • AGENTS.md
  • skills/cuopt-install/SKILL.md
✅ Files skipped from review due to trivial changes (2)
  • skills/cuopt-install/SKILL.md
  • AGENTS.md

📝 Walkthrough

Walkthrough

This PR consolidates cuOpt installation documentation from four separate API-specific skill guides into a single unified cuopt-install guide. The marketplace metadata, skill directory index, and evaluation routing are updated to direct users to the new unified installation resource. Four deprecated installation skill documents are removed.

Changes

Installation Documentation Consolidation

Layer / File(s) Summary
Marketplace Metadata and Plugin Declarations
.claude-plugin/marketplace.json
Top-level metadata.description changes from "Python/C/developer" to "user/developer". Plugins list consolidates cuopt-installation-common, cuopt-installation-api-python, and cuopt-installation-api-c into single cuopt-install entry with unified installation description.
Skills Directory Index Update
AGENTS.md
Repository layout reorganized into flat per-domain structure. New explicit "Installation" section lists cuopt-install and cuopt-installation-developer paths. Installation entries removed from the API/implementation section; concept-only entries remain in Common section.
New Consolidated Installation Guide
skills/cuopt-install/SKILL.md
Comprehensive user-facing installation guide covering system requirements (GPU, CUDA, driver), pre-install questions (interface, CUDA version, package manager, environment), and unified installation/verification for Python API (pip/conda CUDA 12/13), C API (conda/pip CUDA 12/13), and REST server (pip/conda/Docker). Includes verification snippets, troubleshooting for common issues, and references to detailed recipes and developer build guide.
Deprecated API-Specific Guides
skills/cuopt-installation-api-c/SKILL.md, skills/cuopt-installation-api-python/SKILL.md, skills/cuopt-installation-api-python/resources/verification_examples.md, skills/cuopt-installation-common/SKILL.md
Four separate installation guides removed: C API installation documentation (32 lines), Python API installation and verification (73 lines), verification examples and troubleshooting (172 lines), and common concepts/requirements documentation (29 lines).
Evaluation Routing Update
skills/cuopt-installation-developer/evals/evals.json
The inst-007-user-vs-dev-install evaluation updated to direct "just use cuOpt" users to the new cuopt-install skill instead of the removed API-specific installation skills.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: consolidating three separate installation skills into a single cuopt-install skill.
Description check ✅ Passed The description comprehensively explains the consolidation of three installation skills into cuopt-install, documents drive-by fixes, and details cross-reference updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
AGENTS.md (1)

3-3: ⚡ Quick win

Line 3 layout rule conflicts with the new installation model.

Line 3 says implementation skills are one-per-interface, but Lines 21-23 intentionally consolidate installation into a single multi-interface skill. Please adjust Line 3 to avoid routing ambiguity.

Suggested wording
-AI agent skills for NVIDIA cuOpt optimization engine. Skills live in **`skills/`** (repo root) and use a **flat layout**: per domain, a concept skill (formulation / problem types) plus implementation skills (one per interface — Python, C, CLI, server). Skills evolve through agent interactions — see `skills/skill-evolution/` for the evolution workflow.
+AI agent skills for NVIDIA cuOpt optimization engine. Skills live in **`skills/`** (repo root) and use a **flat layout**: per domain, a concept skill (formulation / problem types) plus implementation skills (typically one per interface — Python, C, CLI, server; installation is consolidated). Skills evolve through agent interactions — see `skills/skill-evolution/` for the evolution workflow.

As per coding guidelines, "Include clear descriptions of agent responsibilities and interfaces in AGENTS.md".

🤖 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 `@AGENTS.md` at line 3, Update the sentence in AGENTS.md that enforces "one per
interface" implementation skills: change it to describe a flat layout where each
domain has a concept skill (formulation/problem types) plus implementation
skills, but allow implementation skills to consolidate multiple interfaces
(e.g., a single installation/multi-interface skill) when appropriate; reference
the existing skills/ and skills/skill-evolution/ conventions and ensure the
wording removes the strict one-per-interface rule to avoid routing ambiguity.
🤖 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-installation/SKILL.md`:
- Line 121: Replace the incorrect error text `No module 'cuopt'` with Python's
actual import error wording `No module named 'cuopt'` in the SKILL.md entry (the
phrasing shown in the diff) so the documentation matches the real exception
message for easier searching.

---

Nitpick comments:
In `@AGENTS.md`:
- Line 3: Update the sentence in AGENTS.md that enforces "one per interface"
implementation skills: change it to describe a flat layout where each domain has
a concept skill (formulation/problem types) plus implementation skills, but
allow implementation skills to consolidate multiple interfaces (e.g., a single
installation/multi-interface skill) when appropriate; reference the existing
skills/ and skills/skill-evolution/ conventions and ensure the wording removes
the strict one-per-interface rule to avoid routing ambiguity.
🪄 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: ecee9812-e54d-43bc-9eda-87b93a3f9020

📥 Commits

Reviewing files that changed from the base of the PR and between f3ab099 and 86f2362.

📒 Files selected for processing (9)
  • .claude-plugin/marketplace.json
  • AGENTS.md
  • skills/cuopt-installation-api-c/SKILL.md
  • skills/cuopt-installation-api-python/SKILL.md
  • skills/cuopt-installation-api-python/resources/verification_examples.md
  • skills/cuopt-installation-common/SKILL.md
  • skills/cuopt-installation-developer/evals/evals.json
  • skills/cuopt-installation/SKILL.md
  • skills/cuopt-installation/resources/verification_examples.md
💤 Files with no reviewable changes (4)
  • skills/cuopt-installation-common/SKILL.md
  • skills/cuopt-installation-api-python/resources/verification_examples.md
  • skills/cuopt-installation-api-c/SKILL.md
  • skills/cuopt-installation-api-python/SKILL.md

Comment thread skills/cuopt-install/SKILL.md Outdated
@rgsl888prabhu rgsl888prabhu self-assigned this May 8, 2026
@rgsl888prabhu rgsl888prabhu added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels May 8, 2026
Shorter, matches the "pip install" mental model, and removes residual
ambiguity about audience now that cuopt-installation stands alone as the
user-facing install skill (the developer install is being folded into
cuopt-developer in NVIDIA#1176).

Updates skill folder name, frontmatter name, AGENTS.md, marketplace.json,
and the inst-007-user-vs-dev-install eval ground_truth /
expected_behavior references.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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: Replace the incorrect routing token "cuopt-developer" with the correct
"cuopt-installation-developer" in the SKILL.md description and any other
occurrences (the three spots flagged in the diff), i.e., find the string
"cuopt-developer" and update it to "cuopt-installation-developer" so
build-from-source/install-from-source users are routed to the
installation-specific skill.
🪄 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: 138bde5c-e73e-492f-9d01-29ebfd9dd02f

📥 Commits

Reviewing files that changed from the base of the PR and between 86f2362 and b69b236.

📒 Files selected for processing (5)
  • .claude-plugin/marketplace.json
  • AGENTS.md
  • skills/cuopt-install/SKILL.md
  • skills/cuopt-install/resources/verification_examples.md
  • skills/cuopt-installation-developer/evals/evals.json
✅ Files skipped from review due to trivial changes (2)
  • skills/cuopt-installation-developer/evals/evals.json
  • AGENTS.md

---
name: cuopt-install
version: "26.06.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.
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

Route build-from-source users to cuopt-installation-developer, not cuopt-developer.

These lines currently send build/install-from-source users to the general developer skill. That conflicts with this PR’s stated routing split and can misroute installation questions.

Suggested edit
-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 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, see cuopt-installation-developer. For contributing to cuOpt internals, see cuopt-developer.
...
-Install cuOpt to *use* it from Python, C, or as a REST server. For building cuOpt from source to contribute or modify it, see `cuopt-developer`.
+Install cuOpt to *use* it from Python, C, or as a REST server. For building cuOpt from source, see `cuopt-installation-developer`.
...
-- `cuopt-developer` — build cuOpt from source and contribute to the codebase.
+- `cuopt-installation-developer` — build cuOpt from source and run developer setup.
+- `cuopt-developer` — contribute to the codebase internals.

Also applies to: 9-9, 128-128

🤖 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, Replace the incorrect routing token
"cuopt-developer" with the correct "cuopt-installation-developer" in the
SKILL.md description and any other occurrences (the three spots flagged in the
diff), i.e., find the string "cuopt-developer" and update it to
"cuopt-installation-developer" so build-from-source/install-from-source users
are routed to the installation-specific skill.

@rgsl888prabhu rgsl888prabhu changed the title Combine installation user skills into cuopt-installation Combine installation user skills into cuopt-install May 8, 2026
- 'No module cuopt' -> 'No module named cuopt' (Python's actual ImportError text).
- AGENTS.md line 3: loosen 'one per interface' rule to allow consolidated
  multi-interface skills like cuopt-install.
@rgsl888prabhu
Copy link
Copy Markdown
Collaborator Author

Addressed CodeRabbit review in b587b7bb:

  • SKILL.md line 121 — fixed import-error wording: No module 'cuopt'No module named 'cuopt' (matches Python's actual ImportError text).
  • AGENTS.md line 3 — loosened the "one per interface" rule to allow consolidated multi-interface skills like cuopt-install.

Skipping one finding intentionally:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant