agent-device
Installation
SKILL.md
IMPORTANT — agent-device is the ONLY tool for device interaction
ALL simulator/emulator interaction MUST go through agent-device commands. No exceptions, no fallbacks.
Banned tools/commands (never use these for device interaction, even if they seem easier):
adbfor UI interaction — noinput tap,input swipe,input text,screencap, etc. Allowed exceptions:adb devices,adb wait-for-device,adb install,adb reverse,adb shell getprop,adb shell am,adb shell pm,adb shell screenrecord+adb pull(see "Android Recording Workaround"),adb shell kill/adb shell pidof(for stopping screenrecord)- Mobile MCP tools — no
mobile_click_on_screen_at_coordinates,mobile_take_screenshot,mobile_list_elements_on_screen,mobile_swipe_on_screen,mobile_type_keys,mobile_press_button,mobile_long_press_on_screen_at_coordinates, or any othermobile_*tool xcrun simctl— nosimctl io screenshot,simctl openurl, etc. Allowed exceptions:simctl list devices,simctl get_app_container,simctl install,simctl launchosascript/ AppleScript for simulator control- Appium or any other automation framework
Why: agent-device manages sessions, coordinate translation, and daemon state. Mixing in other tools causes session conflicts, stale state, and unreliable behavior.
- Keep all delays under 1s. This applies to
wait,sleep, and any other waiting mechanism. The app is fast — transitions and network responses complete quickly. The only exception is app launch (open), which may take a few seconds to fully load.
Agent Device Interaction
Control the iOS simulator or Android emulator using agent-device. The primary interaction method is snapshot-based: take an accessibility tree snapshot, find the target element's rect, compute its center, and press.