Engine Whats New
flutter/flutter
Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).
Generate screenshot coverage for screen-level Compose previews from the current diff or a specific target, check required visual and data variations, and produce a compact visual report
$ npx skills add woocommerce/woocommerce-android --skill ui-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install woocommerce/woocommerce-android ui-review --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/woocommerce/woocommerce-android.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ui-review .claude/skills/ui-review && 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 "ui-review" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-review into .claude/skills/ui-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-review", 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/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-reviewType 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 woocommerce/woocommerce-android --skill ui-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install woocommerce/woocommerce-android ui-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-android.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/ui-review .agents/skills/ui-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ui-review" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-review into .agents/skills/ui-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-review", 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 woocommerce/woocommerce-android --skill ui-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install woocommerce/woocommerce-android ui-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-android.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/ui-review .cursor/skills/ui-review && 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 "ui-review" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-review into .cursor/skills/ui-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-review", 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/woocommerce/woocommerce-android.git --path .agents/skills/ui-review--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 woocommerce/woocommerce-android --skill ui-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install woocommerce/woocommerce-android ui-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-android.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/ui-review .gemini/skills/ui-review && 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 "ui-review" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-review into .gemini/skills/ui-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-review", 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 woocommerce/woocommerce-android ui-reviewInstalls 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 woocommerce/woocommerce-android --skill ui-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-android.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/ui-review .github/skills/ui-review && 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 "ui-review" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-review into .github/skills/ui-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-review", 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 woocommerce/woocommerce-android --skill ui-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install woocommerce/woocommerce-android ui-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/woocommerce/woocommerce-android.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/ui-review .opencode/skills/ui-review && 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 "ui-review" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/ui-review into .opencode/skills/ui-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-review", 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.
ui-reviewGenerate screenshot coverage for screen-level Compose previews from the current diff or a specific target, check required visual and data variations, and produce a compact visual report
UI Review is an agent skill from woocommerce/woocommerce-android. Generate screenshot coverage for screen-level Compose previews from the current diff or a specific target, check required visual and data variations, and produce a compact visual report
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including assets.
It sits in Mobile. It works with WooCommerce and Android. The repository describes itself as: WooCommerce Android app. The licence is GPL-2.0.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit be5a50f. 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:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
UI Review loads about 3.1k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 1,751 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 woocommerce/woocommerce-android at commit be5a50f, republished under its GPL-2.0 licence (© woocommerce). 1,751 words, ~3,096 tokens.
.claude/skills/ui-review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Run a visual review for the screens affected by the current diff or a specific target.
This skill supports two starting modes:
Diff mode: use the current diff to find the affected Compose code and trace it to the right screen previewsTarget mode: when the user explicitly provides a Compose name, class name, or file name, use that as the starting point instead of the diffIn Target mode:
When the user explicitly invokes this skill, default to Diff mode.
At the start:
Target modeDiff modeui-review report outputThe final output is a visual report at:
WooCommerce/build/reports/ui-review/index.html
The report may keep a small assets/ folder next to it for images used by the report.
Keep the output contract fixed:
WooCommerce/build/reports/ui-review/index.htmlWooCommerce/build/reports/ui-review/assets/...These are the final artifacts and must remain after the run.
After the skill finishes, git status should not show screenshot junk.
Before starting a new run, delete any existing WooCommerce/build/reports/ui-review folder so the report is always rebuilt from a clean slate.
Because this skill runs Android's Compose Preview Screenshot Testing tasks, every screenshot preview must live in
WooCommerce/src/screenshotTest/kotlin/... and must be annotated with @PreviewTest.
This skill only supports Compose UI targets.
Supported targets:
Unsupported targets:
Do not modify preview annotations in the main source set for this workflow.
Keep the main project preview files unchanged and create screenshot-specific previews only in UiReviewTemp.kt.
Reuse existing screen preview coverage by recreating the same Compose screen and state in UiReviewTemp.kt.
If the original preview or its sample data is private, copy only the minimum required setup into the temp file.
Do not default to isolated component previews. Only create a component-level preview when the changed UI cannot be seen clearly in any selected screen preview.
For screenshot previews in UiReviewTemp.kt, use explicit @Preview(...) definitions so each rendered image changes only one intended variable.
For each screenshot preview:
@PreviewTestLight, Dark, Large Font, RTL, and Landscape@Preview(...) per functionUse these exact @Preview definitions for each variant:
Light: @Preview(name = "Light", showBackground = true, uiMode = UI_MODE_NIGHT_NO)Dark: @Preview(name = "Dark", showBackground = true, uiMode = UI_MODE_NIGHT_YES)Large Font: @Preview(name = "Large Font", showBackground = true, fontScale = 2.0f, uiMode = UI_MODE_NIGHT_NO)RTL: @Preview(name = "RTL", showBackground = true, locale = "ar", uiMode = UI_MODE_NIGHT_NO)Landscape: @Preview(name = "Landscape", showBackground = true, device = Devices.PIXEL_9, widthDp = 640, heightDp = 360, uiMode = UI_MODE_NIGHT_NO)Treat Data variation 1 - Long strings, Data variation 2 - Null data, and any additional data variations as separate data previews.
Only create a data variation when the affected screen has visible inputs that make that variation meaningful.
For example:
Data variation 1 - Long strings applies only when visible string content can be made longerData variation 2 - Null data applies only when visible nullable inputs can be set to nullDo not mix them into every visual variation.
If the screen is Compose-based but has no usable preview at all, create a full temp screen preview for that screen.
Every affected screen should be checked in these visual conditions when practical:
Data variations are optional. A screen may have zero data variations if none of its visible inputs support them.
When they exist, use these slots first:
Data variation 1 - Long stringsData variation 2 - Null dataAfter those, add zero or more additional data variations only when the affected screen needs them:
Empty listRules:
Data variation 1 - Long strings: make the visible strings longer in that preview onlyData variation 2 - Null data: set the visible nullable fields to null in that preview onlyEmpty list: use emptyList() in that preview onlyFor each Data variation 2 - Null data preview, keep a short list of which fields were set to null.
If the app already has a dedicated empty-screen composable or preview, treat it like any other screen and include it through normal coverage. Do not give it special handling just because it is an empty state.
Temporary previews are required for this workflow, and they must follow these rules:
WooCommerce/src/screenshotTest/kotlin/...@PreviewTestUse stable names:
UiReviewTemp.ktui-reviewindex.htmlGenerate screenshots with:
./gradlew --no-configuration-cache -Pandroid.experimental.enableScreenshotTest=true :WooCommerce:updateVanillaDebugScreenshotTestDo not run this in the background.
Use the fixed HTML template at:
$skill_path/assets/report-template.html
Do not redesign the report on each run. Only fill the placeholders in the template.
The hero section is fixed:
0 issues found, 1 issue found, or N issues foundUI ReviewReviewed screens, followed by only a bullet list of the reviewed screen names in the hero bodyThe report should:
Issue 1, Issue 2, Issue 3, and so onWhen you need text below a variant title, use the fixed template classes directly:
.meta.meta-label for the label.meta-value for the value textFor Data variation 1 - Long strings cards in the report:
For Data variation 2 - Null data cards in the report:
.meta line under the variant titlenullNull fields: customerName, billingAddressCopy only the screenshots that will actually be shown in the final report into ui-review/assets.
If dark mode is part of the generated set, make sure the final report includes at least one dark screenshot.
The final report must use only the screenshots copied into ui-review/assets.
After those files are copied, the raw screenshot output folders can be deleted.
When variants are shown in the report, always keep this order:
First, show any issue variants.
After that, keep this order for the remaining variants:
If one of these variants does not exist for the current screen, skip it and keep the remaining order unchanged.
Look for:
Treat the following as issues when they are clearly visible in the rendered images:
These are common examples, not an exhaustive list. Also report any other clearly visible visual regression that would likely matter to a user of the screen.
Only report issues that are clearly visible in the rendered images. Do not report an issue against a required variation if the screenshot also contains an unintended second variation.
Before finishing:
WooCommerce/build/reports/ui-review/assetsUiReviewTemp under the screenshot reference
source set for the variant that was run, for example WooCommerce/src/screenshotTest<Variant>/**;
do not delete the source-set directory or any non-UiReviewTemp filesWooCommerce/build/outputs/screenshotTest-resultsWooCommerce/build/reports/screenshotTestWooCommerce/build/reports/tests/<screenshotTaskName> and
WooCommerce/build/test-results/<screenshotTaskName> if they were created by this run© woocommerce, GPL-2.0. 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 (assets) in .agents/skills/ui-review of woocommerce/woocommerce-android.
Open the folder on GitHubat commit be5a50f
UI Review 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 |
|---|---|---|---|---|---|---|
| UI Review this skillwoocommerce/woocommerce-android | 319 | — | ~3.1k | Automated safety check: Pass | GPL-2.0 | |
| Engine Whats Newflutter/flutter | 179k | — | ~978 | Automated safety check: Pass | BSD-3-Clause | |
| Android Hidden API and R8 Checkgkd-kit/gkd | 43k | — | ~1.5k | Automated safety check: Pass | GPL-3.0 | |
| Android API Diffgkd-kit/gkd | 43k | — | ~796 | Automated safety check: Pass | GPL-3.0 | |
| App Store Screenshots GeneratorParthJadhav/app-store-screenshots | 7.2k | — | ~16k | Automated safety check: Pass | MIT | |
| Android Readme Screenshot Studiopermissionlesstech/bitchat-android | 7.8k | — | ~3k | Automated safety check: Pass | GPL-3.0 |
flutter/flutter
Generates the "what's new" release summary and diff file for changes in the Flutter engine (//engine/src/flutter) between two releases (e.g., 3.47 vs 3.44).
gkd-kit/gkd
Checks whether Android hidden-API implementations and system callbacks survive R8 minification, and diagnoses Release-only failures such as AbstractMethodError.
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.
ParthJadhav/app-store-screenshots
Scaffolds a Next.js editor for designing App Store and Google Play screenshots as ads and exporting them at every required size, for iOS, Mac and Android.
permissionlesstech/bitchat-android
Create or refresh polished, high-resolution screenshots of the Bitchat Android app for README and repository showcase use.
droidrun/mobilerun
Answers questions about Mobilerun, the LLM-agent framework for automating Android and iOS devices, by pointing the agent to the right page of its v5 documentation.
woocommerce/woocommerce-android
Create a pull request following project conventions. An agent skill from woocommerce/woocommerce-android.
woocommerce/woocommerce-android
Address PR reviewer feedback by evaluating comments, proposing fixes, and executing after user approval.
woocommerce/woocommerce-android
Provision a disposable Jurassic Ninja store for the Maestro smoke suite, connect Jetpack to the developer's own WordPress.com test account, create WooCommerce API keys, and write .maestro/.env.local.
woocommerce/woocommerce-android
Review code changes against project architecture, style, and conventions
woocommerce/woocommerce-android
Prepare the local environment for the Maestro smoke-test suite — verify tooling, select a device, collect the APK if needed, validate the .env file by variable name only, then hand the user the…
woocommerce/woocommerce-android
Build, install, and visually verify the app on an Android emulator or device.
Works with
Categories
Generate screenshot coverage for screen-level Compose previews from the current diff or a specific target, check required visual and data variations, and produce a compact visual report. UI Review is an agent skill from woocommerce/woocommerce-android.
UI Review fits situations like: mobile work in your project.
Run `npx skills add woocommerce/woocommerce-android --skill ui-review -a claude-code`. Or copy the skill folder (.agents/skills/ui-review in woocommerce/woocommerce-android) into .claude/skills/ui-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add woocommerce/woocommerce-android --skill ui-review -a codex`. Or copy the skill folder (.agents/skills/ui-review in woocommerce/woocommerce-android) into .agents/skills/ui-review 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 woocommerce/woocommerce-android --skill ui-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ui-review, .gemini/skills/ui-review, .github/skills/ui-review and .opencode/skills/ui-review in your project.
Going by SKILL.md and its folder, UI Review needs the command-line tools its instructions call (git).
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.
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.
UI Review is published under the GPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k 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 UI Review: Engine Whats New (flutter/flutter, 179k stars), Android Hidden API and R8 Check (gkd-kit/gkd, 43k stars), Android API Diff (gkd-kit/gkd, 43k stars) and App Store Screenshots Generator (ParthJadhav/app-store-screenshots, 7.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
woocommerce (a GitHub organization) maintains it in woocommerce/woocommerce-android, which has 319 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 9, 2026.
Source: woocommerce/woocommerce-android on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.