argent-ios-device-interact — Claude Code skill: install
Drives a physical iPhone through argent for app checks, gestures, screenshots, and UI waits. Use it when the target is a real device, not a simulator.
npx skills add software-mansion/argent --skill argent-ios-device-interact -a claude-codeWhat argent-ios-device-interact does
This skill defines how argent interacts with a physical iPhone. The agent can list devices, launch, restart, or reinstall an app, open a URL, take screenshots, compare them, inspect the UI tree, and wait for an element or an idle screen.
Available hardware actions include taps, swipes, custom gestures, Home and volume buttons, keyboard input, action sequences, and e2e tools. Gestures and keyboard input can bring the app back to the foreground, so the UI should be described again afterward. The first describe after button home can still show the previous tree.
Use this skill only with a physical iPhone. Hardware mode does not support rotation, two-finger gestures, paste, screen recording, or debugging tools. Cable, trust, and signing issues belong to argent-ios-device-setup; check the selected device before starting a run.
What it helps with
- check an app on a physical iPhone
- launch an app on a connected device
- perform gestures and keyboard input
- wait for a UI element or idle screen
- compare screenshots after an action
Example prompts for the agent
- Use argent to check the connected physical iPhone, launch the app, and describe its UI tree.
- Swipe across the screen, enter the requested text with the keyboard, then describe the UI again.
- Run the e2e flow on the physical iPhone and wait for the target element before continuing.
How to install argent-ios-device-interact
1Skills CLI (Vercel)
npx skills add software-mansion/argent --skill argent-ios-device-interact -a claude-code2Manually: put the files in place
~/.claude/skills/argent-ios-device-interact/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/argent-ios-device-interact/
1Skills CLI (Vercel)
npx skills add software-mansion/argent --skill argent-ios-device-interact -a codex2Manually: put the files in place
.agents/skills/argent-ios-device-interact/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add software-mansion/argent --skill argent-ios-device-interact -a cursor2Manually: put the files in place
.cursor/skills/argent-ios-device-interact/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install software-mansion/argent argent-ios-device-interact2Manually: put the files in place
.github/skills/argent-ios-device-interact/SKILL.md1Skills CLI (Vercel)
npx skills add software-mansion/argent --skill argent-ios-device-interact -a gemini-cli2Platform CLI
gemini skills install https://github.com/software-mansion/argent --path packages/skills/skills/argent-ios-device-interactManually: put the files in place
.devin/skills/argent-ios-device-interact/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add software-mansion/argent --skill argent-ios-device-interact -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set15
The whole set →Similar
Questions about argent-ios-device-interact
How do I install argent-ios-device-interact in Claude Code?
Run npx skills add software-mansion/argent --skill argent-ios-device-interact -a claude-code, then run npx skills add software-mansion/argent --skill argent-ios-device-interact -a claude-code again. The skill file is at ~/.claude/skills/argent-ios-device-interact/SKILL.md.
What does argent-ios-device-interact do?
It defines argent workflows for a physical iPhone, including app control, gestures, keyboard input, screenshots, UI inspection, and state waits.
Can I use this skill with an iOS simulator?
No. It is for physical iPhones only; simulator work uses a different set of rules and tools.
Source text
SKILL.md · Apache-2.0
--- name: argent-ios-device-interact description: Drive a physical iPhone through argent. Use when a physical iPhone is involved (a list-devices iOS entry with kind "device") and ONLY then; never for a simulator. For cable, trust, or signing problems read argent-ios-device-setup. --- # Physical iPhone interaction Read this only for a physical iPhone. `argent-device-interact` still applies for everything not listed here. ## Contract - Observation never changes the screen; mutation may. `describe` and `await-ui-element` fail on a backgrounded target instead of re-fronting it; `await-screen-idle` returns `settled: false` with no reason. The first `describe` within a second of `button home` can still return the old tree; describe again. Gestures and `keyboard` re-front it and return `reactivated: true`; re-describe before the next step. - `launch-app`, `open-url` and `restart-app` set the app under automation; `reinstall-app` clears it; a tool-server restart forgets it: launch again. - Each tool's description states its own hardware limits (named keys, `gesture-custom` shapes, buttons, edge swipes, tap counts). A gated tool fails with a bare `not supported on ios device`: the fix is in the list below, not in the error. ## Tools on hardware - Only these exist: `list-devices`, `launch-app`, `restart-app`, `reinstall-app`, `open-url`, `describe`, `screenshot`, `screenshot-diff`, `gesture-tap`, `gesture-swipe`, `gesture-custom`, `button` (`home`, `volumeUp`, `volumeDown`, `actionButton` on models that have one), `keyboard`, `await-ui-element`, `await-screen-idle`, `run-sequence`, the e2e tools, `stop-simulator-server` and `stop-all-simulator-servers` (session end). Every other device tool fails with `not supported on ios device`. - No two-finger gestures, `rotate`, `shake`, `paste`, `settings-permissions`, screen recording, `debugger-*`, `react-profiler-*`, `native-profiler-*`, `native-*`, `boot-device`: drive the app's own zoom and rotate UI with taps and drags, move the phone by hand, type with `keyboard`, change permissions in the phone's Settings, and debug, profile or record on a simulator. - `gesture-swipe`: `durationMs` sets drag speed, not time; `momentum:false` only rests 300 ms at the end, no damping. `open-url` https lands in Safari, never in the app that owns the link: pass `bundleId`.
© software-mansion · Apache-2.0 · software-mansion/argent