Agent skill

Precheck PR

by vllm-project in vllm-project/vllm-omni

Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Precheck PR

skills CLI
$ npx skills add vllm-project/vllm-omni --skill precheck-pr -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install vllm-project/vllm-omni precheck-pr --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/vllm-project/vllm-omni.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/precheck-pr .claude/skills/precheck-pr && rm -rf skills-src

Use ~/.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/

Facts

Skill name
precheck-pr
GitHub stars
7.1k
Token cost
~1.4k tokens
SKILL.md length
545 words
Files
4 (incl. references)
Skills in repo
20
Repo updated
First seen
Licence
Apache-2.0

At a glance

Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness.

  • Works in 5 steps: Detect Base Branch → Validate PR Title → Categorize the PR → …
  • The user says precheck
  • SKILL.md covers Mode Selection and Workflow
  • Calls git

What it does

Precheck PR is an agent skill from vllm-project/vllm-omni. Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness. Use when the user says "precheck", "self review", "pre-submit check", or "check my PR before I open it." Never posts to GitHub.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/checklists.md`, `references/code-quality.md` and `references/examples-policy.md`).

It sits in AI & LLM Engineering, covering Verification before completion. It works with vLLM, GitHub and Python. The repository describes itself as: A framework for efficient model inference with omni-modality models. The licence is Apache-2.0.

When your agent uses it

  • The user says precheck
  • Pre-submit check
  • Check my PR before I open it. Never posts to GitHub

Example prompts

  • “precheck”
  • “self review”
  • “pre-submit check”
  • “/precheck-pr”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Detect Base Branch
  2. Validate PR Title
  3. Categorize the PR
  4. Run Checklist
  5. Print Report

What it can do on your machine

Read from SKILL.md and the folder at commit 88a35c0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Precheck PR loads about 1.4k tokens when it runs, and up to ~8.2k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 545 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from vllm-project/vllm-omni at commit 88a35c0, republished under its Apache-2.0 licence (© vllm-project). 545 words, ~1,433 tokens.

Download SKILL.mdSave it as .claude/skills/precheck-pr/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
precheck-pr
description
Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness. Use when the user says "precheck", "self review", "pre-submit check", or "check my PR before I open it." Never posts to GitHub.

PR Pre-Check

Self-review your branch before creating a PR against vllm-project/vllm-omni. Two modes: quick catches showstoppers, full does a thorough maintainer-grade review. Never posts to GitHub; the report is for the contributor's terminal only.

Mode Selection

ModeWhenTime
QuickAbout to push, final sanity check~3 min
FullReady for review, want maintainer-level scan~10 min

Default to quick if unsure. Run full before marking a PR "ready for review."

Workflow

Step 1: Detect Base Branch
bash
BASE_SHA=$(git merge-base HEAD origin/main 2>/dev/null \
         || git merge-base HEAD main 2>/dev/null \
         || echo origin/main)
echo "diffing against ${BASE_SHA}"
git diff --name-only ${BASE_SHA}...HEAD
Step 2: Validate PR Title

Check the most recent commit message (or branch name if no commit yet) against the project convention. Valid prefixes:

PrefixApplies to
[Bugfix]Bug fixes
[CI/Build]Build or CI improvements
[Doc]Documentation changes
[Model]New/improved models (include model name)
[Frontend]Frontend changes (API server, OmniLLM class, etc.)
[Kernel]CUDA/kernel changes
[Core]Core logic changes (OmniProcessor, OmniARScheduler, etc.)
[Hardware][Vendor]Hardware-specific (e.g., [Hardware][Ascend])
[Misc]Other changes (use sparingly)

✗ if: missing prefix, wrong case ([bugfix]), or WIP/Draft in title. ⚠ if: [Model] prefix without the model identifier (e.g., [Model] Add new model — should be [Model] Add <ModelName> ...).

Step 3: Categorize the PR
Diff containsPR type
New files under vllm_omni/model_executor/models/<name>/New Model
Changes to vllm_omni/diffusion/Diffusion Model
[Bugfix] prefix or single-file fixBug Fix
Perf/benchmark/throughput claims in commit msg or diffPerformance
Everything elseGeneral

If multiple rows apply (e.g., a diffusion model is also a new model), union the checklists.

Step 4: Run Checklist

Ask: "Quick mode or full mode?" Then walk the checklist for the detected PR type from references/checklists.md. Each item produces ✓, ✗, or ⚠.

Also run the Code-Quality sweep on every PR, regardless of type or mode: the five diff-scoped checks in references/code-quality.md — kwargs fragility, broad-except swallow, Any/wrong type hints, hot-path .clone()/deepcopy, and event-loop blocking — plus the advisory conventions (log level, structured logging, synchronization, cleanup, dependencies, naming) in checklists.md. These count only lines the PR adds — the pre-existing backlog across the repo is out of scope.

Also run the Examples-Policy check on every PR using references/examples-policy.md. Inspect only Python paths introduced by the diff. Treat a new model-, checkpoint-, vendor-, or family-specific Python example as blocking; do not report pre-existing example debt.

Show full SKILL.md (193 more words)Show less

Also run the Simplification pass on every PR using find-simplifications. Keep it diff-scoped: inspect added or modified public APIs, state, abstractions, fallback and compatibility paths, data movement, and only the adjacent ownership needed to prove a candidate. Do not expand the pass into a repository-wide audit. Zero candidates is a valid pass; report only evidence-backed opportunities. Mark a candidate as blocking only when it proves a correctness or merge-readiness problem, such as newly unreachable code. Otherwise report it as a warning.

Also confirm local pre-commit gates from docs/contributing/README.md. GitHub Actions SKIP does not prove they passed. Full new-hook list: Omni SPDX (vLLM-Omni project); forbidden imports (stdlib re/base64, pickle, Hugging Face Hub API, Triton/TileLang); no new torch.cuda call sites; shellcheck (macOS/Windows must install the binary); mypy-3.10; test files have CI level + hardware marks; TTS _tts_model_type branches in serving_speech.py must not increase; markdownlint on docs/; Buildkite YAML schema. ✗ for growing allowed_files / ALLOWED_FILES or raising MAX_MODEL_TYPE_BRANCHES without review.

Step 5: Print Report
Pre-check report for <branch>

  Mode: quick | full
  Type: <new-model | diffusion-model | bug-fix | perf | general>

  Dimension          Result
  ─────────────────  ──────
  PR title format    ✓
  Code quality       ⚠ 1 broad except, 2 Any hints
  Examples policy    ✗ new model-specific Python example
  Simplification     ⚠ helper duplicates an existing owner
  PR desc integrity  ✓
  Registry/config    ✓
  Dead code          ⚠ 2 warnings
  Accuracy           ✓
  Benchmark          ✗ missing software versions

  Verdict: 1 blocking | 2 warnings | recommend fixing ✗ before PR

Severity:

MarkMeaning
✗Blocking — fix before opening PR
⚠Warning — consider fixing
✓Pass
—Skipped (not applicable)
Stop Here

Do not post comments, open PRs, or modify files. The report is for the contributor's terminal only.

© vllm-project, 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

Files

SKILL.md and 3 other files (references) in .claude/skills/precheck-pr of vllm-project/vllm-omni.

  • SKILL.md
  • references/checklists.md
  • references/code-quality.md
  • references/examples-policy.md

Open the folder on GitHubat commit 88a35c0

Compare with similar skills

Precheck 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.

Precheck PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Precheck PR this skillvllm-project/vllm-omni7.1k—~1.4kAutomated safety check: PassApache-2.0
Debug Sessionai-dynamo/dynamo8.3k—~1.2kAutomated safety check: PassApache-2.0
Copilot SDKgithub/awesome-copilot40k4 repos~6.3kAutomated safety check: PassMIT
Ascend Release Manager for vLLMvllm-project/vllm-ascend2.9k—~7.2kAutomated safety check: PassApache-2.0
Dstack Prototypingdstackai/dstack2.3k—~1.6kAutomated safety check: PassMPL-2.0
Homepage Generatorwanshuiyin/ARIS-in-AI-Offer583—~4.8kAutomated safety check: NotesMIT

Similar skills

  • Debug Session

    ai-dynamo/dynamo

    Sets up a structured debugging session for a Dynamo bug — pull the report from a Linear ticket, GitHub issue, or pasted text, capture the environment, create a persistent worklog markdown file, and…

    8.3k GitHub stars~1.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Copilot SDK

    github/awesome-copilot

    Official

    Build agentic applications with GitHub Copilot SDK. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 4 repos~6.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Ascend Release Manager for vLLM

    vllm-project/vllm-ascend

    Runs the end-to-end vLLM Ascend release process: opens the release checklist and feedback issues, scans for release-blocking bugs and test coverage gaps, and generates release notes and announcements.

    2.9k GitHub stars~7.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Dstack Prototyping

    dstackai/dstack

    Use with the dstack skill for model-serving work when the image, serving command, resources, backend/fleet choice, or service behavior is not proven.

    2.3k GitHub stars~1.6k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Homepage Generator

    wanshuiyin/ARIS-in-AI-Offer

    Generate a fact-checked academic personal homepage from a CV, optionally augmented by an existing manual homepage and an assets directory.

    583 GitHub stars~4.8k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check: notes
  • One Eval

    OpenDCAI/One-Eval

    驱动 One-Eval 对 API 或本地模型做端到端评测,覆盖纯文本、多模态、代码生成、函数调用和 Agent benchmark。当用户想评测模型在一个或多个 benchmark 上的表现、比较分数、补充 metric,或生成图文评测报告时使用本 skill。

    165 GitHub stars~2.4k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed

More from vllm-project/vllm-omni

All 20 skills in this repo
  • Diffusion Perf Opt

    vllm-project/vllm-omni

    Diagnose and optimize vLLM Omni diffusion workloads, especially Wan/Qwen/Flux-style image and video generation.

    7.1k GitHub stars~7.5k tokensUpdated today
    Auto-check passed
  • Quantization

    vllm-project/vllm-omni

    Work on vLLM-Omni quantization for diffusion, autoregressive, omni, or multi-stage models.

    7.1k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Review PR

    vllm-project/vllm-omni

    Review pull requests and local branches for vllm-project/vllm-omni with a frozen snapshot, module-design ownership, feature-design overlays, targeted validation, and concise evidence-backed findings.

    7.1k GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • H3 Prompt Writing

    vllm-project/vllm-omni

    Write MiniMax H3 video generation prompts for T2VA, I2VA, FL2VA, L2VA, and Ref2VA.

    7.1k GitHub starsUsed in 6 repos~744 tokens
    Auto-check passed
  • Add Diffusion Model

    vllm-project/vllm-omni

    Add a new diffusion model (text-to-image, text-to-video, image-to-video, text-to-audio, image editing) to vLLM-Omni, including native non-Diffusers ports, reference-parity validation, Cache-DiT…

    7.1k GitHub stars~7k tokensUpdated today
    Auto-check passed
  • Add Recipe

    vllm-project/vllm-omni

    Add or update an in-repository vLLM-Omni model recipe with verified task, input, output, hardware, command, feature, and validation contracts.

    7.1k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Questions about Precheck PR

What does Precheck PR do?

Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness. Precheck PR is an agent skill from vllm-project/vllm-omni. Self-check your branch before creating a PR — catch dead code, prevent new model-specific Python examples, verify accuracy/perf claims, validate PR title format, and confirm merge readiness.

When should I use Precheck PR?

Precheck PR fits situations like: the user says precheck; pre-submit check; check my PR before I open it. Never posts to GitHub.

How do I install Precheck PR in Claude Code?

Run `npx skills add vllm-project/vllm-omni --skill precheck-pr -a claude-code`. Or copy the skill folder (.claude/skills/precheck-pr in vllm-project/vllm-omni) into .claude/skills/precheck-pr in your project. Claude Code loads it when a task matches its description.

How do I install Precheck PR in Codex?

Run `npx skills add vllm-project/vllm-omni --skill precheck-pr -a codex`. Or copy the skill folder (.claude/skills/precheck-pr in vllm-project/vllm-omni) into .agents/skills/precheck-pr in your project. Codex loads it when a task matches its description.

Can I use Precheck PR in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vllm-project/vllm-omni --skill precheck-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/precheck-pr, .gemini/skills/precheck-pr, .github/skills/precheck-pr and .opencode/skills/precheck-pr in your project.

What does Precheck PR need to run?

Going by SKILL.md and its folder, Precheck PR needs the command-line tools its instructions call (git). Our summary lists: Python 3.

Does Precheck PR access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Precheck PR safe to install?

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.

What licence does Precheck PR use?

Precheck 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.

How many tokens does Precheck PR use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.8k tokens, read only when the agent opens those files.

What are the alternatives to Precheck PR?

Skills that share tags, products or a category with Precheck PR: Debug Session (ai-dynamo/dynamo, 8.3k stars), Copilot SDK (github/awesome-copilot, 40k stars), Ascend Release Manager for vLLM (vllm-project/vllm-ascend, 2.9k stars) and Dstack Prototyping (dstackai/dstack, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Precheck PR?

vllm-project (a GitHub organization) maintains it in vllm-project/vllm-omni, which has 7,097 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 9, 2026.

Source: vllm-project/vllm-omni on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.