Agent skill

Run Cpu Tests

by verl-project in verl-project/verl-omni

How to write and run verl-omni CPU tests (testoncpu.py) that exercise adapters, rewards, and configs without a GPU or model weights.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Run Cpu Tests

skills CLI
$ npx skills add verl-project/verl-omni --skill run-cpu-tests -a claude-code

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

GitHub CLI
$ gh skill install verl-project/verl-omni run-cpu-tests --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/verl-project/verl-omni.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/run-cpu-tests .claude/skills/run-cpu-tests && 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
run-cpu-tests
GitHub stars
1.2k
Token cost
~673 tokens
SKILL.md length
258 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

How to write and run verl-omni CPU tests (testoncpu.py) that exercise adapters, rewards, and configs without a GPU or model weights.

  • Reproducing a failure locally
  • SKILL.md covers What CI does that the guide's…, Idioms the guide leaves to the… and Before opening a PR
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Producing the test evidence a PR body requires

What it does

Run Cpu Tests is an agent skill from verl-project/verl-omni. How to write and run verl-omni CPU tests (testoncpu.py) that exercise adapters, rewards, and configs without a GPU or model weights. Use when adding tests, reproducing a failure locally, or producing the test evidence a PR body requires.

Its SKILL.md is about 670 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 AI & LLM Engineering, covering Pull requests. The repository describes itself as: Multimodal RL training framework for diffusion & omni models. The licence is Apache-2.0.

When your agent uses it

  • Reproducing a failure locally
  • Producing the test evidence a PR body requires

Example prompts

  • “/run-cpu-tests”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 6195598. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

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

  • Network

    No URLs in SKILL.md.

    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

Run Cpu Tests loads about 673 tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 258 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~673

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 verl-project/verl-omni at commit 6195598, republished under its Apache-2.0 licence (© verl-project). 258 words, ~673 tokens.

