argent-android-emulato…
Set up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an…
Autonomously test an app UI (iOS or Android) by running interact-screenshot-verify loops using argent MCP tools. Use when testing UI flows, verifying login works, testing navigation, running UI test scenarios, manual QA steps, visible UI changes, or visual behavior.
Claude Code
$ npx -y skills add software-mansion/argent --skill argent-test-ui-flow --agent claude-code
Codex
$ npx skills add software-mansion/argent --skill argent-test-ui-flow -a codex -y
Cursor
$ npx skills add software-mansion/argent --skill argent-test-ui-flow -a cursor -y
Gemini CLI
$ npx skills add software-mansion/argent --skill argent-test-ui-flow -a gemini-cli -y
GitHub Copilot
$ npx skills add software-mansion/argent --skill argent-test-ui-flow -a github-copilot -y
OpenCode
$ npx skills add software-mansion/argent --skill argent-test-ui-flow -a opencode -y
Windsurf
$ npx skills add software-mansion/argent --skill argent-test-ui-flow -a windsurf -y
name: argent-test-ui-flow description: Autonomously test an app UI (iOS or Android) by running interact-screenshot-verify loops using argent MCP tools. Use when testing UI flows, verifying login works, testing navigation, running UI test scenarios, manual QA steps, visible UI changes, or visual behavior.
Resolve the device first: call `list-devices`, use the platform the user named or else prefer a device that is already running, and don't pick a cabled phone without explicit intent. Setup: `argent-ios-simulator-setup` / `argent-android-emulator-setup`. The interaction tool names are identical on iOS and Android.
Physical iPhone (`kind: "device"`): read `argent-ios-device-interact` first. `launch-app` before anything; `describe` fails while the app is backgrounded.
For implementation tasks that modify visible UI, this workflow also serves as a visual acceptance path.
1. **Baseline screenshot**: call `screenshot` to see the current UI state. For visual regression comparison or UI change verification, capture the baseline at `scale: 1.0` with `includeImageInContext: false` and keep the returned `path` before editing whenever feasible. 2. **Find target**: get element coordinates from a discovery tool before tapping:
3. **Interact**: perform the action (`gesture-tap`, `gesture-swipe`, `keyboard`, `button`, ...); you receive a screenshot automatically. 4. **Verify**: check the returned screenshot. If it shows a loading/transitional state, block with `await-ui-element` (expected element `visible`, or a spinner `hidden`) rather than a guessed delay (its result carries the new screenshot and element tree), but only with a selector you can trust (`text`/`identifier`/`role`) that the screen is known to have or that you saw in a prior `describe`; a guessed one just times out. Otherwise use a short fixed wait. Pick evidence by what's being asserted:
5. **Repeat** for each step in the flow.
1. screenshot → see login screen
2. gesture-tap { x: 0.5, y: 0.4 } → tap email field
3. keyboard { text: "user@example.com" }
4. gesture-tap { x: 0.5, y: 0.55 } → tap password field
5. keyboard { text: "{{secret:APP_PASSWORD}}" }
6. gesture-tap { x: 0.5, y: 0.7 } → tap Login button
7. screenshot → verify home screen appeared> **Credentials:** never type plaintext credentials; use a `{{secret:<NAME>}}` placeholder (`keyboard`'s `text` parameter lists where it is read from and what to do when a name is missing). Never invent credentials or echo secret values into reports or saved files.
**Record for replay**: if a tested flow is likely to be repeated, use the `argent-create-e2e` skill to record it as a `.yaml` test, so it can be replayed later with a single `e2e-execute` call.
| Skill | When to use | | ---------------------------------- | -------------------------------------------------------- | | `argent-device-interact` | Tool usage for tapping, swiping, typing (iOS + Android) | | `argent-screenshot-diff` | Visual regression and before/after screenshot comparison | | `argent-ios-simulator-setup` | Booting and connecting an iOS simulator | | `argent-android-emulator-setup` | Booting and connecting an Android emulator | | `argent-react-native-app-workflow` | Starting the app, Metro, build issues | | `argent-metro-debugger` | Co
An agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.
Set up and connect to an Android emulator using argent MCP tools. Use when starting a new session on Android, booting an…
Create, record, edit, replay, or repair reusable Argent e2e test YAML files. Use when the user asks to record, replay, or run an…
Interact with an iOS simulator, Android emulator, or Chromium (CDP) app using argent MCP tools. Use when tapping UI elements,…
Drive a physical iPhone through argent. Use when a physical iPhone is involved (a list-devices iOS entry with kind "device") and…
Set up a cabled physical iPhone for argent. Use when a physical iPhone is involved (a list-devices iOS entry with kind "device")…
Set up and connect to an iOS simulator using argent MCP tools. Use when starting a new session, booting an iOS simulator, getting…
Decompile Android APK, XAPK, JAR, and AAR files using jadx or Fernflower/Vineflower. Reverse engineer Android apps, extract HTTP…