Megatron-LM Container and Dependency Setup
NVIDIA/Megatron-LM
Walks an agent through working inside the Megatron-LM CI container and changing dependencies with uv, so lock files resolve the same locally and in CI.
A skill your agent uses when updating dependencies managed by uv: bumping a package version, upgrading the uv tool itself, updating torch/CUDA stack, switching transformers version, or regenerating…
$ npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ByteDance-Seed/VeOmni veomni-uv-update --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ByteDance-Seed/VeOmni.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/veomni-uv-update .claude/skills/veomni-uv-update && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "veomni-uv-update" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-update into .claude/skills/veomni-uv-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veomni-uv-update", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-updateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ByteDance-Seed/VeOmni veomni-uv-update --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ByteDance-Seed/VeOmni.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/veomni-uv-update .agents/skills/veomni-uv-update && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "veomni-uv-update" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-update into .agents/skills/veomni-uv-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veomni-uv-update", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ByteDance-Seed/VeOmni veomni-uv-update --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ByteDance-Seed/VeOmni.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/veomni-uv-update .cursor/skills/veomni-uv-update && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "veomni-uv-update" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-update into .cursor/skills/veomni-uv-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veomni-uv-update", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ByteDance-Seed/VeOmni.git --path .agents/skills/veomni-uv-update--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ByteDance-Seed/VeOmni veomni-uv-update --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ByteDance-Seed/VeOmni.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/veomni-uv-update .gemini/skills/veomni-uv-update && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "veomni-uv-update" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-update into .gemini/skills/veomni-uv-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veomni-uv-update", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ByteDance-Seed/VeOmni veomni-uv-updateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ByteDance-Seed/VeOmni.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/veomni-uv-update .github/skills/veomni-uv-update && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "veomni-uv-update" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-update into .github/skills/veomni-uv-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veomni-uv-update", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ByteDance-Seed/VeOmni veomni-uv-update --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ByteDance-Seed/VeOmni.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/veomni-uv-update .opencode/skills/veomni-uv-update && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "veomni-uv-update" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/veomni-uv-update into .opencode/skills/veomni-uv-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "veomni-uv-update", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
veomni-uv-updateA skill your agent uses when updating dependencies managed by uv: bumping a package version, upgrading the uv tool itself, updating torch/CUDA stack, switching transformers version, or regenerating…
Veomni Uv Update is an agent skill from ByteDance-Seed/VeOmni. Use this skill when updating dependencies managed by uv: bumping a package version, upgrading the uv tool itself, updating torch/CUDA stack, switching transformers version, or regenerating the lockfile. Trigger: 'update dependency', 'bump version', 'upgrade uv', 'update torch', 'update lockfile', 'uv sync fails'.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Dependency management and Code migrations. It works with CUDA and Docker. The repository describes itself as: VeOmni: Scaling Any Modality Model Training with Model-Centric Distributed Recipe Zoo. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8791a71. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvpytestgitmakeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
download.pytorch.orggithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Veomni Uv Update loads about 2.1k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 965 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ByteDance-Seed/VeOmni at commit 8791a71, republished under its Apache-2.0 licence (© ByteDance-Seed). 965 words, ~2,094 tokens.
.claude/skills/veomni-uv-update/SKILL.md (or your agent's skills folder).Read .agents/knowledge/uv.md for the full dependency architecture. The key things that make VeOmni's uv setup non-trivial:
[tool.uv].required-version is a range; the concrete uv pins live
elsewhere and must stay inside itgpu / npu / npu_aarch64),
each a complete superset, plus optional --extra magi (combine with gpu)pyproject.toml is the source of truth for every version claim below. Read the
relevant block before editing — this file describes where things live, not
which versions are current.
pyproject.toml -> [tool.uv] -> required-version is a range
(e.g. ">=0.9.8,<0.13"). Docker and CI install a concrete pin and run with
--locked / --frozen. Every concrete pin must stay inside the range.
Every Dockerfile that pins uv, one by one. There is no generator; the
pin lives in a COPY --from=ghcr.io/astral-sh/uv:X.Y.Z line, and only the
uv-based images have one (the pip-based ascend *.arm / *_a3 variants do
not). Enumerate rather than assume:
grep -rn "astral-sh/uv" docker/Update every hit, and keep them on the same version — a per-image drift is a debugging trap, not a feature.
.github/workflows/check_patchgen.yml -> astral-sh/setup-uv version:.
This job runs outside the container image, so an unpinned uv would float
above the range ceiling.
pyproject.toml -> required-version — only widen/move the range when the
new pin falls outside it.
Then regenerate the lockfile:
uv lock
uv sync --extra gpu --devVerify the lockfile diff is reasonable (git diff uv.lock — should only show version changes, not wholesale rewrites).
pyproject.toml under [project.dependencies] or the relevant [project.optional-dependencies] extra.uv lock
uv sync --extra gpu --devpytest tests/pyproject.toml and uv.lock together.This is the most complex update. torch versions are pinned in multiple places:
For GPU (gpu extra):
pyproject.toml -> [project.optional-dependencies] -> gpu listpyproject.toml -> [tool.uv] -> override-dependencies (the extra == 'gpu' entries)pyproject.toml -> [tool.uv.sources] -> torch (direct wheel URL — must update to matching wheel)torchvision, torchaudio,
torchcodec, plus the nvidia-* runtime pins in the gpu extra. Grep the
gpu block rather than trusting this list — it grows.For NPU (npu / npu_aarch64 extras):
+cpu suffix or no suffixSteps:
pyproject.toml (extras, overrides, sources)[tool.uv.sources] before editing:flash-attn cp311/cp312 x86_64-only,
flash-attn-3 abi3, flash-mla): pinned to torch+CUDA+ABI-specific
wheels. A torch / Python / CUDA bump requires a matching upstream release
— see https://github.com/Luosuu/flash-attention3-wheels/releases.flash-attn-4, flash-qla): plain version pins in the
gpu extra. flash-qla is a pure-Python wheel whose static metadata
declares only apache-tvm-ffi, so it needs no
source build and no dependency-metadata override. tilelang is pinned
in override-dependencies because tile-kernels and flash-qla must
agree on one version — bump them as a set.magi-attention, create-block-mask-cuda,
flash-attn-cute, magi-to-hstu-cuda): each needs a
[[tool.uv.dependency-metadata]] block (upstream declares no usable
metadata) plus an extra-build-dependencies entry, and an
extra-build-variables entry where the build needs MAX_JOBS /
compute-capability flags (all but flash-attn-cute today).
A torch ABI bump may require bumping the git revs. These belong to the
optional magi extra and require SM90+; use uv sync --extra gpu --extra magi
to install them. GPU CI runs uv sync --extra gpu without magi, so
the SM89 L20 runners omit these source builds.torchcodec version if needed (compatibility note in pyproject.toml)uv lock
uv sync --extra gpu --devRun tests: pytest tests/
If the torch version changed, walk the Dockerfiles. Seven of them pin torch
directly — docker/rocm/Dockerfile.ROCm7.14 a ROCm build, and the ascend
*_torch_npu* images a torch-npu==X matched to it by fla_npu's
check_npu_env. The rest inherit torch from their base image
(docker/cuda/Dockerfile.cu130 from the NGC PyTorch base), so there is no
single knob. Match -npu too, or you will find one pin out of seven:
grep -rnE "torch(-npu)?==" docker/transformers is pinned by the transformers-stable dependency group
(pyproject.toml -> [dependency-groups] transformers-stable), which is
listed in [tool.uv] default-groups so uv sync installs it automatically.
Bump within v5 (e.g. 5.2.0 → 5.3.0):
[dependency-groups] transformers-stable.uv lock
uv sync --extra gpu --devveomni/ accordingly. Forward-looking
guards may be expressed with
is_transformers_version_greater_or_equal_to() from
veomni/utils/import_utils.py.pytest tests/models/ tests/e2e/make patchgen (with the target transformers installed)When uv.lock is out of sync or corrupt:
uv lock
uv sync --extra gpu --devIf uv lock fails due to version conflicts, check:
[tool.uv] -> conflicts declarationsoverride-dependencies markersdocker/ and no generator to fan a change out. grep -rn for the pin you are moving and update every hit.torch but not torchvision/torchaudio/torchcodec to matching versions causes import errors.uv.lock together. Docker builds use --locked which requires the lockfile to match.extra == 'gpu' markers in overrides are critical. Removing them causes uv to download wrong torch variants from PyPI.no-build-isolation-package block any more. Source builds instead get their toolchain from [tool.uv.extra-build-dependencies] (uv venvs are not seeded), and torch is passed with match-runtime = true where the extension links against it. If a source build fails on a missing setuptools/torch, add it there rather than reaching for --no-build-isolation.uv sync removes the MagiAttention SM90 CUTLASS overlay installed by scripts/kernel/install_magi_sm90.sh. Reinstall it afterwards (see constraints, "Environment Reproducibility").© ByteDance-Seed, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/veomni-uv-update of ByteDance-Seed/VeOmni.
Open the folder on GitHubat commit 8791a71
Veomni Uv Update next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Veomni Uv Update this skillByteDance-Seed/VeOmni | 2.2k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Megatron-LM Container and Dependency SetupNVIDIA/Megatron-LM | 18k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| OBS Plugin Dependency Upgradesorayuki/obs-multi-rtmp | 5.1k | — | ~609 | Automated safety check: Pass | GPL-2.0 | |
| CLIProxy Core Synccaidaoli/ccLoad | 419 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Rails Upgrade Assistantombulabs/claude-code_rails-upgrade-skill | 391 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Breaking Change Analysisruby-git/ruby-git | 1.8k | — | ~1.7k | Automated safety check: Pass | MIT |
NVIDIA/Megatron-LM
Walks an agent through working inside the Megatron-LM CI container and changing dependencies with uv, so lock files resolve the same locally and in CI.
sorayuki/obs-multi-rtmp
Updates the obs-multi-rtmp plugin repo to the latest upstream plugin template and OBS Studio version, including dependency metadata, then rebuilds it with CMake.
caidaoli/ccLoad
Syncs or audits ccLoad's CLIProxyAPI protocol-conversion core and registered provider adapters against one pinned upstream commit, then verifies the result.
ombulabs/claude-code_rails-upgrade-skill
Analyzes a Rails app and builds an upgrade report with breaking changes, deprecations and step-by-step migration guides, one version at a time from Rails 2.3 through 8.1.
ruby-git/ruby-git
Assesses what an API change would break before it is made, finds every usage, documents the impact and plans a deprecation or migration path.
mailcarrierapp/mailcarrier
Adds support for a new Laravel major to a package by extending composer.json constraints for illuminate, Testbench and Pest and the CI test matrix.
ByteDance-Seed/VeOmni
Create a pull request for the current branch. An agent skill from ByteDance-Seed/VeOmni.
ByteDance-Seed/VeOmni
A skill your agent uses for ANY bug, error, crash, wrong output, loss divergence, gradient explosion, test failure, CUDA error, distributed training hang, checkpoint load failure, or unexpected…
ByteDance-Seed/VeOmni
A skill your agent uses when adding support for a new model to VeOmni.
ByteDance-Seed/VeOmni
A skill your agent uses when adding a new optimized kernel or operator to veomni/ops/.
ByteDance-Seed/VeOmni
Author or refresh a VeOmni model's patchgen-generated modeling under generated/ — GPU and/or NPU config, dense or MoE, text / VLM / Omni.
ByteDance-Seed/VeOmni
A skill your agent uses for performance profiling and optimization.
Categories
A skill your agent uses when updating dependencies managed by uv: bumping a package version, upgrading the uv tool itself, updating torch/CUDA stack, switching transformers version, or regenerating…. Veomni Uv Update is an agent skill from ByteDance-Seed/VeOmni. Use this skill when updating dependencies managed by uv: bumping a package version, upgrading the uv tool itself, updating torch/CUDA stack, switching transformers version, or regenerating the lockfile.
Veomni Uv Update fits situations like: updating dependencies managed by uv: bumping a package version; upgrading the uv tool itself; updating torch/CUDA stack; switching transformers version.
Run `npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a claude-code`. Or copy the skill folder (.agents/skills/veomni-uv-update in ByteDance-Seed/VeOmni) into .claude/skills/veomni-uv-update in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a codex`. Or copy the skill folder (.agents/skills/veomni-uv-update in ByteDance-Seed/VeOmni) into .agents/skills/veomni-uv-update in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ByteDance-Seed/VeOmni --skill veomni-uv-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/veomni-uv-update, .gemini/skills/veomni-uv-update, .github/skills/veomni-uv-update and .opencode/skills/veomni-uv-update in your project.
Going by SKILL.md and its folder, Veomni Uv Update needs the command-line tools its instructions call (uv, pytest, git and make). Our summary lists: Python 3; Docker.
SKILL.md names 2 domains. As links in the text: download.pytorch.org and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Veomni Uv Update is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Veomni Uv Update: Megatron-LM Container and Dependency Setup (NVIDIA/Megatron-LM, 18k stars), OBS Plugin Dependency Upgrade (sorayuki/obs-multi-rtmp, 5.1k stars), CLIProxy Core Sync (caidaoli/ccLoad, 419 stars) and Rails Upgrade Assistant (ombulabs/claude-code_rails-upgrade-skill, 391 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ByteDance-Seed (a GitHub organization) maintains it in ByteDance-Seed/VeOmni, which has 2,235 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 10, 2026.
Source: ByteDance-Seed/VeOmni on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.