agent-device
iOS 및 Android 앱 상호작용을 스냅샷 기반 탐색과 선택자 기반 재생으로 자동화합니다. iOS 시뮬레이터/기기 및 Android 에뮬레이터/기기를 지원하며, 세션 기반 자동화, 멀티테넌트 원격 데몬 모드, QA 워크플로를 위한 기기 범위 격리를 제공합니다. 핵심 명령어: UI 탐색을 위한 스냅샷(refs 포함), 상호작용을 위한 press/fill/scroll, 앱 라이프사이클을 위한 open/close, 바이너리 배포를 위한 install/reinstall. 로깅, 네트워크 검사 등을 위한 유틸리티가 포함되어 있습니다.
npx skills add https://github.com/callstackincubator/agent-device --skill agent-deviceagent-device
For a normal app-driving task, start immediately. Do not probe first with --help, --version, devices, appstate, snapshot, or screenshot:
agent-device open <app> --foreground
That starts the session and returns the initial interactive snapshot with @refs.
Loop: act with press|click|fill|longpress <target> ... --settle, scroll <direction> --settle, or back --settle; continue from the printed diff, verify the named expectation (wait text "...", is, get, or find), then run agent-device close.
Copy refs byte-for-byte: @e12, @e12~s4 — keep the @ and any ~sN. Prefer current refs, then id/label/role selectors; coordinates are a last resort. If snapshot reports sparse/AX-unavailable, its refs and selectors are invalid: run agent-device screenshot, inspect the image, use coordinates, then retry snapshot -i after navigating. Otherwise run snapshot -i only when the diff lacks the next target.
Error output includes corrective hints; follow them instead of re-planning. Only when the task is specialized (for example gestures, scripting, TV, macOS, remote, or debugging) or a command shape is unclear, run agent-device help <topic>. agent-device --help lists topics, but is not a startup step.