AppsFlyer Event Validation
AppsFlyerSDK/appsflyer-unity-plugin
Checks whether the AppsFlyer events and callbacks expected in a Unity app scenario actually fired, using logs, callback payloads and test evidence.
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…
$ npx skills add woocommerce/woocommerce-android --skill smoke-tests -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install woocommerce/woocommerce-android smoke-tests --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/smoke-tests .claude/skills/smoke-tests && 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 "smoke-tests" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/smoke-tests into .claude/skills/smoke-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "smoke-tests", 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/smoke-testsType 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 smoke-tests -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install woocommerce/woocommerce-android smoke-tests --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/smoke-tests .agents/skills/smoke-tests && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "smoke-tests" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/smoke-tests into .agents/skills/smoke-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "smoke-tests", 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 smoke-tests -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install woocommerce/woocommerce-android smoke-tests --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/smoke-tests .cursor/skills/smoke-tests && 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 "smoke-tests" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/smoke-tests into .cursor/skills/smoke-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "smoke-tests", 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/smoke-tests--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 smoke-tests -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install woocommerce/woocommerce-android smoke-tests --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/smoke-tests .gemini/skills/smoke-tests && 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 "smoke-tests" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/smoke-tests into .gemini/skills/smoke-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "smoke-tests", 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 smoke-testsInstalls 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 smoke-tests -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/smoke-tests .github/skills/smoke-tests && 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 "smoke-tests" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/smoke-tests into .github/skills/smoke-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "smoke-tests", 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 smoke-tests -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 smoke-tests --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/smoke-tests .opencode/skills/smoke-tests && 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 "smoke-tests" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/smoke-tests into .opencode/skills/smoke-tests/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "smoke-tests", 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.
smoke-testsPrepare 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…
Smoke Tests is an agent skill from 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 exact lab-store CLI command to run or run it on request.
Its SKILL.md is about 1.7k 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 Testing & QA, covering QA and bug reports and Mobile testing and debugging. It works with WooCommerce and Android. The repository describes itself as: WooCommerce Android app. The licence is GPL-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 309d0f5. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadEditWriteGrepGlobAskUserQuestionFrom 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.
Smoke Tests loads about 1.7k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 884 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 noted patterns worth knowing about, such as sudo or a known installer.
collect the APK if needed, validate the .env file by variable name only, then hand the user the exact lab-store CLI com4. **`.env.local`** — check it with `lint-env.py` and the doctor, which name missing variables without printing values.### 4. Validate `.maestro/.env.local`2. Ask the user to edit `.maestro/.env.local` directly.Never commit `.env.local`. Never ask the user to paste secret values into chat. Never echo secret values back to the use- `.env.local` is git-ignored. Never stage or commit it, even if the user asks you to save their credentials.allowed-tools: Bash, Read, Edit, Write, Grep, Glob, AskUserQuestionAutomated 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 309d0f5, republished under its GPL-2.0 licence (© woocommerce). 884 words, ~1,658 tokens.
.claude/skills/smoke-tests/SKILL.md (or your agent's skills folder).This skill is a setup + handoff flow. Its job is to get everything ready so .maestro/scripts/run-smoke-tests.sh will work on the first try, then give the user the CLI command.
It does NOT own the test-runner mechanics. Ordering, per-flow recording, report generation, and the "recordings are kept only for failures, outside the repo" contract all live in the script itself.
.maestro/scripts/configure-toolchain.sh, and confirm adb is on PATH.adb devices). If several are attached, choose the runner --device value with the user..env.local — check it with lint-env.py and the doctor, which name missing variables without printing values.Everything below the handoff — P2 ordering, store selection, seed/cleanup, animation restore, retry accounting, artifact policy, HTML + JUnit reports — is handled by .maestro/scripts/run-smoke-tests.sh.
Run source .maestro/scripts/configure-toolchain.sh. It installs the pinned Maestro 2.9.0 into the workspace, selects Java 21 and fails with a clear message when either is missing. Then run command -v adb; if adb is missing, tell the user to install the Android SDK platform-tools and stop.
Each Bash call starts a new shell, so put source .maestro/scripts/configure-toolchain.sh && in front of every later command that runs Maestro, the doctor or the runner.
Run adb devices. Count the lines whose second column is device.
emulator -list-avds.emulator -avd <name> -no-snapshot-save & (backgrounded). Find its emulator-* serial in adb devices and poll adb -s <serial> shell getprop sys.boot_completed until 1 (up to ~90s); a phone on wireless adb can be attached too.The runner needs the non-debuggable production package, com.woocommerce.android. When it is missing from the device, the runner downloads and installs the latest stable GitHub release, so there is nothing to do by default.
Ask whether the user wants to test the current checkout instead. If so, run ./gradlew :WooCommerce:assembleVanillaRelease in the foreground and pass --apk WooCommerce/build/outputs/apk/vanilla/release/WooCommerce-vanilla-release.apk to the runner. Debug and wasabi builds are rejected.
.maestro/.env.localRun .maestro/scripts/lint-env.py, then source .maestro/scripts/configure-toolchain.sh && .maestro/scripts/doctor.sh --profile <profile> --seed --device <serial>. Both name missing or malformed variables without printing their values, and the doctor checks the store block each flow needs: flows tagged store_shared use the MAESTRO_WOO_SHARED_* block, every other flow the MAESTRO_WOO_LAB_* block. .maestro/env.example lists every variable and what it is for.
If anything is missing:
.maestro/.env.local directly.Never commit .env.local. Never ask the user to paste secret values into chat. Never echo secret values back to the user.
Once steps 1–4 all pass, print the command the user should run:
source .maestro/scripts/configure-toolchain.sh && .maestro/scripts/run-smoke-tests.sh --profile phone-full --seed --device <serial>Tell the user:
--profile, the runner runs smoke_core only and excludes flaky_quarantine.store_shared flows on the shared store, the rest on the lab store. --store lab|shared forces one store for every flow, and the runner refuses destructive flows on the shared store.--seed. It seeds their fixtures, and cleanup deletes what the run created when it exits.$HOME/woocommerce-maestro-output/<timestamp>/ by default. Override with --output-dir <path> or the WOO_MAESTRO_OUTPUT_DIR env var.If the user asks to run it ("go ahead", "run it", "yes please", etc.), invoke the script yourself via Bash and stream its output. Pass --apk only if the user chose a local build in step 3.
When the script exits, read the last line of its output (it prints Report: and Result: summary lines) and relay a one-line summary to the user plus the clickable file:// path to the HTML report. If any flows failed, call out the first failing flow by name — it's usually the most actionable one.
.maestro/scripts/run-smoke-tests.sh..env.local is git-ignored. Never stage or commit it, even if the user asks you to save their credentials.$HOME/woocommerce-maestro-output/ (outside the repo) — the repo's .gitignore still excludes the legacy .maestro/output/ path for safety.adb shell screenrecord only supports one invocation per device, and Maestro runs one flow at a time against a single emulator. The script runs sequentially by design.© 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
Just SKILL.md in .agents/skills/smoke-tests of woocommerce/woocommerce-android.
Open the folder on GitHubat commit 309d0f5
Smoke 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Smoke Tests this skillwoocommerce/woocommerce-android | 319 | — | ~1.7k | Automated safety check: Notes | GPL-2.0 | |
| AppsFlyer Event ValidationAppsFlyerSDK/appsflyer-unity-plugin | 178 | — | ~332 | Automated safety check: Pass | MIT | |
| Dpis Hyperos SmokeKwensiu/DPIS | 111 | — | ~715 | Automated safety check: Pass | GPL-3.0 | |
| Mobile QAtloncorp/tlon-apps | 107 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Warpdroid UI TestWarp-net/warpnet | 157 | — | ~3.5k | Automated safety check: Pass | Custom licence | |
| SoloPi AI Controlalipay/SoloPi | 6.3k | — | ~3.6k | Automated safety check: Pass | Apache-2.0 |
AppsFlyerSDK/appsflyer-unity-plugin
Checks whether the AppsFlyer events and callbacks expected in a Unity app scenario actually fired, using logs, callback payloads and test evidence.
Kwensiu/DPIS
Run automated DPIS HyperOS device smoke tests for package-specific dp/font emulation or replacement.
tloncorp/tlon-apps
Run a mobile QA checklist on a physical Android device over adb for tlon-apps, then triage what fails into fixes.
Warp-net/warpnet
A skill your agent uses whenever a warpdroid (Android client) change or bug needs to be verified by actually driving the app's visual UI — any task phrased as "test the warpdroid UI", "click through…
alipay/SoloPi
Drives Android devices through SoloPi's typed command line to record, replay and verify app behavior, with device pools and signed on-device decision models.
permissionlesstech/bitchat-android
Run, diagnose, and extend bitchat Android Mesh Lab physical-device tests.
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
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
woocommerce/woocommerce-android
Review code changes against project architecture, style, and conventions
woocommerce/woocommerce-android
Build, install, and visually verify the app on an Android emulator or device.
Works with
Categories
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…. Smoke Tests is an agent skill from woocommerce/woocommerce-android.env file by variable name only, then hand the user the exact lab-store CLI command to run or run it on request.
Smoke Tests fits situations like: tasks that involve QA and bug reports; tasks that involve Mobile testing and debugging.
Run `npx skills add woocommerce/woocommerce-android --skill smoke-tests -a claude-code`. Or copy the skill folder (.agents/skills/smoke-tests in woocommerce/woocommerce-android) into .claude/skills/smoke-tests in your project. Claude Code loads it when a task matches its description.
Run `npx skills add woocommerce/woocommerce-android --skill smoke-tests -a codex`. Or copy the skill folder (.agents/skills/smoke-tests in woocommerce/woocommerce-android) into .agents/skills/smoke-tests 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 smoke-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/smoke-tests, .gemini/skills/smoke-tests, .github/skills/smoke-tests and .opencode/skills/smoke-tests in your project.
Going by SKILL.md and its folder, Smoke Tests needs the command-line tools its instructions call (adb). Its frontmatter pre-approves these tools: Bash, Read, Edit, Write, Grep, Glob, AskUserQuestion.
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 notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Smoke Tests 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 1.7k tokens (SKILL.md is roughly 6.6k 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 Smoke Tests: AppsFlyer Event Validation (AppsFlyerSDK/appsflyer-unity-plugin, 178 stars), Dpis Hyperos Smoke (Kwensiu/DPIS, 111 stars), Mobile QA (tloncorp/tlon-apps, 107 stars) and Warpdroid UI Test (Warp-net/warpnet, 157 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.