accessing-mlflow
Query and browse evaluation results stored in MLflow. Use when the user wants to look up runs…
Audit merged bug-fix PRs and release NVBugs for missing cherry-pick labels, then cherry-pick labeled PRs into a release branch and open a PR. Use when asked to "cherry-pick PRs for release/X.Y.Z", "pick PRs to release branch", "verify cherry-pick labels", or "cherry-pick labeled
$ npx -y skills add nvidia/model-optimizer --skill release-cherry-pick --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/release-cherry-pickContext preview
The summary Claude sees to decide when to auto-load this skill.
Audit merged bug-fix PRs and release NVBugs for missing cherry-pick labels, then cherry-pick labeled PRs into a release branch and open a PR. Use when asked to "cherry-pick PRs for release/X.Y.Z", "pick PRs to release branch", "verify cherry-pick labels", or "cherry-pick labeled
name: release-cherry-pick description: Audit merged bug-fix PRs and release NVBugs for missing cherry-pick labels, then cherry-pick labeled PRs into a release branch and open a PR. Use when asked to "cherry-pick PRs for release/X.Y.Z", "pick PRs to release branch", "verify cherry-pick labels", or "cherry-pick labeled PRs".
Cherry-pick all merged `main` PRs labeled `cherry-pick-<version>` (but not `cherry-pick-done`) into the corresponding `release/<version>` branch, one by one in merge order.
Ask the user for the release version (e.g. `0.44.0`) and target release candidate (e.g. `rc2`) if not already provided. Confirm whether this is the final RC.
Set `VERSION=<version>` for use in subsequent steps.
Before fetching the labeled queue, audit for missing bug fixes:
Use the NVBugs MCP to search for every NVBug whose **Keywords** field contains the exact keyword `Committed_ModelOpt_<VERSION>`. Follow pagination until no next token is returned.
Fetch each matching NVBug with its comments. Extract every Model-Optimizer PR link or unambiguous `PR #<NUM>` reference from the comments, not only the latest comment. Keep only PRs that are merged into `main`, lack `cherry-pick-<VERSION>`, and are not already included in the release branch. Verify each remaining PR is a bug fix. The NVBug keyword is evidence for review, not by itself proof that every linked PR should be picked.
For non-final RCs only: Audit PRs merged into `main` since the latest release candidate. Exclude PRs that already have `cherry-pick-<VERSION>` and changes already present on the release branch:
git fetch origin main "release/$VERSION" --tags
RC_TAG=$(git tag --merged "origin/release/$VERSION" \
--list "${VERSION}rc*" --sort=-version:refname | head -1)
test -n "$RC_TAG" || {
echo "No ${VERSION}rc* tag found on origin/release/$VERSION" >&2
exit 1
}
SINCE=$(git for-each-ref --format='%(creatordate:iso-strict)' \
"refs/tags/$RC_TAG")
PATCH_STATUS=$(git cherry "origin/release/$VERSION" origin/main)
SEARCH_RESULTS=$(
gh search prs \
--repo NVIDIA/Model-Optimizer \
--merged \
--base main \
--merged-at ">=$SINCE" \
--limit 1000 \
--json number,title,author,labels,url \
-- "-label:cherry-pick-$VERSION"
)
if test "$(jq 'length' <<<"$SEARCH_RESULTS")" -ge 1000; then
echo "Recent-PR audit reached the 1,000-result limit" >&2
exit 1
fi
jq -r '.[].number' <<<"$SEARCH_RESULTS" \
| while read -r pr; do
sha=$(gh pr view "$pr" --repo NVIDIA/Model-Optimizer \
--json mergeCommit --jq '.mergeCommit.oid')
if grep -q "^+ $sha$" <<<"$PATCH_STATUS"; then
gh pr view "$pr" --repo NVIDIA/Model-Optimizer \
--json number,title,author,labels,url
fi
doneA release is not normally expected to reach the 1,000-PR limit.
Review each PR's title, body, labels, changed files, and linked issue context. Classify it as:
Deduplicate PRs found through both audits.
Present the complete audit before changing GitHub labels:
| PR | Title | Author | NVBug(s) | Bug fix? | `cherry-pick-<VERSION>` present? | Recommendation | |---|---|---|---|---|---|---|
Use these recommendation values and sort the table in this order:
1. **Needs label** — confirmed release-relevant bug fix. 2. **Unknown** — requires user judgment. 3. **No action needed** — not a release-relevant bug fix.
Use `—` when no NVBug is known. Also list NVBugs with no linked PR. Ask the user to confirm which recommended PRs should receive the missing label. After confirmation, apply it:
for pr in <APPROVED_NUMBERS>; do gh pr edit "$pr" --repo NVIDIA/Model-Optimizer --add-label "cherry-pick-$VERSION" done
Do not label unmerged PRs, PRs not based on `main`, or candidates classified **Unclear** without explicit approval. Re-run the audit table after edits so it reflects the final label state.
Use the GitHub search API to list PRs that have the cherry-pick label but not cherry-pick-done, sorted by merge date ascending:
gh api "search/issues?q=repo:NVIDIA/Model-Optimizer+is:pr+is:merged+base:main+label:cherry-pick-<VERSION>+-label:cherry-pick-done&sort=updated&order=asc&per_page=50" \ --jq '.items[] | [.number, .title, .pull_request.merged_at] | @tsv' \ | sort -t$'\t' -k3
Present the list to the user before proceeding.
Check out `release/<VERSION>`, creating it from the remote if it doesn't exist locally:
git fetch origin release/<VERSION> git checkout release/<VERSION>
All PRs are squash-merged, so each has a single-parent commit. Retrieve the SHA for each PR:
gh pr view <NUM> --repo NVIDIA/Model-Optimizer --json mergeCommit --jq '.mergeCommit.oid'
Cherry-pick each commit with `-s` (DCO sign-off). GPG signing is handled automatically by the repo's git config.
git ch
Documentation | Roadmap | NVIDIA Model Optimizer (referred to as Model Optimizer, or ModelOpt) is a library comprising state-of-the-art model optimization techniques including quantization, pruning, Neural Architecture Search (NAS), distillation, speculative
Query and browse evaluation results stored in MLflow. Use when the user wants to look up runs…
Inspect Hugging Face decoder layers on meta tensors and plan or run per-rank BF16, FP8, and…
Shared ModelOpt support files. Use only when another ModelOpt skill directs you here.
Establish baseline-vs-candidate evaluation plans, delegate missing evaluations, compare…
Deterministic end-to-end driver for day-0 quantized-checkpoint releases — chains PTQ →…