Agent Skillsvllm-project/vllm-omni › precheck-pr

precheck-pr

GitHub

用于在提交PR前进行代码自审,检查标题格式、代码质量及示例策略,支持快速和完整两种模式,不直接操作GitHub。

.claude/skills/precheck-pr/SKILL.md vllm-project/vllm-omni

Trigger Scenarios

precheck self review pre-submit check check my PR before I open it

Install

npx skills add vllm-project/vllm-omni --skill precheck-pr -g -y
More Options

Non-standard path

npx skills add https://github.com/vllm-project/vllm-omni/tree/main/.claude/skills/precheck-pr -g -y

Use without installing

npx skills use vllm-project/vllm-omni@precheck-pr

指定 Agent (Claude Code)

npx skills add vllm-project/vllm-omni --skill precheck-pr -a claude-code -g -y

安装 repo 全部 skill

npx skills add vllm-project/vllm-omni --all -g -y

预览 repo 内 skill

npx skills add vllm-project/vllm-omni --list

SKILL.md

Frontmatter
{
    "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

Mode When Time
Quick About to push, final sanity check ~3 min
Full Ready 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

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:

Prefix Applies 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 contains PR type
New files under vllm_omni/model_executor/models/<name>/ New Model
Changes to vllm_omni/diffusion/ Diffusion Model
[Bugfix] prefix or single-file fix Bug Fix
Perf/benchmark/throughput claims in commit msg or diff Performance
Everything else General

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.

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
  PR desc integrity  ✓
  Registry/config    ✓
  Dead code          ⚠ 2 warnings
  Accuracy           ✓
  Benchmark          ✗ missing software versions

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

Severity:

Mark Meaning
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.

Version History

  • c3f8050 Current 2026-08-20 03:51

    新增示例策略(Examples Policy)检查规则到PR预检流程中。

  • e043818 2026-07-25 09:40

Same Skill Collection

.claude/skills/add-diffusion-model/SKILL.md
.claude/skills/add-tts-model/SKILL.md
.claude/skills/diffusion-perf-opt/SKILL.md
.claude/skills/quantization/SKILL.md
.claude/skills/vllm-omni-npu-upgrade/SKILL.md
.claude/skills/vllm-omni-test/SKILL.md
.claude/skills/review-pr/SKILL.md

Metadata

Files
0
Version
c3f8050
Hash
213223bd
Indexed
2026-07-25 09:40

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-27 06:14
浙ICP备14020137号-1 $Carte des visiteurs$