From 5c9acaf7585391e7fcb2bc3ede75761d3e922a7a Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 5 Aug 2026 09:59:13 -0500 Subject: [PATCH 1/3] ci: sync skill-card.md versions in sync_skills_version.sh and validate in validate_skills.sh --- ci/utils/sync_skills_version.sh | 9 +++++++++ ci/utils/validate_skills.sh | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/ci/utils/sync_skills_version.sh b/ci/utils/sync_skills_version.sh index 1dfca8a663..ba1a35de9a 100755 --- a/ci/utils/sync_skills_version.sh +++ b/ci/utils/sync_skills_version.sh @@ -49,4 +49,13 @@ for skill_md in "${SKILLS_DIR}"/*/SKILL.md; do echo " updated $skill_md" done +# skills/*/skill-card.md: update the version on the line after "## Skill Version(s):" +for skill_card in "${SKILLS_DIR}"/*/skill-card.md; do + [[ -f "$skill_card" ]] || continue + # The version line has the form: "26.08.00 (source: ...)
" + # Replace only the leading version token, preserving the source annotation. + sed -i "s|^[0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]\( (source:.*)
\)$|${RELEASE_VERSION}\1|" "$skill_card" + echo " updated $skill_card" +done + echo "Done. Skills version is now ${RELEASE_VERSION}." diff --git a/ci/utils/validate_skills.sh b/ci/utils/validate_skills.sh index 6577a45a1e..ed71c1b788 100755 --- a/ci/utils/validate_skills.sh +++ b/ci/utils/validate_skills.sh @@ -56,6 +56,17 @@ for dir in "$SKILLS_DIR"/*/; do echo "ERROR: $name/SKILL.md missing version in frontmatter. Run: ./ci/utils/sync_skills_version.sh" ERRORS=$((ERRORS + 1)) fi + skill_card="${dir}skill-card.md" + if [[ -f "$skill_card" ]]; then + CARD_VERSION=$(grep -A 1 "^## Skill Version(s):" "$skill_card" | tail -1 | sed -n 's/^\([0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]\).*/\1/p') + if [[ -z "${CARD_VERSION}" ]]; then + echo "ERROR: $name/skill-card.md missing version under '## Skill Version(s):'. Run: ./ci/utils/sync_skills_version.sh" + ERRORS=$((ERRORS + 1)) + elif [[ "${CARD_VERSION}" != "${RELEASE_VERSION}" ]]; then + echo "ERROR: $name/skill-card.md has version \"${CARD_VERSION}\" but VERSION file has \"${RELEASE_VERSION}\". Run: ./ci/utils/sync_skills_version.sh" + ERRORS=$((ERRORS + 1)) + fi + fi fi done From 4c27a0b0e3f32b3626ffb939eb113219d76883e2 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 5 Aug 2026 14:05:00 -0500 Subject: [PATCH 2/3] fix: scope skill-card sed to version header line and detect missing version --- ci/utils/sync_skills_version.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ci/utils/sync_skills_version.sh b/ci/utils/sync_skills_version.sh index ba1a35de9a..f1f20d4b24 100755 --- a/ci/utils/sync_skills_version.sh +++ b/ci/utils/sync_skills_version.sh @@ -52,9 +52,13 @@ done # skills/*/skill-card.md: update the version on the line after "## Skill Version(s):" for skill_card in "${SKILLS_DIR}"/*/skill-card.md; do [[ -f "$skill_card" ]] || continue - # The version line has the form: "26.08.00 (source: ...)
" - # Replace only the leading version token, preserving the source annotation. - sed -i "s|^[0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]\( (source:.*)
\)$|${RELEASE_VERSION}\1|" "$skill_card" + # Scope the substitution to the line immediately following the header. + sed -i '/^## Skill Version(s):
$/{n; s|^[0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]\( (source:.*)
\)$|'"${RELEASE_VERSION}"'\1|}' "$skill_card" + # Verify the replacement actually landed; fail loudly if the version line is missing or malformed. + if ! grep -A1 "^## Skill Version(s):" "$skill_card" | grep -q "^${RELEASE_VERSION}"; then + echo "ERROR: $skill_card: version line under '## Skill Version(s):' is missing or malformed; manual repair needed" + exit 1 + fi echo " updated $skill_card" done From ed21d3b6d6fbd9ed2fb83d2c1d26ca0a6c4a1059 Mon Sep 17 00:00:00 2001 From: Ramakrishna Prabhu Date: Wed, 5 Aug 2026 14:12:35 -0500 Subject: [PATCH 3/3] chore: sync skill-card.md versions to 26.10.00 --- skills/cuopt-developer/skill-card.md | 2 +- skills/cuopt-install/skill-card.md | 2 +- skills/cuopt-multi-objective-exploration/skill-card.md | 2 +- skills/cuopt-numerical-optimization-api/skill-card.md | 2 +- skills/cuopt-numerical-optimization-formulation/skill-card.md | 2 +- skills/cuopt-routing-api-python/skill-card.md | 2 +- skills/cuopt-server-api-python/skill-card.md | 2 +- skills/cuopt-skill-evolution/skill-card.md | 2 +- skills/cuopt-user-rules/skill-card.md | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/skills/cuopt-developer/skill-card.md b/skills/cuopt-developer/skill-card.md index 2e897b0149..8458bf5c0c 100644 --- a/skills/cuopt-developer/skill-card.md +++ b/skills/cuopt-developer/skill-card.md @@ -80,7 +80,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 3 | 48% (+22%) | 89% (+49%) | ## Skill Version(s):
-26.08.00 (source: frontmatter, pyproject.toml)
+26.10.00 (source: frontmatter, pyproject.toml)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-install/skill-card.md b/skills/cuopt-install/skill-card.md index 8b1e34d83d..4eb431d444 100644 --- a/skills/cuopt-install/skill-card.md +++ b/skills/cuopt-install/skill-card.md @@ -73,7 +73,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 1 | 95% (+67%) | 96% (+69%) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-multi-objective-exploration/skill-card.md b/skills/cuopt-multi-objective-exploration/skill-card.md index fa0a4aacd0..6aeabcf0a2 100644 --- a/skills/cuopt-multi-objective-exploration/skill-card.md +++ b/skills/cuopt-multi-objective-exploration/skill-card.md @@ -73,7 +73,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 31% → 100% (+69 points) | 25% → 100% (+75 points) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-numerical-optimization-api/skill-card.md b/skills/cuopt-numerical-optimization-api/skill-card.md index e824c86a18..840937a360 100644 --- a/skills/cuopt-numerical-optimization-api/skill-card.md +++ b/skills/cuopt-numerical-optimization-api/skill-card.md @@ -77,7 +77,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 8 | 71% (+46%) | 55% (+28%) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-numerical-optimization-formulation/skill-card.md b/skills/cuopt-numerical-optimization-formulation/skill-card.md index b10dd29154..afda90f622 100644 --- a/skills/cuopt-numerical-optimization-formulation/skill-card.md +++ b/skills/cuopt-numerical-optimization-formulation/skill-card.md @@ -78,7 +78,7 @@ Underlying evaluation signals used in this run:
**[ ] Product Security**
## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-routing-api-python/skill-card.md b/skills/cuopt-routing-api-python/skill-card.md index f5bdc88f34..2b0ff05fb2 100644 --- a/skills/cuopt-routing-api-python/skill-card.md +++ b/skills/cuopt-routing-api-python/skill-card.md @@ -75,7 +75,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 1 | 95% (+67%) | 72% (+45%) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-server-api-python/skill-card.md b/skills/cuopt-server-api-python/skill-card.md index e8754b2d76..e4dfcae72c 100644 --- a/skills/cuopt-server-api-python/skill-card.md +++ b/skills/cuopt-server-api-python/skill-card.md @@ -75,7 +75,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 1 | 95% (+68%) | 95% (+67%) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-skill-evolution/skill-card.md b/skills/cuopt-skill-evolution/skill-card.md index a716f20e96..c3d51bd3e8 100644 --- a/skills/cuopt-skill-evolution/skill-card.md +++ b/skills/cuopt-skill-evolution/skill-card.md @@ -74,7 +74,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 1 | 42% (-18%) | 28% (-0%) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.
diff --git a/skills/cuopt-user-rules/skill-card.md b/skills/cuopt-user-rules/skill-card.md index ea87b86c5a..730d4d674b 100644 --- a/skills/cuopt-user-rules/skill-card.md +++ b/skills/cuopt-user-rules/skill-card.md @@ -75,7 +75,7 @@ Underlying evaluation signals used in this run:
| Efficiency | 1 | 25% (+0%) | 48% (-12%) | ## Skill Version(s):
-26.08.00 (source: frontmatter)
+26.10.00 (source: frontmatter)
## Ethical Considerations:
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.