An OpenClaw / Claude Code skill for agent-operated mobile QA of Edge Wallet. It lets an agent control, inspect, test, and diagnose two surfaces under a shared safety contract:
- a physically connected Android device (ADB, scrcpy, Maestro)
- a booted iOS Simulator (
xcrun simctl, Maestro)
Maestro is the primary cross-platform end-to-end driver; raw ADB/simctl handle
control, diagnostics, screenshots, overrides, logs, and recovery.
SKILL.md Canonical entrypoint: shared safety
contract, routing, artifact policy,
setup pointers, workflow.
references/
android.md Android baseline, bootstrap, commands,
Maestro notes, safety red lines.
ios-simulator.md iOS Simulator baseline, known gaps,
bootstrap, commands, Maestro patterns.
zealot-build-downloads.md CLI method for discovering and
downloading Zealot test builds.
android-research-log-2026-06-17.md Original Android research log.
ios-simulator-research-log-2026-06-17.md Original iOS research log.
scripts/
qa-env.sh Source to set Maestro's Java 17 env.
README.md Helper notes.
artifacts/ Local-only screenshots/video (gitignored).
logs/ Local-only log dumps (gitignored).
.gitignore Ignores runtime outputs and secrets.
This is a skill directory. Place it where your agent loads skills (for OpenClaw
/ Claude Code, a skills/ directory):
git clone <this-repo> qa-device-control
# then move/symlink it under your agent's skills directory, e.g.
# ~/.claude/skills/qa-device-control (or a project-local skills/ dir)The agent reads SKILL.md as the entrypoint and opens a platform reference
under references/ before running platform commands.
-
Tell the agent which surface to drive (Android device vs. iOS Simulator).
-
The agent reads
SKILL.md, then the matching reference. -
Run the platform bootstrap checklist once per host. Tooling expected on the host: macOS with Homebrew;
adb+scrcpyfor Android; Xcode + an iOS simulator runtime for iOS; Maestro CLI 2.6.1 and Java 17 for both. -
Set Maestro's environment for the session:
source scripts/qa-env.sh maestro --version # expect 2.6.1
The verified baselines in the references (device models, build numbers, UDIDs, versions) describe one specific host as of 2026-06-17. Treat them as examples; re-verify on your own host.
This skill drives real QA devices and can capture sensitive material. Screenshots, videos, log dumps, and clipboard contents can include wallet balances and addresses, account names, endpoints, tokens, 2FA prompts, and other PII.
- Never commit screenshots, videos, log dumps,
.env, ortesterConfig.json. The included.gitignoreblocks these by default — do not weaken it. - Keep QA credentials in local ignored config or environment variables, never in shell history, docs, or committed files.
- Do not expose captured evidence outside a trusted channel without approval.
- Destructive operations (factory reset,
simctl erase, uninstall/clear data, installing unknown builds, weakening device security, wireless pairing, Apple Developer signing) require explicit confirmation. The agent is instructed to ask first. - Do not run broad crawlers/tappers that could send crypto, approve swaps, or submit forms unless a human has constrained the test account and app state.