simvyn: skill for iOS Simulators and Android Emulators
simvyn
A skill that teaches an agent to drive iOS Simulators, Android Emulators and USB phones through the simvyn command line tool
- 440 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The commands erase and delete devices, uninstall apps and clear their data, and a collection can do the same on several devices at once
- The tool runs arbitrary SQL queries against app databases, uploads and downloads files in an app sandbox and adds root certificates to a device keychain
- The tool starts a local server with a web dashboard and is not designed for untrusted networks
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/simvynDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The commands erase and delete devices, uninstall apps and clear their data, and a collection can do the same on several devices at once
- The tool runs arbitrary SQL queries against app databases, uploads and downloads files in an app sandbox and adds root certificates to a device keychain
- The tool starts a local server with a web dashboard and is not designed for untrusted networks
This is third-party code. Review the repository files before installing.
What it does
simvyn is a command line tool and web dashboard for controlling iOS Simulators, Android Emulators and real devices connected over USB. The skill in the `skills/simvyn` folder teaches an agent to work with it: find devices, install and launch apps, take screenshots and record the screen, collect bounded logs and inspect app data. The skill uses the agent's terminal and registers neither an MCP server nor new tools. Four reference files sit next to it: CLI commands, platform support, ready recipes such as reproducing a bug or checking GPS and push, and automation with notes on reading errors and collection results. For the Pi agent the npm package installs as a Pi package and adds the tools `simvyn`, `simvyn_screenshot`, `simvyn_logs` and `simvyn_record`, the `/simvyn` command and the prompt templates `/simvyn-repro`, `/simvyn-screen` and `/simvyn-logs`.
Who it is for. For mobile developers and testers who debug apps on simulators and emulators and want to hand an agent build installs, GPS checks, deep links and log collection.
Good fit when
- You need to reproduce a bug: install a build on a device, launch the app, take a screenshot and capture a bounded log
- You are checking location-dependent behavior: set coordinates or play a GPX or KML route on an emulator
- You need to open a deep link or send a push notification with ready JSON to an iOS simulator
- You test one scenario on several devices and bundle the actions into a collection
- You want to look into an app's SQLite database or SharedPreferences to see what is stored there
Not a fit when
- You need an iOS simulator on Linux: iOS is available only on macOS, and Linux runs Android only
- You need screenshots, screen recording or location on a physical iPhone: real iOS devices do not support those operations
- You are looking for an MCP server with separate tools: the skill works through the terminal
- The simvyn tool is not installed and the agent may not install packages: the skill downloads and builds nothing itself
Example request
Install the build on the running iOS simulator, open the payment screen through a deep link, take a screenshot and send me the log with errorsLimitations
The skill needs the simvyn tool installed and Node.js 22.14 or newer. macOS supports iOS and Android, Linux supports Android only. iOS requires Xcode and simulator runtimes, Android requires adb and configured devices or emulators.
On physical iOS devices you can discover devices, install and launch apps, open deep links and copy files, and Xcode 15 or newer is required. Screenshots, screen recording, location, clipboard, appearance and push are missing there. Location through `adb emu geo` and battery simulation do not work on real Android devices either.
The agent has to use the full device ID: matching by name and by ID prefix behaves differently across commands. After an Android emulator boots, its ID changes from `avd:<name>` to `emulator-<port>`, and devices must be discovered again.
How to disable. Delete the `simvyn` skill folder from your agent's skills directory. The tool itself is removed with `npm uninstall -g simvyn`.
FAQ
How do I install the simvyn skill in Codex?
First install the tool with `npm install -g simvyn`, then run `npx skills add pranshuchittora/simvyn --skill simvyn --agent codex --yes`. For another agent change the value of the `--agent` flag.
How do I start the simvyn dashboard without installing?
The `npx simvyn` command starts a local server, opens the dashboard in your browser and immediately discovers simulators, emulators and USB-connected devices.
Does simvyn work on Linux?
Yes, but with Android only: emulators and phones. iOS simulators require macOS.
Why is a collection of actions risky?
A collection bundles actions on devices into a repeatable sequence and is applied with `simvyn collections apply`. Its name does not reveal whether it erases data, so the skill requires running `collections show` first.
What does simvyn add to the Pi agent?
The package is installed with `pi install npm:simvyn` for Pi 0.74 or newer and adds screenshot, log and recording tools, the `/simvyn` command and three prompt templates.
Discussion
No questions or reviews yet.
Related
SkillsA skill with scripts for building iOS apps and driving the simulator through the accessibility tree, with compact output for agents
The npx serve-sim command streams an iOS Simulator to the browser and lets an agent tap, swipe, type and replace the camera feed
Desktop app and CLI for Android emulators, iOS simulators and real phones with an MCP server for agents
A skill and MCP server with a library of ready SwiftUI components and recipes so the agent builds iOS screens from tested code instead of writing them from scra
A DeepSeek Harness plugin: iOS Simulator and a USB iPhone inside the chat, with 22 tools to drive them
A set of skills for iOS 26+, Swift 6.3 and SwiftUI that gives the agent knowledge of modern Apple frameworks
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| simvyn: skill for iOS Simulators and Android Emulators (this entry) | no | 440 | ||
| Mobile MCP | no | not required | 10,095 | an MCP server that drives iOS and Android through the accessibility tree and screenshots |
| iOS Simulator Skill | no | 1,302 | a skill with scripts for building iOS apps and driving the simulator | |
| SimUtil: MCP for emulators and simulators | no | not required | 1,201 | a desktop app and CLI for emulators and simulators with an MCP server |
README in short
The description gathers screenshots of the dashboard modules, a CLI command reference with arguments and a table of platform support. For agents there is a separate guide, `docs/agents.md`, and a compact documentation index, `llms.txt`.
README badge
Original SKILL.md
--- name: simvyn description: Operate iOS Simulators, Android Emulators, and connected mobile devices with Simvyn. Use for device discovery, app installation and launch, screenshots, logs, deep links, location simulation, app data inspection, device settings, and reusable device workflows through the Simvyn CLI or dashboard. license: MIT --- # Simvyn Use Simvyn to inspect or operate the user's mobile development environment. This is a CLI workflow skill and does not register MCP tools. When the `simvyn`, `simvyn_screenshot`, `simvyn_logs`, and `simvyn_record` tools are available, as in Pi with the simvyn package installed, prefer them over the launcher: they resolve the CLI, bound log and recording captures, and return screenshots as images. The references below apply to both. Requires Node.js 22 (22.14.0+) or 24+ and an installed or built Simvyn CLI. macOS supports iOS and Android; Linux supports Android. iOS requires Xcode and simulator runtimes; Android requires adb and configured devices or emulators. See the platform reference for operation-specific requirements. ## Start with the installed CLI Resolve paths relative to this skill directory, not the user's project directory. The supplied launcher prefers the CLI bundled beside the installed skill, then a built Simvyn checkout, then `simvyn` on `PATH`. It does not download packages, build the project, or start a server on its own. ```bash node /absolute/path/to/skills/simvyn/scripts/simvyn.mjs --version node /absolute/path/to/skills/simvyn/scripts/simvyn.mjs device list --json ``` In the references, `simvyn` means this resolved invocation, or the user's existing `simvyn` executable when appropriate. Read `--help` for the installed command if its version differs from these references. Running with no arguments starts the dashboard; use an explicit subcommand for headless work. Choose the full device ID from discovery and retain it through the task. Device name and ID-prefix matching are inconsistent across commands. Rediscover after booting an Android AVD because `avd:<name>` changes to an `emulator-<port>` ID. Most operations require a booted device. A discovered physical device may still need to be unlocked or trusted. ## Choose the relevant reference - [CLI commands](references/cli.md): argument order, supported options, output forms, and commands missing from brief help examples. - [Platform support](references/platforms.md): read before physical-device operations, permissions, app data inspection, clipboard work, or selecting an iOS/Android equivalent. - [Recipes](references/recipes.md): app repro sessions, screenshots, Android local development, GPS and push testing, accessibility checks, and multi-device collections. - [Automation and troubleshooting](references/automation.md): read for scripts/CI, JSON parsing, long-running processes, failed commands, and collection result interpretation. ## Execute and verify within the task Use the actions needed for the user's request. Inspect an existing collection with `collections show` before applying it: its name does not reveal whether it erases data, launches apps, or changes settings. Preserve any existing authorization; when a requested diagnosis does not include deleting/resetting data, propose the concrete reset before doing it. Save screenshots, recordings, and downloaded files to explicit paths and inspect the artifacts needed to substantiate the result. A screenshot command returns a path; the agent must use its own image-viewing tool to inspect the image. Report the device, actions performed, artifact locations, and observed failures or unsupported operations. Do not infer success from a command being available or from a collection's zero exit status alone.