Skill66.1k repo starsupdated today
orca-emulator
The orca-emulator skill provides native CLI commands to control running iOS/iPadOS/watchOS simulators from within Orca, capturing live framebuffer video and exposing touch, swipe, drag, and hardware button interactions through a workspace-scoped preview pane. Use it when you need to interact with a simulator's UI, inject camera input, manage app permissions, access the accessibility tree, or rotate the device during testing on a local Mac with Xcode Command Line Tools installed.
Install in Claude Code
Copygit clone --depth 1 https://github.com/stablyai/orca /tmp/orca-emulator && cp -r /tmp/orca-emulator/skills/orca-emulator ~/.claude/skills/orca-emulatorThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Orca Emulator This file is a discovery stub, not the usage guide. The full, version-matched Orca emulator reference is served by the `orca` binary itself — kept out of this file on purpose so it can never drift from the binary that will actually run your commands. Engage Orca whenever you drive a mobile (iOS) emulator / simulator stream from inside the Orca app: taps, gestures, typing, hardware buttons, camera injection, runtime permissions, the accessibility tree, and more — all while the live view stays in Orca's emulator pane. Prefer this over raw `serve-sim` or direct `simctl` when running agents inside Orca, which handles device scoping, helper lifecycle, and worktree context for you. It complements the orca-cli skill for terminals, worktrees, and the built-in browser. ## Resolve the CLI for this session Choose the executable once and reuse it for every later command: - If the `ORCA_CLI_COMMAND` environment variable is set, use its value. Orca exports this for managed WSL sessions. - Otherwise, in a dev checkout whose session exposes `ORCA_DEV_REPO_ROOT`, use `orca-dev`. - Otherwise, on Linux outside an Orca-managed terminal, use `orca-ide`. Never run bare `orca` there — outside Orca's terminals it normally resolves to the GNOME Orca screen reader (`/usr/bin/orca`) and starts speech on the user's machine. - Otherwise, use `orca`. Below, `ORCA` is a placeholder for the executable you resolved. Substitute it before running anything; do not create a shell variable or run `ORCA` literally. This works the same way in POSIX shells, PowerShell, and cmd.exe. If the selected executable cannot run, report its exact error and stop. Do not fall through to another executable, which could silently target a different Orca build. ## Load the full guide before running Orca commands ```text ORCA skills get orca-emulator ``` That prints the complete, version-matched guide for the exact binary that will handle your next commands — booting devices, taps and gestures, typing, hardware buttons, camera injection, permissions, and the accessibility tree. Read it first, then run the specific command you need. Don't guess subcommands or flags from memory or from a cached copy of this stub. They change between Orca releases, and this file deliberately no longer lists them. Confirm the app is up with `ORCA status --json` (start it with `ORCA open --json` if needed), and prefer `--json` for agent-driven calls. ## If an older Orca does not recognize `skills get` Use this fallback only when the selected binary explicitly reports that `skills get` is an unknown command. Another failure is not proof of an older binary; report it rather than guessing or changing executables. For a confirmed pre-guide binary, use only this bounded, read-only bootstrap to orient. Do not dead-end and do not invent commands: ```text ORCA status --json ORCA emulator list --json ``` Then tell the user that updating Orca restores the full, version-matched guide via `ORCA skills get orca-emulator`. Beyond these commands, ask the user rather than guessing a command surface this older binary may not support.