Download SKILL.mdSave it as .claude/skills/run-cpu-tests/SKILL.md (or your agent's skills folder).
name
run-cpu-tests
description
How to write and run verl-omni CPU tests (test_*_on_cpu.py) that exercise adapters, rewards, and configs without a GPU or model weights. Use when adding tests, reproducing a failure locally, or producing the test evidence a PR body requires.

Run & Write CPU Tests

docs/contributing/testing_guide.md is authoritative for the layer hierarchy, the *_on_cpu.py naming rule, placement, coverage, the local pytest invocations, and the steps for adding a test. Follow it. This skill adds what it does not cover.

What CI does that the guide's local commands don't

  • The CPU job exports TORCH_COMPILE_DISABLE=1 and TORCHINDUCTOR_DISABLE=1 (.github/workflows/cpu_unit_tests.yml). Set both locally when reproducing a failure that only CI sees.
  • On pull requests the job triggers on types: [labeled] and only when the label is ci — a green checks page on an unlabelled PR means the tests never ran. The label is single-use: drop-ci-labels.yml removes it on every synchronize, so a new push does not re-run the job until you re-add ci.
  • tests/special_sanity/ runs as its own job; those files are test_*.py, so the CPU job's python_files override deliberately skips them.

Idioms the guide leaves to the reader

Configs — construct normally:

python
cfg = DiffusionLossConfig(loss_mode="flow_dppo")

Bypass __init__ only when __post_init__ does I/O (loading tokenizers, resolving paths), as DiffusionModelConfig does:

python
cfg = object.__new__(DiffusionModelConfig)
object.__setattr__(cfg, "architecture", "QwenImagePipeline")
object.__setattr__(cfg, "algorithm", "dpo")

object.__setattr__ is needed because BaseConfig gates assignment through _mutable_fields, not because the dataclass is frozen (config.md). Reaching for this where plain construction works is a review comment.

Mocks and assertions — MagicMock the transformer and assert on call args and output shapes rather than on real model output. TensorDict batches usually carry metadata, not pixels (TensorDict({}, batch_size=2) plus the fields under test). Use torch.testing.assert_close(a, b, rtol=..., atol=...) for tensors and pytest.approx for scalars — never .equal() on floats.

Before opening a PR

Paste the command and its output into the PR body (mandatory — commit-and-pr), then run pre-commit run --all-files.

<!--
MAINTAINER GUIDE — keep this to the delta over docs/contributing/testing_guide.md.
Update when cpu_unit_tests.yml changes its env or its label gate, or when the
config-construction idiom changes.
-->

© verl-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

Just SKILL.md in .agents/skills/run-cpu-tests of verl-project/verl-omni.

Open the folder on GitHubat commit 6195598

Compare with similar skills

Run Cpu Tests 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.

Run Cpu Tests compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Cpu Tests this skillverl-project/verl-omni1.2k—~673Automated safety check: PassApache-2.0
Contextpilot SavingsEfficientContext/ContextPilot140—~1.4kAutomated safety check: PassMIT
Vllm Rlt Review PRThinkFlowLab/vllm-rlt140—~1.1kAutomated safety check: PassApache-2.0
Find Simplificationsvllm-project/vllm-omni7.1k—~2.7kAutomated safety check: PassApache-2.0
Qv SDK PR Createtetherto/qvac681—~4.4kAutomated safety check: PassApache-2.0
Qv Qip Triagetetherto/qvac681—~746Automated safety check: PassApache-2.0

Similar skills

  • Contextpilot Savings

    EfficientContext/ContextPilot

    A skill your agent uses when a user asks how many tokens (or how much context/cost) ContextPilot has saved, or wants a ContextPilot savings status/summary inside Hermes Agent — e.g.

    140 GitHub stars~1.4k tokensUpdated 6 days ago
    AI & LLM EngineeringAuto-check passed
  • Vllm Rlt Review PR

    ThinkFlowLab/vllm-rlt

    Review PRs and local changes for hsliuustc0106/vllm-rlt: Ouro engine and KV correctness, serving behavior, and BF16 accuracy/speed evidence.

    140 GitHub stars~1.1k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Find Simplifications

    vllm-project/vllm-omni

    Find evidence-backed simplification candidates in vLLM-Omni and, when requested, turn them into focused proposals or code changes.

    7.1k GitHub stars~2.7k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Qv SDK PR Create

    tetherto/qvac

    Generate PR descriptions for SDK pod packages following template and format rules.

    681 GitHub stars~4.4k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Qv Qip Triage

    tetherto/qvac

    Use during planning, implementation, PR review, or /qv-qip-triage when a change may affect public SDK API, native dependency, plugin contract, model registry contract, runtime, transport, storage…

    681 GitHub stars~746 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Repo Development

    VectorSpaceLab/AREX-Skill

    A skill your agent uses when modifying PEFT itself, preparing a PEFT pull request, adding a new PEFT method, selecting contributor tests, or checking PEFT contribution/style/backward-compatibility…

    328 GitHub stars~746 tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed

More from verl-project/verl-omni

  • Add Pipeline

    verl-project/verl-omni

    Router for adding a diffusion or omni pipeline to verl-omni.

    1.2k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Add Reward Score

    verl-project/verl-omni

    Guide for adding a new reward scorer to verl-omni and wiring it into a run.

    1.2k GitHub stars~648 tokensUpdated yesterday
    Auto-check passed
  • Profile

    verl-project/verl-omni

    Route a verl-omni performance investigation to the right tool and capture a usable trace.

    1.2k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Commit And PR

    verl-project/verl-omni

    verl-omni commit message + PR conventions and the mandatory contribution policy.

    1.2k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Self Review

    verl-project/verl-omni

    Review your own verl-omni branch against the project rubric before opening or updating a PR.

    1.2k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Train Infer Consistency

    verl-project/verl-omni

    Route verl-omni training/inference consistency checks through MindStudio's MSProbe collection and root-cause analysis skills.

    1.2k GitHub stars~860 tokensUpdated yesterday
    Auto-check passed

Questions about Run Cpu Tests

What does Run Cpu Tests do?

How to write and run verl-omni CPU tests (testoncpu.py) that exercise adapters, rewards, and configs without a GPU or model weights. Run Cpu Tests is an agent skill from verl-project/verl-omni.py) that exercise adapters, rewards, and configs without a GPU or model weights.

When should I use Run Cpu Tests?

Run Cpu Tests fits situations like: reproducing a failure locally; producing the test evidence a PR body requires.

How do I install Run Cpu Tests in Claude Code?

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

How do I install Run Cpu Tests in Codex?

Run `npx skills add verl-project/verl-omni --skill run-cpu-tests -a codex`. Or copy the skill folder (.agents/skills/run-cpu-tests in verl-project/verl-omni) into .agents/skills/run-cpu-tests in your project. Codex loads it when a task matches its description.

Can I use Run Cpu Tests 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 verl-project/verl-omni --skill run-cpu-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-cpu-tests, .gemini/skills/run-cpu-tests, .github/skills/run-cpu-tests and .opencode/skills/run-cpu-tests in your project.

What does Run Cpu Tests need to run?

SKILL.md names no scripts, command-line tools or credentials: Run Cpu Tests is instructions for the agent only. Our summary lists: Python 3.

Does Run Cpu Tests access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Run Cpu Tests 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 Run Cpu Tests use?

Run Cpu Tests 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 Run Cpu Tests use?

About 673 tokens (SKILL.md is roughly 2.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run Cpu Tests?

Skills that share tags, products or a category with Run Cpu Tests: Contextpilot Savings (EfficientContext/ContextPilot, 140 stars), Vllm Rlt Review PR (ThinkFlowLab/vllm-rlt, 140 stars), Find Simplifications (vllm-project/vllm-omni, 7.1k stars) and Qv SDK PR Create (tetherto/qvac, 681 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Cpu Tests?

verl-project (a GitHub organization) maintains it in verl-project/verl-omni, which has 1,196 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

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