
Argent Device Interact
Install this when your agent must drive iOS simulators or Android emulators via Argent MCP—tap, swipe, type, screenshots, and app launch for mobile QA.
Overview
Argent-device-interact is an agent skill for the Build phase that drives iOS simulators and Android emulators through Argent MCP taps, gestures, text entry, and screenshots.
Install
npx skills add https://github.com/software-mansion/argent --skill argent-device-interactWhat is this skill?
- Unified tool surface: same gesture and interaction tools with `udid` auto-routing UUID iOS vs Android adb serial
- Covers tap, swipe, pinch, rotate, custom gestures, scroll, typing, hardware buttons, launch apps, open URLs, screenshots
- Requires `list-devices` then pick booted device or `boot-device` with udid or avdName
- Gesture tools may be deferred—load all planned gesture schemas via ToolSearch before first gesture call
- Points to argent-ios-simulator-setup and argent-android-emulator-setup for full platform setup flows
- 9 platform-specific notes section referenced at bottom of SKILL.md
- 6 gesture-oriented tools called out: tap, swipe, pinch, rotate, custom, plus deferred schema loading requirement
Adoption & trust: 1.9k installs on skills.sh; 1.2k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You cannot reliably tell an agent how to tap, scroll, or screenshot your mobile app without a documented MCP device workflow and schema-loading rules.
Who is it for?
Indie mobile developers using Argent MCP with Claude Code or similar agents to automate simulator smoke tests and UI reproduction steps.
Skip if: Teams without Argent MCP, physical-device-only labs, or pure backend API work with no mobile UI surface.
When should I use this skill?
Tapping UI elements, performing gestures, scrolling, typing text, pressing hardware buttons, launching apps, opening URLs, or taking screenshots on iOS simulator or Android emulator via Argent MCP.
What do I get? / Deliverables
After following the skill, the agent selects a booted udid, loads gesture schemas, and performs unified cross-platform UI actions on the right simulator or emulator.
- Executed UI interactions on the selected udid
- Screenshots or opened URLs as requested in the session
- Documented device target after list-devices selection
Recommended Skills
Journey fit
Build is where mobile UI is exercised against simulators and emulators before ship-ready release candidates. Integrations fits MCP-backed device tools that bridge the agent to simulator/emulator control rather than pure app business logic.
How it compares
An MCP interaction playbook for simulators—not a replacement for Detox, Maestro, or full CI device farms.
Common Questions / FAQ
Who is argent-device-interact for?
Solo builders and small teams who already use Argent MCP and need consistent agent instructions for iOS Simulator and Android emulator control.
When should I use argent-device-interact?
During Build integrations work when tapping UI elements, running gestures, launching apps, opening deep links, or capturing screenshots on simulators or emulators.
Is argent-device-interact safe to install?
It instructs device control via MCP, which can drive apps and capture screen content; review the Security Audits panel on this Prism page and scope MCP permissions carefully.
SKILL.md
READMESKILL.md - Argent Device Interact
## Unified tool surface All interaction tools below accept a `udid` parameter and auto-dispatch iOS vs Android based on its shape (UUID → iOS simulator, anything else → Android adb serial). You use the same tool names on both platforms. For platform-specific caveats (Metro `adb reverse`, locked-screen describe errors, etc.), see § 9 Platform-specific notes at the bottom. ## 1. Before You Start If you delegate simulator tasks to sub-agents, make sure they have MCP permissions. Use `list-devices` to get a target id. Results are tagged with `platform` (`ios` or `android`); booted/ready devices come first. Pick the first entry that matches the platform you need — if none are ready, call `boot-device` with `udid` (iOS) or `avdName` (Android). See `argent-ios-simulator-setup` / `argent-android-emulator-setup` for full setup flow. **Load tool schemas before first use.** Gesture tools (`gesture-tap`, `gesture-swipe`, `gesture-pinch`, `gesture-rotate`, `gesture-custom`) may be deferred — their parameter schemas are not loaded until fetched. Always use ToolSearch to load the schemas of all gesture tools you plan to use **before** calling any of them. If you skip this step, parameters may be coerced to strings instead of numbers, causing validation errors. ## 2. Best Practices 1. **Always refer to tapping_rule** from your argent.md rule before tapping. 2. Before performing interactions, consider whether they can be **dispatched sequentially** - more on that in `run-sequence`. 3. **Use `gesture-swipe` for lists/scrolling**, not `gesture-custom`, unless you need non-linear movement. Consider whether you need multiple swipes, if yes - use `run-sequence`. 4. **Tap a text field before typing** — on iOS try `paste` first then fall back to `keyboard`; on Android use `keyboard` directly (`paste` is iOS-only). 5. **Coordinates are normalized** — always 0.0–1.0, not pixels. 6. **For app navigation, prefer `describe` first.** It works on any screen without app restart. Do not navigate from screenshots on regular in-app screens unless `describe` failed to expose a reliable target. Use `native-describe-screen` only when you need app-scoped UIKit properties. ## 3. Opening Apps **Never navigate to an app by tapping home-screen icons.** Use `launch-app` or `open-url` — they are instant and reliable. ### launch-app — by bundle ID ```json { "udid": "<UDID>", "bundleId": "com.apple.MobileSMS" } ``` Common IDs: `com.apple.MobileSMS` (Messages), `com.apple.mobilesafari` (Safari), `com.apple.Preferences` (Settings), `com.apple.Maps`, `com.apple.Photos`, `com.apple.mobilemail`, `com.apple.mobilenotes`, `com.apple.MobileAddressBook` (Contacts) ### open-url — by URL scheme ```json { "udid": "<UDID>", "url": "messages://" } ``` Common schemes: `messages://`, `settings://`, `maps://?q=<query>`, `tel://<number>`, `mailto:<address>`, `https://...` (Safari) ## 4. Choosing the Right Tool | Action | Tool | Notes | | ---------------- | ---------------- | ---------------------------------------------------------------------- | | Multiple actions | `run-sequence` | Batch steps in one call (no intermediate screenshots) | | Open an app | `launch-app` | **Always — never tap home-screen icons** | | Restart an app | `restart-app` | Terminate and relaunch by bundle ID | | Open URL/scheme | `open-url` | Web pages, deep links, URL schemes | | Single tap | `gesture-tap` | Buttons, links, checkboxes | | Scroll/swipe