components.d/cuopt: flat layout migration + remove orphan skills/cuopt/#122
Merged
Conversation
Atomic cutover for cuOpt to flat layout. Two changes: 1. components.d/cuopt.yml restructured to 12-entry flat layout (one entry per skill, lowercase catalog_dir matching skill name). Source names were renamed by Ramakrishnan in NVIDIA/cuopt — 3 previously unprefixed skills (numerical-optimization-formulation, routing-formulation, skill-evolution) now carry the cuopt- prefix, re-signed via /nvskills-ci. 2. skills/cuopt/ orphan directory removed. After the next sync, 12 cuOpt skills land directly at skills/cuopt-<name>/ at top level. The old nested directory is no longer referenced by any components.d entry and would otherwise persist as orphan content (anti-pattern #1). Source compliance (NVIDIA/cuopt as of 2026-05-28): - 12 skill-card.md ✓ - 12 skill.oms.sig ✓ - 13 evals.json (one additional eval beyond the per-skill set) - 6 BENCHMARK.md (6/12 currently have Tier 3 eval; rest land on next per-skill /nvskills-ci runs) Catalog path changes externally — anyone with bookmarks pointing at skills/cuopt/<name>/ will need to repoint at skills/cuopt-<name>/. SPDX header added per convention adopted 2026-05-28. Signed-off-by: Moshe Abramovitch <moshea@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Atomic cutover for cuOpt to flat layout. Two changes:
Source state — Ramakrishnan completed the rename + re-sign
Per his Slack confirmation, the 3 previously unprefixed skills are now properly `cuopt-` prefixed in `NVIDIA/cuopt`:
All 12 cuOpt skills now in `NVIDIA/cuopt/skills/`:
Source totals: 12 sig + 12 card + 12 evals.json + 6 BENCHMARK.md. Remaining 6 BENCHMARK.md will land on subsequent per-skill `/nvskills-ci` runs.
After this merges
Next sync publishes all 12 cuOpt skills flat at top-level:
```
skills/cuopt-developer/
skills/cuopt-install/
skills/cuopt-numerical-optimization-api-c/
skills/cuopt-numerical-optimization-api-cli/
skills/cuopt-numerical-optimization-api-python/
skills/cuopt-numerical-optimization-formulation/
skills/cuopt-routing-api-python/
skills/cuopt-routing-formulation/
skills/cuopt-server-api-python/
skills/cuopt-server-common/
skills/cuopt-skill-evolution/
skills/cuopt-user-rules/
```
External impact
Catalog paths change from `skills/cuopt//` to `skills//`. Anyone with bookmarks at the old nested paths will need to repoint. cuOpt is the catalog's first product to be fully migrated to flat layout end-to-end (source rename + re-sign + catalog yml restructure + orphan cleanup).
Test plan
🤖 Generated with Claude Code