Run Jetpack Android App
wordpress-mobile/WordPress-Android
Builds the Jetpack debug app with Gradle and installs it on a connected Android device or an emulator started from an available AVD.
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.
$ npx skills add woocommerce/woocommerce-android --skill setup-test-stores -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install woocommerce/woocommerce-android setup-test-stores --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/setup-test-stores .claude/skills/setup-test-stores && 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 "setup-test-stores" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/setup-test-stores into .claude/skills/setup-test-stores/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-test-stores", 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/setup-test-storesType 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 setup-test-stores -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install woocommerce/woocommerce-android setup-test-stores --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/setup-test-stores .agents/skills/setup-test-stores && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "setup-test-stores" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/setup-test-stores into .agents/skills/setup-test-stores/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-test-stores", 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 setup-test-stores -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install woocommerce/woocommerce-android setup-test-stores --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/setup-test-stores .cursor/skills/setup-test-stores && 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 "setup-test-stores" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/setup-test-stores into .cursor/skills/setup-test-stores/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-test-stores", 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/setup-test-stores--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 setup-test-stores -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install woocommerce/woocommerce-android setup-test-stores --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/setup-test-stores .gemini/skills/setup-test-stores && 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 "setup-test-stores" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/setup-test-stores into .gemini/skills/setup-test-stores/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-test-stores", 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 setup-test-storesInstalls 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 setup-test-stores -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/setup-test-stores .github/skills/setup-test-stores && 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 "setup-test-stores" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/setup-test-stores into .github/skills/setup-test-stores/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-test-stores", 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 setup-test-stores -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 setup-test-stores --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/setup-test-stores .opencode/skills/setup-test-stores && 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 "setup-test-stores" agent skill from https://github.com/woocommerce/woocommerce-android/tree/trunk/.agents/skills/setup-test-stores into .opencode/skills/setup-test-stores/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-test-stores", 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.
setup-test-storesProvision 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.
Setup Test Stores is an agent skill from 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. Use when Maestro setup is missing, when .env.local points at an expired store, or when a clean store is wanted.
Its SKILL.md is about 1.4k 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 Mobile, covering Mobile testing and debugging. It works with WooCommerce, WordPress and Android. The repository describes itself as: WooCommerce Android app. The licence is GPL-2.0.
6 steps, taken from the first numbered list 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:
BashReadmcp__context-a8c__context-a8c-load-providermcp__context-a8c__context-a8c-execute-toolFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MAESTRO_WOO_LAB_WPCOM_PASSWORDJN_PASSWORDMAESTRO_WOO_LAB_CONSUMER_KEYMAESTRO_WOO_CONSUMER_KEYMAESTRO_WOO_LAB_CONSUMER_SECRETMAESTRO_WOO_CONSUMER_SECRETFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Setup Test Stores loads about 1.4k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 553 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.
WooCommerce API keys, and write .maestro/.env.local. Use when Maestro setup is missing, when .env.local points at an expction account. The account is read from `.env.local`, orIf `.env.local` has no `MAESTRO_WOO_LAB_WPCOM_EMAIL` / `MAESTRO_WOO_LAB_WPCOM_PASSWORD`,setup is already usable.** If `.maestro/.env.local` exists, probe the( set -a; . .maestro/.env.local; set +a`.maestro/.env.local`.This assumes `.env.local` already has `MAESTRO_WOO_LAB_WPCOM_EMAIL` andes the WordPress.com account already in `.env.local`.- The previous `.env.local` is backed up outside the repository, because `.gitignore`matches `.env.local` exactly and a sibling backup file would not be ignored.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 309d0f5, republished under its GPL-2.0 licence (© woocommerce). 553 words, ~1,352 tokens.
.claude/skills/setup-test-stores/SKILL.md (or your agent's skills folder).Provisions a Jurassic Ninja (JN) site and configures it as the Maestro lab store.
Site creation is only possible through the jurassic-ninja ContextA8C MCP, so this
skill drives that part; everything after "site exists and its password is known" is
handled by .maestro/scripts/setup-jn-store.sh, which a developer can also run by
hand against a site created in a browser.
jurassic-ninja provider.wc.oauth.app_id and wc.oauth.app_secret present in
~/.configure/woocommerce-android/secrets/secrets.properties (see Environment Setup in AGENTS.md).expect on PATH (ships with macOS) for password-based SSH..env.local, or
from MAESTRO_WOO_LAB_WPCOM_EMAIL / MAESTRO_WOO_LAB_WPCOM_PASSWORD in the
environment; see step 0.Make sure the WordPress.com account is available. The script needs a test account to connect Jetpack to, and it cannot prompt when run by an agent because there is no terminal attached; it will exit with a message naming what is missing.
If .env.local has no MAESTRO_WOO_LAB_WPCOM_EMAIL / MAESTRO_WOO_LAB_WPCOM_PASSWORD,
stop and ask the user to either add those two lines themselves, or run the script
directly in their own terminal, where it prompts without echoing:
.maestro/scripts/setup-jn-store.sh --site <domain>.jurassic.ninjaDo not ask the user to paste a password into the conversation, and never pass one as a command-line argument.
Check whether setup is already usable. If .maestro/.env.local exists, probe the
store in one bash call that sources the file, so no credential is read into the chat:
( set -a; . .maestro/.env.local; set +a
curl -s -o /dev/null -w '%{http_code}' \
-u "${MAESTRO_WOO_LAB_CONSUMER_KEY:-$MAESTRO_WOO_CONSUMER_KEY}:${MAESTRO_WOO_LAB_CONSUMER_SECRET:-$MAESTRO_WOO_CONSUMER_SECRET}" \
"$MAESTRO_WOO_LAB_JETPACK_STORE_URL/wp-json/wc/v3/products?per_page=1" )A 200 means the store is alive and the keys work; report that and stop, unless the
user passed --fresh. Anything else means the store is gone or expired: continue, and
reuse the existing WP.com account lines rather than asking for them again.
Provision two sites. The lab store, and a WooCommerce site without Jetpack for
login_no_jetpack:
provision-site features: {"woocommerce":"true","woocommerce-import-sample-data":"true","jetpack":"true"}
provision-site features: {"woocommerce":"true","jetpack":"false"}Note both returned domains.
Fetch their passwords.
list-sites domain: <domain>, include_passwords: true, include_config: trueJN_PASSWORD in the returned config is both the wp-admin and the SSH password. The
admin username is demo.
Do not echo these values in your reply.
Configure the stores. Pass the passwords through the environment so they never land
in ps output:
JN_SSH_PASS='<lab JN_PASSWORD>' JN_NO_JETPACK_SSH_PASS='<no-Jetpack JN_PASSWORD>' \
.maestro/scripts/setup-jn-store.sh --site <lab domain> --no-jetpack-site <no-Jetpack domain>The script waits for JN to finish provisioning (it answers HTTP before its plugins
finish installing), connects Jetpack, creates the API keys, and writes
.maestro/.env.local.
This assumes .env.local already has MAESTRO_WOO_LAB_WPCOM_EMAIL and
MAESTRO_WOO_LAB_WPCOM_PASSWORD. If it does not, see step 0.
Report the store URL and blog ID. Do not print any credential.
.maestro/scripts/lint-env.py --seedA fresh store has the WooCommerce sample products, and the script adds 25 completed
orders, one customer and a maestro10 coupon, so the product, order and dashboard flows
run against it.
The no-Jetpack fixture (MAESTRO_WOO_NO_JETPACK_*) is written from the second site. The
other negative-login fixtures (MAESTRO_WOO_NOT_A_WOO_STORE_*,
MAESTRO_WOO_WRONG_ACCOUNT_STORE_URL) are shared read-only sites from the smoke testing
guide and are filled in by hand.
.env.local..env.local is backed up outside the repository, because .gitignore
matches .env.local exactly and a sibling backup file would not be ignored.© 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/setup-test-stores of woocommerce/woocommerce-android.
Open the folder on GitHubat commit 309d0f5
Setup Test Stores 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 |
|---|---|---|---|---|---|---|
| Setup Test Stores this skillwoocommerce/woocommerce-android | 319 | — | ~1.4k | Automated safety check: Notes | GPL-2.0 | |
| Run Jetpack Android Appwordpress-mobile/WordPress-Android | 3.2k | — | ~886 | Automated safety check: Pass | GPL-2.0 | |
| Mobilerun Docs Referencedroidrun/mobilerun | 9.6k | — | ~943 | Automated safety check: Pass | MIT | |
| Appiumblokadaorg/blokada | 3.3k | — | ~3.5k | Automated safety check: Pass | MPL-2.0 | |
| Phone HarnessShawnPana/phone-harness | 3.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Phoneagentrounak/PhoneAgent | 799 | — | ~2.2k | Automated safety check: Pass | MIT |
wordpress-mobile/WordPress-Android
Builds the Jetpack debug app with Gradle and installs it on a connected Android device or an emulator started from an available AVD.
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.
blokadaorg/blokada
A skill your agent uses for dynamic inspection and navigation of the Blokada app through the repo-local Appium machine session.
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.
rounak/PhoneAgent
Control a connected iPhone, iOS simulator, Android emulator, or Android device from macOS through PhoneAgent's JSON-RPC bridge.
pranshuchittora/simvyn
Operate iOS Simulators, Android Emulators, and connected mobile devices with Simvyn.
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
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
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
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. Setup Test Stores is an agent skill from woocommerce/woocommerce-android.local.
Setup Test Stores fits situations like: maestro setup is missing; .env.local points at an expired store; A clean store is wanted.
Run `npx skills add woocommerce/woocommerce-android --skill setup-test-stores -a claude-code`. Or copy the skill folder (.agents/skills/setup-test-stores in woocommerce/woocommerce-android) into .claude/skills/setup-test-stores in your project. Claude Code loads it when a task matches its description.
Run `npx skills add woocommerce/woocommerce-android --skill setup-test-stores -a codex`. Or copy the skill folder (.agents/skills/setup-test-stores in woocommerce/woocommerce-android) into .agents/skills/setup-test-stores 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 setup-test-stores -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-test-stores, .gemini/skills/setup-test-stores, .github/skills/setup-test-stores and .opencode/skills/setup-test-stores in your project.
Going by SKILL.md and its folder, Setup Test Stores needs the command-line tools its instructions call (curl) and credentials named MAESTRO_WOO_LAB_WPCOM_PASSWORD, JN_PASSWORD, MAESTRO_WOO_LAB_CONSUMER_KEY and MAESTRO_WOO_CONSUMER_KEY. Our summary lists: A credential in MAESTRO_WOO_LAB_CONSUMER_KEY; A credential in MAESTRO_WOO_CONSUMER_KEY. Its frontmatter pre-approves these tools: Bash, Read, mcp__context-a8c__context-a8c-load-provider, mcp__context-a8c__context-a8c-execute-tool.
SKILL.md contains no URLs. Its commands use curl, 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 notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Setup Test Stores 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.4k tokens (SKILL.md is roughly 5.4k 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 Setup Test Stores: Run Jetpack Android App (wordpress-mobile/WordPress-Android, 3.2k stars), Mobilerun Docs Reference (droidrun/mobilerun, 9.6k stars), Appium (blokadaorg/blokada, 3.3k stars) and Phone Harness (ShawnPana/phone-harness, 3.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.