device-interaction — Claude Code skill: what it does, how to install
Verifies iOS app behavior on devices or simulators using screenshots, UI hierarchy inspection, and synthesized touch inputs. Runs via subagent.
npx skills add superagents-lab/xcode27-skills --skill device-interaction -a claude-codeWhat device-interaction does
This skill automates on-device and simulator UI verification for iOS projects. The main agent dispatches the task to a subagent via the Agent tool. A standard run follows four steps: starting with DeviceInteractionStartSession, building and launching via DeviceInteractionInstallAndRun, simulating events with DeviceEventSynthesize, and terminating through DeviceInteractionEndSession. Lingering test sessions waste significant system resources. Shutting them down immediately after testing is necessary.
The subagent inspects hierarchy files to locate controls, reading exact positions from the calculated center field. Guessing tap targets strictly from screenshots is forbidden to prevent misclicks. Supported interactions include single taps, double taps, swipes, orientation toggles, hardware keys, and text entry. In text input chains, sender keyboard kbd <text> must remain the final command.
When a touch event yields no immediate UI update, the subagent retries the action once to account for active transitions. If you pass an unrecognized destination ID to the session starter, the tool responds with a complete list of valid target devices.
What it helps with
- verify iOS interface behavior on a device or simulator after code changes
- detect visual defects like clipped text, misaligned views, and bad colors
- send precise taps, swipes, and text entries using element center points
- catch silent crashes and unexpected app termination during interactions
Example prompts for the agent
- Verify that the login screen works on the simulator after this refactor
- Test this checkout flow on device and report any layout issues
- Check on device whether the settings switch toggles correctly
How to install device-interaction
1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill device-interaction -a claude-code2Manually: put the files in place
~/.claude/skills/device-interaction/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/device-interaction/
1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill device-interaction -a codex2Manually: put the files in place
.agents/skills/device-interaction/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill device-interaction -a cursor2Manually: put the files in place
.cursor/skills/device-interaction/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install superagents-lab/xcode27-skills device-interaction2Manually: put the files in place
.github/skills/device-interaction/SKILL.md1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill device-interaction -a gemini-cli2Platform CLI
gemini skills install https://github.com/superagents-lab/xcode27-skills --path device-interactionManually: put the files in place
.devin/skills/device-interaction/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill device-interaction -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about device-interaction
How to install device-interaction in Claude Code?
Run npx skills add superagents-lab/xcode27-skills --skill device-interaction -a claude-code in your terminal.
What does device-interaction do?
It orchestrates iOS test sessions where a subagent compiles the app, inspects the view hierarchy, captures screenshots, and synthesizes touch gestures.
How does the subagent find elements on screen?
It reads structural hierarchy data and targets the calculated center coordinates of views rather than estimating pixel positions from screenshots.