| description | Verify iOS app behavior on device or simulator via screenshots, UI hierarchy, and touch interactions. |
| name | device-interaction |
Device Interaction
TRIGGER when: user asks to verify/test/check if the app works on device, after implementing a UI-affecting feature that needs device verification, user says "does it work", "test this", "check on device", user reports UI doesn't work as expected, need to debug touch/interaction issues.
DO NOT TRIGGER when: user asks about unit tests only, build-only requests without device testing, code review without device testing, simulator configuration questions, changes that don't affect UI (e.g. comments, refactors, non-UI logic).
For the Main Agent
This is a SUBAGENT skill. Invoke it via the Agent tool when device verification is needed.
Agent tool:
- subagent_type: "general-purpose"
- description: "Verify login feature works"
- prompt: "Using the device-interaction skill, verify that the login feature works correctly on session <device-interaction-session>. Launch the app, capture screenshot and UI hierarchy, check that the login button is visible and tappable, and report if the implementation is working correctly."
After implementing a UI-affecting feature, invoke this skill to verify the implementation works on a device.
Session Lifecycle
DeviceInteractionStartSession (do this early, runs in the background)
→ DeviceInteractionInstallAndRun (after each code change; includes building)
→ DeviceEventSynthesize (interact + observe, repeatable)
→ DeviceInteractionEndSession (when done — keeping sessions open is resource-heavy)
DeviceInteractionStartSession tool
Device Discovery
When opening a new device interaction session, pass a device identifier to select a device, or omit it to use the current destination. Pass any non-matching value to get a list of available targets.
DeviceInteractionInstallAndRun tool
Optional Parameters