agent-device
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.
More from shopify/flash-list
raise-pr
Create a GitHub PR for FlashList. Ensures no AI/Claude attribution in commits or PR body, follows repo conventions for title, description, and test plan.
7triage-issue
Triage a GitHub issue — classify priority (P0/P1/P2), search for duplicates, and apply labels.
7fix-github-issue
Full workflow for fixing a GitHub issue - understand the problem, reproduce, diagnose root cause, fix, test on iOS/Android simulators, review, and raise a PR
7review-and-test
Review a FlashList PR or branch, run unit tests, test on iOS simulator, and verify RTL/LTR behavior. Shared context with fix-github-issue skill.
7analyze-feedback
Analyze agent feedback artifacts from GitHub Actions workflow runs, extract actionable learnings, and incorporate them into skill files and CLAUDE.md. Tracks scan progress to avoid re-processing.
7upgrade-react-native
Upgrade the React Native fixture app to a new version. Covers JS deps, Android (Gradle, Kotlin, SDK), iOS (Podfile, pbxproj), Metro config, and third-party libraries.
7