kuri-mobile
Provides access to iOS simulators and Android devices for automated testing.
Install
mkdir -p .claude/skills/kuri-mobile && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14690" && unzip -o skill.zip -d .claude/skills/kuri-mobile && rm skill.zipInstalls to .claude/skills/kuri-mobile
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Umbrella skill for mobile device control in the kuri ecosystem. Points to kuri-ios (iOS Simulator + real-device listing) and kuri-android (native Zig adb client). Use this when the user asks about "mobile automation" generally, or hasn't specified a platform. For platform-specific work prefer the `kuri-ios` or `kuri-android` skill directly.Key capabilities
- →List available mobile devices
- →Launch applications on iOS Simulator
- →Terminate applications on iOS Simulator
- →Take screenshots on iOS Simulator
- →Interact with Android devices via adb client
How it works
This skill acts as an umbrella for mobile device control, forwarding commands to platform-specific skills like kuri-ios for iOS Simulator and kuri-android for Android devices.
Inputs & outputs
When to use kuri-mobile
- →List available mobile devices
- →Launch mobile automation testing
- →Interact with connected Android devices
About this skill
kuri-mobile (umbrella)
kuri-mobile is the Zig-native subproject at kuri-mobile/ that
adds mobile device control to the kuri browser-automation stack.
Inspired by mobile-device-mcp,
reimplemented in Zig with no Bun, Node, Gradle, or Xcode in the
build path.
⚠️ iOS Simulator input seizes the host cursor.
kuri ios tap/swipe/type(plus doubletap/longpress) post real CGEvents into the macOS WindowServer, so they move your physical mouse and grab keyboard focus. Don't run them while you're working or from a background job.kuri androidinput runs on-device via adb and does not touch the host cursor. Tracked: #180, #183.
Use the platform-specific skills for actual work:
kuri-ios— iOS Simulator (boot, openurl, launch, terminate, screenshot, list-apps) + real-iPhone listing (usbmuxd) + real-iPhone launch/terminate (devicectl).kuri-android— Android devices and emulators (tap, swipe, type, press, screenshot, uitree, launch, terminate, list-apps) via a native Zig adb wire-protocol client.
Build once, use everywhere
cd kuri-mobile
zig build
zig build test
cp zig-out/bin/kuri-mobile ../zig-out/bin/ # so `kuri ios` / `kuri android` work
The main kuri binary forwards kuri android <cmd> and
kuri ios <cmd> to kuri-mobile (it execvps it from the same
directory or $PATH). So either invocation works:
kuri android list-devices
kuri-mobile android list-devices
Driverless scope (important)
We deliberately do not install an on-device driver app. Consequences you must be honest about:
- No
run_codeJavaScript sandbox. - No tap / swipe / type / uitree on real iOS devices (that would require a vendored XCUITest bundle; intentionally out of scope).
- Android gets nearly the full upstream tool surface because its
shell already exposes
input,screencap,uiautomator dump,monkey,am,pm.
Full parity matrix vs mobile-device-mcp: see
kuri-mobile/README.md.
When to reach for which skill
| User asks about… | Invoke |
|---|---|
| "iPhone", "iOS", "sim", "Safari on simulator", "iPad" | kuri-ios |
| "Android", "adb", "emulator", "Pixel", "Galaxy", "APK" | kuri-android |
| "mobile" without specifying | either — ask first, or default to this umbrella note |
| Browser automation (Chrome, CDP) | not a mobile skill — use kuri-server, kuri-agent, or kuri-browse |
When not to use it
- →When the user specifies a platform like iOS or Android
- →When the task involves browser automation
- →When the task requires JavaScript sandboxing on a device
Limitations
- →It does not install an on-device driver app.
- →It does not support run_code JavaScript sandbox.
- →It does not support tap, swipe, type, or uitree on real iOS devices.
How it compares
This skill provides a general entry point for mobile automation, whereas platform-specific skills directly handle commands for their respective operating systems.
Compared to similar skills
kuri-mobile side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| kuri-mobile (this skill) | 0 | 3mo | Review | Beginner |
| implementing-cards | 7 | 2mo | Review | Advanced |
| rust-tests-guidelines | 7 | 5mo | No flags | Beginner |
| write-rust-tests | 9 | 5mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
implementing-cards
bcollazo
Fill out the implementation of effects of different attacks, abilities, and trainer cards in this Pokemon TCG Pocket engine codebase.
rust-tests-guidelines
RediSearch
Guidelines for writing Rust tests.
write-rust-tests
RediSearch
Write Rust tests to verify correctness of Rust code.
check-rust-coverage
RediSearch
Check which Rust lines are not covered by Rust tests.
write-script-rust
windmill-labs
MUST use when writing Rust scripts.
cargo-fuzz
trailofbits
cargo-fuzz is the de facto fuzzing tool for Rust projects using Cargo. Use for fuzzing Rust code with libFuzzer backend.