Compose Multiplatform Patterns
monta-app/ocpp-emulator
Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.
Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench.
$ npx skills add nwjs/chromium.src --skill loadline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nwjs/chromium.src loadline --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/nwjs/chromium.src.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/skills/loadline .claude/skills/loadline && 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 "loadline" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/loadline into .claude/skills/loadline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loadline", 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/nwjs/chromium.src/tree/main/agents/skills/loadlineType 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 nwjs/chromium.src --skill loadline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nwjs/chromium.src loadline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .agents/skills && cp -r skills-src/agents/skills/loadline .agents/skills/loadline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "loadline" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/loadline into .agents/skills/loadline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loadline", 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 nwjs/chromium.src --skill loadline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nwjs/chromium.src loadline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/agents/skills/loadline .cursor/skills/loadline && 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 "loadline" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/loadline into .cursor/skills/loadline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loadline", 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/nwjs/chromium.src.git --path agents/skills/loadline--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 nwjs/chromium.src --skill loadline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nwjs/chromium.src loadline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/agents/skills/loadline .gemini/skills/loadline && 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 "loadline" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/loadline into .gemini/skills/loadline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loadline", 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 nwjs/chromium.src loadlineInstalls 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 nwjs/chromium.src --skill loadline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .github/skills && cp -r skills-src/agents/skills/loadline .github/skills/loadline && 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 "loadline" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/loadline into .github/skills/loadline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loadline", 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 nwjs/chromium.src --skill loadline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nwjs/chromium.src loadline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nwjs/chromium.src.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/agents/skills/loadline .opencode/skills/loadline && 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 "loadline" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/loadline into .opencode/skills/loadline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "loadline", 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.
loadlineRunning and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench.
Loadline is an agent skill from nwjs/chromium.src. Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench. Use when you need to measure page loading performance, evaluate performance-related changes in Chrome, or collect Perfetto traces with realistic Chrome workload.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Mobile. It works with Android. The repository describes itself as: Chromium codebase with NW.js modifications. Based on https://chromium.googlesource.com/chromium/src.git. The licence is BSD-3-Clause.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a9e8946. 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:
adbFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Loadline loads about 1.3k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 473 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 nwjs/chromium.src at commit a9e8946, republished under its BSD-3-Clause licence (© nwjs). 473 words, ~1,253 tokens.
.claude/skills/loadline/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill guides the usage of LoadLine benchmarks to measure browser page loading performance by simulating real-world user journeys (loading a web page).
Read third_party/crossbench/config/benchmark/loadline2/README.md for basic
info on the LoadLine benchmark.
The entry point for all LoadLine benchmarks is the Crossbench script:
third_party/crossbench/cb.py
third_party/crossbench/cb.py <variant> --browser=<browser> --stories=<stories> --repetitions=<N>| Variant | Description |
|---|---|
loadline2-phone | The latest LoadLine 2 benchmark optimized for mobile phones. |
loadline2-tablet | LoadLine 2 benchmark optimized for tablets. |
loadline-phone | Legacy LoadLine 1 benchmark for phones. |
loadline-tablet | Legacy LoadLine 1 benchmark for tablets. |
*-debug | Appends more tracing categories for easier debugging. |
--browser)--browser=adb:chrome (if one device) or
--browser=$SERIAL:chrome.--browser=out/Release/chrome.--browser=chrome-stable, chrome-canary, etc.--stories)Default stories for LoadLine 2:
amazon_productcnn_articlewikipedia_articleglobo_homepagegoogle_search_resultSkip --stories flag to run everything or provide a comma-separated list for
specific stories.
LoadLine outputs two kinds of numbers: scores and breakdown.
Scores are in runs-per-minute, so higher is better. The main metric is called TOTAL_SCORE, this is the most stable and representative number.
Breakdown values are in milliseconds, so lower is better. Can be useful for analyzing which loading stage was affected in particular.
You can find the exact version of Chrome being tested in the benchmark logs by
looking for the 🏷️ STARTING BROWSER Version: line:
🏷️ STARTING BROWSER Version: 138.0.7204.168 stableRun the full benchmark on a connected Android device:
third_party/crossbench/cb.py loadline2-phone --browser=adb:chromeSee if a feature flag affects page loading performance:
third_party/crossbench/cb.py loadline2-phone --browser-config=feature_flag.hjsonwhere feature_flag.hjson looks like this:
{
flags: {
"experiment": {
"enabled": "--enable-features=YourFeature",
"disabled": "--disable-features=YourFeature",
},
},
browsers: {
"chrome": {
browser: "chrome",
driver: "adb",
flags: [ "experiment" ],
},
},
}Check if clank/bin/install_chrome.py exists. If not (chromium-only checkouts),
see the next section for building Chromium locally.
Use clank/bin/install_chrome.py to install past versions on the connected
device. E.g.
clank/bin/install_chrome.py --channel dev --milestone 146 --signedwill install M146 with "Dev" channel branding. You can use multiple brandings to compare versions on the same device. E.g. install Canary:
clank/bin/install_chrome.py --channel canary --milestone 147 --signedAnd then run LoadLine with two browsers:
third_party/crossbench/cb.py loadline2-phone --browser=adb:chrome-dev --browser=adb:chrome-canaryThis will compare M146 and M147 on the same device.
android_channel="canary" gn arg.adb shell pm uninstall com.chrome.canary (this command fails if it's not
installed; this is fine and can be ignored)adb install out/$OUT_DIR/apks/Chrome.apkthird_party/crossbench/cb.py loadline2-phone --browser=adb:chrome-canaryBefore running a full run on a custom-built Chrome, first try with a single repetition
third_party/crossbench/cb.py loadline2-phone --browser=adb:chrome-canary --repetitions=1Don't trust the numbers, they are going to be very noisy. Do it just to verify that the benchmark runs without errors.
© nwjs, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in agents/skills/loadline of nwjs/chromium.src.
Open the folder on GitHubat commit a9e8946
Loadline 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 |
|---|---|---|---|---|---|---|
| Loadline this skillnwjs/chromium.src | 160 | — | ~1.3k | Automated safety check: Pass | BSD-3-Clause | |
| Compose Multiplatform Patternsmonta-app/ocpp-emulator | 180 | 5 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Phone HarnessShawnPana/phone-harness | 3.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Stylesarindamxd/camerax-android | 132 | 4 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Verified Emailarindamxd/camerax-android | 132 | 4 repos | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| Argent Metro Debuggerbbplayer-app/BBPlayer | 1.1k | — | ~3.4k | Automated safety check: Pass | MIT |
monta-app/ocpp-emulator
Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.
ShawnPana/phone-harness
Control the user's phone — an iPhone through the Mac's iPhone Mirroring window, an Android over adb, or a rented cloud Android: open apps, tap, type, swipe, read the screen.
arindamxd/camerax-android
A skill your agent uses to integrate the Jetpack Compose Styles API into an Android project.
arindamxd/camerax-android
Provides a complete workflow for implementing verified email retrieval on Android Credential Manager API.
bbplayer-app/BBPlayer
Debug a JS runtime via CDP using argent debugger tools. An agent skill from bbplayer-app/BBPlayer.
afkT/DevUtils
统一 Android XML 资源命名:layout、drawable、mipmap、color、values、id 的前缀与 snakecase 规则;把颜色/圆角/描边/状态编码进文件名(bg、border、textcolor…selector)。
nwjs/chromium.src
Extracts raw trace data from Perfetto traces, runs arbitrary SQL queries for custom follow-up analysis, and applies expert cognitive principles (Tiered Flow Analysis, Semantic Mismatch, Redundancy)…
nwjs/chromium.src
Autonomous multi-agent performance optimization loop for Chromium and V8.
nwjs/chromium.src
Automated Tracing & Performance Telemetry in Chromium using Perfetto and Telemetry benchmarks.
nwjs/chromium.src
Queries Chrome commit, version, release, and milestone metadata.
nwjs/chromium.src
Search and reference Chromium documentation from the local docs index, including design docs, APIs, and development guides.
nwjs/chromium.src
Diagnose Chromium GN dependency and include-visibility failures, including BUILD.gn deps/publicdeps, DEPS include rules, private headers, and circular dependencies.
Works with
Categories
Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench. src. Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench.
Loadline fits situations like: you need to measure page loading performance; evaluate performance-related changes in Chrome; collect Perfetto traces with realistic Chrome workload.
Run `npx skills add nwjs/chromium.src --skill loadline -a claude-code`. Or copy the skill folder (agents/skills/loadline in nwjs/chromium.src) into .claude/skills/loadline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nwjs/chromium.src --skill loadline -a codex`. Or copy the skill folder (agents/skills/loadline in nwjs/chromium.src) into .agents/skills/loadline 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 nwjs/chromium.src --skill loadline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/loadline, .gemini/skills/loadline, .github/skills/loadline and .opencode/skills/loadline in your project.
Going by SKILL.md and its folder, Loadline needs the command-line tools its instructions call (adb).
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.
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.
Loadline is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 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 Loadline: Compose Multiplatform Patterns (monta-app/ocpp-emulator, 180 stars), Phone Harness (ShawnPana/phone-harness, 3.2k stars), Styles (arindamxd/camerax-android, 132 stars) and Verified Email (arindamxd/camerax-android, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nwjs (a GitHub organization) maintains it in nwjs/chromium.src, which has 160 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 3, 2026.
Source: nwjs/chromium.src on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.