Android API Diff
gkd-kit/gkd
Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.
Guide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium.
$ npx skills add nwjs/chromium.src --skill android-test-batching -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nwjs/chromium.src android-test-batching --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/android-test-batching .claude/skills/android-test-batching && 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 "android-test-batching" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/android-test-batching into .claude/skills/android-test-batching/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-test-batching", 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/android-test-batchingType 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 android-test-batching -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nwjs/chromium.src android-test-batching --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/android-test-batching .agents/skills/android-test-batching && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "android-test-batching" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/android-test-batching into .agents/skills/android-test-batching/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-test-batching", 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 android-test-batching -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nwjs/chromium.src android-test-batching --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/android-test-batching .cursor/skills/android-test-batching && 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 "android-test-batching" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/android-test-batching into .cursor/skills/android-test-batching/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-test-batching", 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/android-test-batching--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 android-test-batching -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nwjs/chromium.src android-test-batching --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/android-test-batching .gemini/skills/android-test-batching && 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 "android-test-batching" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/android-test-batching into .gemini/skills/android-test-batching/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-test-batching", 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 android-test-batchingInstalls 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 android-test-batching -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/android-test-batching .github/skills/android-test-batching && 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 "android-test-batching" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/android-test-batching into .github/skills/android-test-batching/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-test-batching", 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 android-test-batching -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 android-test-batching --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/android-test-batching .opencode/skills/android-test-batching && 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 "android-test-batching" agent skill from https://github.com/nwjs/chromium.src/tree/main/agents/skills/android-test-batching into .opencode/skills/android-test-batching/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "android-test-batching", 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.
android-test-batchingGuide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium.
Android Test Batching is an agent skill from nwjs/chromium.src. Guide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium. Use this skill when optimizing Java instrumentation test runtimes, resolving test state leaks, or migrating tests to batched execution.
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 and Java. 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.
8 steps, taken from the step headings 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are java and bash).
From 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.
Android Test Batching loads about 1.3k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 361 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). 361 words, ~1,304 tokens.
.claude/skills/android-test-batching/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill provides step-by-step instructions for auditing, batching, and
migrating Chromium Android instrumentation tests (javatests) to
@Batch(Batch.PER_CLASS) and AutoResetCtaTransitTestRule.
AutoReset requires @Batch: AutoResetCtaTransitTestRule
(ChromeTransitTestRules.fastAutoResetCtaActivityRule()) is only useful
when @Batch annotations are present. Without @Batch, the Android test
runner restarts the browser process between test methods anyway, rendering
AutoReset ineffective.@Batch is useful independently of AutoReset:
@Batch(Batch.PER_CLASS) avoids test runner restarts across test methods.@DoNotBatch is present, inspect the documented reason before modifying.@Batch is already present, check if FreshCtaTransitTestRule can be
upgraded to AutoResetCtaTransitTestRule.Add @Batch(Batch.PER_CLASS) to the class definition.
Prefer AutoResetCtaTransitTestRule over FreshCtaTransitTestRule for faster
execution:
// Change:
@Rule
public FreshCtaTransitTestRule mActivityTestRule =
ChromeTransitTestRules.freshChromeTabbedActivityRule();
// To:
@Rule
public AutoResetCtaTransitTestRule mActivityTestRule =
ChromeTransitTestRules.fastAutoResetCtaActivityRule();startOnUrl vs startOnWebPage:
FreshCtaTransitTestRule.startOnUrl(url) does not exist on
AutoResetCtaTransitTestRule. Replace calls with
mActivityTestRule.startOnWebPage(mTestServer.getURL(url)) or
mActivityTestRule.startOnWebPage(url).skipWindowAndTabStateCleanup()
in tearDown() are specific to FreshCtaTransitTestRule. Keep
FreshCtaTransitTestRule if such cleanup overrides are required.State bleed across consecutive test methods in a batch can stem from various
sources. Below are common, non-exhaustive examples and cleanup mechanisms to
attempt before giving up or resorting to @DoNotBatch:
If secondary or settings activities launched during a test method linger into subsequent test runs:
ThreadUtils.runOnUiThreadBlocking(() -> {
for (Activity activity : ApplicationStatus.getRunningActivities()) {
if (!(activity instanceof ChromeTabbedActivity) && !activity.isFinishing()) {
activity.finish();
}
}
});Or use ApplicationTestUtils.finishActivity(activity).
If snackbars shown in one test method leak into subsequent tests:
ThreadUtils.runOnUiThreadBlocking(() -> {
SnackbarManager snackbarManager = mSnackbarManagerSupplier.get();
if (snackbarManager != null) {
snackbarManager.dismissAllSnackbars();
}
});If modal dialogs remain open across tests:
ThreadUtils.runOnUiThreadBlocking(() -> {
ModalDialogManager modalDialogManager = mModalDialogManagerSupplier.get();
if (modalDialogManager != null && modalDialogManager.isShowing()) {
modalDialogManager.dismissAllDialogs(DialogDismissalCause.UNKNOWN);
}
});ForTesting() Reset MethodsIf production components or singletons retain state across test methods, add explicit reset methods to production or test helper classes:
// Example in production/helper component:
public static void resetForTesting() {
sInstance = null;
// Clear static observers or registered handlers
}
// Invoke in test @After or @Before:
@After
public void tearDown() {
MySingletonComponent.resetForTesting();
}@DoNotBatchOnly annotate with @DoNotBatch(reason = "<detailed reason>") if process-level
state persists that cannot be easily reset via ForTesting() methods, cleanup
utilities, or test rules.
Verify the batched test suite using autotest.py:
./tools/autotest.py -C out/<build_dir> <filepath> --avd-config <avd_config_path>[!TIP] Finding AVD Configs: It is strongly encouraged to pass
--avd-configwhen running non-JUnit Android tests. Available emulator configurations can be found by inspecting the files intools/android/avd/proto/(e.g.tools/android/avd/proto/android_36_google_apis_x64.textpb). Ensure all test methods pass sequentially in a single run without hanging or failing due to state bleed.
© 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/android-test-batching of nwjs/chromium.src.
Open the folder on GitHubat commit a9e8946
Android Test Batching 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 |
|---|---|---|---|---|---|---|
| Android Test Batching this skillnwjs/chromium.src | 160 | — | ~1.3k | Automated safety check: Pass | BSD-3-Clause | |
| Android API Diffgkd-kit/gkd | 43k | — | ~796 | Automated safety check: Pass | GPL-3.0 | |
| Frb Android Emulator Preparefzyzcjy/flutter_rust_bridge | 5.4k | — | ~2.1k | Automated safety check: Notes | MIT | |
| Android Maps Ktxgooglemaps/android-maps-ktx | 360 | — | ~897 | Automated safety check: Pass | Apache-2.0 | |
| Android Audio E2Ehyochan/react-native-nitro-sound | 961 | — | ~814 | Automated safety check: Pass | MIT | |
| Project Binding Adapter From SourceafkT/DevUtils | 1.6k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 |
gkd-kit/gkd
Looks up Android framework Java and AIDL APIs across versions with the android-api-diff CLI: signatures, availability, source files and hidden-API access code.
fzyzcjy/flutter_rust_bridge
A skill your agent uses when preparing, installing, diagnosing, or explaining the host Android Emulator environment for flutterrustbridge local runtime validation, including Android SDK command-line…
googlemaps/android-maps-ktx
Provides idiomatic Kotlin extension (KTX) patterns, reactive Flow event streams, and multi-subscriber shareIn rules for Google Maps SDK for Android and its Utility Library.
hyochan/react-native-nitro-sound
Build and run device-backed Android end-to-end checks for react-native-nitro-sound permissions, recording, playback, listeners, pause/resume, seek, speed, audio focus, lifecycle behavior, and rapid…
afkT/DevUtils
根据用户给出的 Java/Kotlin 工具类或 View 相关源码,设计并实现 androidx.databinding.BindingAdapter。
Kwensiu/DPIS
Run automated DPIS HyperOS device smoke tests for package-specific dp/font emulation or replacement.
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.
Categories
Guide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium. src. Guide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium.
Android Test Batching fits situations like: optimizing Java instrumentation test runtimes; resolving test state leaks; migrating tests to batched execution.
Run `npx skills add nwjs/chromium.src --skill android-test-batching -a claude-code`. Or copy the skill folder (agents/skills/android-test-batching in nwjs/chromium.src) into .claude/skills/android-test-batching in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nwjs/chromium.src --skill android-test-batching -a codex`. Or copy the skill folder (agents/skills/android-test-batching in nwjs/chromium.src) into .agents/skills/android-test-batching 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 android-test-batching -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/android-test-batching, .gemini/skills/android-test-batching, .github/skills/android-test-batching and .opencode/skills/android-test-batching in your project.
SKILL.md names no scripts, command-line tools or credentials: Android Test Batching is instructions for the agent only.
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.
Android Test Batching 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 5.2k 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 Android Test Batching: Android API Diff (gkd-kit/gkd, 43k stars), Frb Android Emulator Prepare (fzyzcjy/flutter_rust_bridge, 5.4k stars), Android Maps Ktx (googlemaps/android-maps-ktx, 360 stars) and Android Audio E2E (hyochan/react-native-nitro-sound, 961 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.