Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Create a pull request for the current branch. An agent skill from ByteDance-Seed/VeOmni.
$ npx skills add ByteDance-Seed/VeOmni --skill create-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ByteDance-Seed/VeOmni create-pr --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/create-pr .claude/skills/create-pr && 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 "create-pr" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/create-pr into .claude/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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/create-prType 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 create-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ByteDance-Seed/VeOmni create-pr --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/create-pr .agents/skills/create-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "create-pr" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/create-pr into .agents/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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 create-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ByteDance-Seed/VeOmni create-pr --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/create-pr .cursor/skills/create-pr && 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 "create-pr" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/create-pr into .cursor/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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/create-pr--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 create-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ByteDance-Seed/VeOmni create-pr --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/create-pr .gemini/skills/create-pr && 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 "create-pr" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/create-pr into .gemini/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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 create-prInstalls 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 create-pr -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/create-pr .github/skills/create-pr && 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 "create-pr" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/create-pr into .github/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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 create-pr -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 create-pr --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/create-pr .opencode/skills/create-pr && 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 "create-pr" agent skill from https://github.com/ByteDance-Seed/VeOmni/tree/main/.agents/skills/create-pr into .opencode/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-pr", 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.
create-prCreate a pull request for the current branch. An agent skill from ByteDance-Seed/VeOmni.
Create PR is an agent skill from ByteDance-Seed/VeOmni. Create a pull request for the current branch. Handles uncommitted changes, generates a PR title matching the [{modules}] {type}: {description} format enforced by CI, and fills in the PR description template. Trigger: 'create pr', 'open pr', 'submit pr', 'make pr'.
Its SKILL.md is about 1.6k 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 Pull requests. The repository describes itself as: VeOmni: Scaling Any Modality Model Training with Model-Centric Distributed Recipe Zoo. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 16c94aa. 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:
gitmakeghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From 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.
Create PR loads about 1.6k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 722 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 noted patterns worth knowing about, such as sudo or a known installer.
ke quality`, stage relevant files (skip `.env`, credentials, large binaries), commit.sitive files** before committing — skip `.env`, credentials, large binaries and warn the user.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 16c94aa, republished under its Apache-2.0 licence (© ByteDance-Seed). 722 words, ~1,628 tokens.
.claude/skills/create-pr/SKILL.md (or your agent's skills folder).Minimize confirmations. The only user confirmation is for uncommitted changes (Step 1.3). Everything after that — drafting, writing file, pushing, creating PR — runs automatically. Tool-level permission prompts (file write, git push) serve as implicit confirmation; do not add extra "are you sure?" pauses on top.
Identify current branch:
git branch --show-currentIf on main — stop and ask the user to create a feature branch first.
Determine base branch: use main unless the user specifies otherwise.
Check for uncommitted changes (only confirmation point):
git status
git diff --statIf there are staged or unstaged changes, show a summary and ask the user:
"There are uncommitted changes. Commit them before creating the PR?"
make quality, stage relevant files (skip .env, credentials, large binaries), commit.make quality fails: stop and report errors.Check for existing PR on this branch:
gh pr view --json number,title,body 2>/dev/nullNote the PR number if one exists.
Check commits ahead of base:
git log origin/main..HEAD --onelineIf the branch has no commits ahead of main, stop — nothing to open a PR for.
Collect the full diff against the base branch:
git diff main...HEAD
git log main..HEAD --onelineIdentify affected modules by mapping changed file paths to allowed module names:
| Path prefix | Module |
|---|---|
veomni/models/ | model |
veomni/trainer/ | trainer |
veomni/data/ | data |
veomni/distributed/ | dist (use parallel when the change is about a parallelism strategy rather than the plumbing) |
veomni/ops/ | ops |
veomni/checkpoint/ | ckpt |
veomni/optim/ | optim |
veomni/lora/ | lora |
configs/ | config |
docs/ | docs |
tests/, .github/workflows/ | ci |
docker/ | docker |
tasks/ | task |
.agents/ | agent |
| anything with a measurable speed/memory claim | add perf |
| other / mixed | misc |
omni, logging and release have no directory of their own — use them
for omni-model, log/telemetry-surface and release-plumbing changes
respectively.
The authoritative module and type lists live in
.github/workflows/check_pr_title.yml (allowedModules / allowedTypes).
Read it rather than trusting this table if a name is rejected.
Determine change type:
| Type | When |
|---|---|
feat | New functionality or capability |
fix | Bug fix |
refactor | Same behavior, better structure |
chore | Maintenance, cleanup, config changes |
test | Test-only changes |
Apply /veomni-review before pushing. Use its applicability rules for
<base>...HEAD, including the documentation self-check and the narrowly
defined exemption for clean, exact reverts or approved-diff reapplications.
Partial reverts, extra edits and conflict resolutions need the normal gate.
Review again before a substantive update to an open PR. A risky verdict
stops the PR: report it and wait for the user.
Draft PR title in [{modules}] {type}: {description} format:
[model, data] feat: ...[BREAKING].github/workflows/check_pr_title.ymlDraft the PR description by reading .github/PULL_REQUEST_TEMPLATE.md
and filling in its sections. Do not reproduce the template from memory — it
changes, and a stale copy silently drops checklist items.
Write to .pr-drafts/ (already in .gitignore):
mkdir -p .pr-draftsFilename convention:
.pr-drafts/<pr-number>.md (e.g. .pr-drafts/123.md).pr-drafts/<branch-name>.md — renamed to PR# after creation.File format — first line is the PR title, blank line, then the description body:
[model] feat: add support for Qwen4
<sections copied from .github/PULL_REQUEST_TEMPLATE.md, filled in>Keep the template's own bullet/checkbox style. Fill every section: an empty
### Test section is the most common review blocker. If the PR adds an
extension point (a mixin, hook or callback other modules must implement),
name its docs/ page under Design & Code Changes; with no such page,
write it first (see "Documenting an extension point" in /veomni-develop)
rather than claiming "Added/updated documentation".
Tell the user the draft file path (so they know where to find it if they want to review later).
Push the branch:
git push -u origin HEADCreate or update:
--body-file to avoid shell escaping issues):# Extract body from draft file (everything after the first blank line)
tail -n +3 .pr-drafts/<branch-name>.md > /tmp/pr-body.md
gh pr create --base <base-branch> --title "<title>" --body-file /tmp/pr-body.md<branch-name>.md to <pr-number>.md.tail -n +3 .pr-drafts/<pr-number>.md > /tmp/pr-body.md
gh pr edit <pr-number> --title "<title>" --body-file /tmp/pr-body.mdOutput the PR URL and the draft file path.
.env, credentials, large binaries and warn the user.© 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/create-pr of ByteDance-Seed/VeOmni.
Open the folder on GitHubat commit 16c94aa
Create PR 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 |
|---|---|---|---|---|---|---|
| Create PR this skillByteDance-Seed/VeOmni | 2.2k | — | ~1.6k | Automated safety check: Notes | Apache-2.0 | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| PR Design DocOpenHands/OpenHands | 90k | — | ~2.4k | Automated safety check: Pass | MIT | |
| WooCommerce Code Reviewwoocommerce/woocommerce | 11k | 3 repos | ~1.1k | Automated safety check: Pass | Custom licence |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
woocommerce/woocommerce
Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.
payloadcms/payload
A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.
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.
ByteDance-Seed/VeOmni
Pre-PR code review gate. An agent skill from ByteDance-Seed/VeOmni.
Categories
Create a pull request for the current branch. An agent skill from ByteDance-Seed/VeOmni. Create PR is an agent skill from ByteDance-Seed/VeOmni. Create a pull request for the current branch.
Create PR fits situations like: tasks that involve Pull requests.
Run `npx skills add ByteDance-Seed/VeOmni --skill create-pr -a claude-code`. Or copy the skill folder (.agents/skills/create-pr in ByteDance-Seed/VeOmni) into .claude/skills/create-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ByteDance-Seed/VeOmni --skill create-pr -a codex`. Or copy the skill folder (.agents/skills/create-pr in ByteDance-Seed/VeOmni) into .agents/skills/create-pr 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 create-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-pr, .gemini/skills/create-pr, .github/skills/create-pr and .opencode/skills/create-pr in your project.
Going by SKILL.md and its folder, Create PR needs the command-line tools its instructions call (git, make and gh). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Create PR 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 1.6k tokens (SKILL.md is roughly 6.5k 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 Create PR: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 90k 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 9, 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.