# Send iOS Simulator Skill to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ios-simulator",
    "name": "iOS Simulator Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/tristanmanchester/ios-simulator",
    "canonicalUrl": "https://clawhub.ai/tristanmanchester/ios-simulator",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/ios-simulator",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ios-simulator",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/ios-sim.mjs",
      "references/TROUBLESHOOTING.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "ios-simulator",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-12T04:14:22.434Z",
      "expiresAt": "2026-05-19T04:14:22.434Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ios-simulator",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ios-simulator",
        "contentDisposition": "attachment; filename=\"ios-simulator-0.1.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "ios-simulator"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ios-simulator"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ios-simulator",
    "downloadUrl": "https://openagent3.xyz/downloads/ios-simulator",
    "agentUrl": "https://openagent3.xyz/skills/ios-simulator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ios-simulator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ios-simulator/agent.md"
  }
}
```
## Documentation

### iOS Simulator Automation

This skill provides a Node-only CLI wrapper around:

xcrun simctl for simulator/device/app management
idb for accessibility-tree inspection + synthesised UI input (tap/text/button)

It is designed for AI agents: minimal, structured output by default, with opt-in detail.

### Important constraints

Must run on macOS with Xcode Command Line Tools (or Xcode) available.
If the ClawdBot gateway is not macOS, run these commands on a connected macOS node (see “Remote macOS node” below).
idb is optional, but required for UI tree / semantic tapping. (Install steps below.)

### Quick start

# 1) Sanity check
node {baseDir}/scripts/ios-sim.mjs health

# 2) List simulators (compact)
node {baseDir}/scripts/ios-sim.mjs list

# 3) Select a default simulator (writes .ios-sim-state.json in the current dir)
node {baseDir}/scripts/ios-sim.mjs select --name "iPhone" --runtime "iOS" --boot

# 4) Install + launch an .app
node {baseDir}/scripts/ios-sim.mjs app install --app path/to/MyApp.app
node {baseDir}/scripts/ios-sim.mjs app launch --bundle-id com.example.MyApp

# 5) Inspect current UI (requires idb)
node {baseDir}/scripts/ios-sim.mjs ui summary
node {baseDir}/scripts/ios-sim.mjs ui tap --query "Log in"
node {baseDir}/scripts/ios-sim.mjs ui type --text "hello world"

# 6) Screenshot
node {baseDir}/scripts/ios-sim.mjs screenshot --out artifacts/screen.png

### Remote macOS node

If you are not on macOS, run the same commands on the macOS node using ClawdBot’s node execution (e.g. exec with host: node / node tools). Ensure the skill folder exists on that node, or copy it there.

### Output conventions (token-efficient)

Default output: single-line JSON (small summary object).
Add --pretty to pretty-print JSON.
Add --text for a short human-readable summary (when provided by the command).
Commands that can be huge (ui tree, list --full) are opt-in.

### State / default UDID

select writes a state file (default: ./.ios-sim-state.json) that stores the chosen UDID.
All commands accept --udid <UUID> and otherwise fall back to the state file.

Override location with:

IOS_SIM_STATE_FILE=/path/to/state.json

### Xcode / simctl availability

If xcrun cannot find simctl, ensure Xcode CLI tools are selected (via Xcode settings or xcode-select) and run the first-launch setup:

xcodebuild -runFirstLaunch

### idb (for accessibility automation)

Install idb_companion and the idb CLI:

brew tap facebook/fb
brew install idb-companion
python3 -m pip install --upgrade fb-idb

### Safety tiers

TierCommandsNotesSAFElist, health, boot, shutdown, screenshot, ui *No data lossCAUTIONprivacy *, push, clipboard *, openurlAlters simulator/app stateDANGEROUSerase, deleteRequires --yes

### Command index

All commands live under:

node {baseDir}/scripts/ios-sim.mjs <command> [subcommand] [flags]

### Core simulator lifecycle

list [--full]
select --name <substr> [--runtime <substr>] [--boot]
boot [--udid <uuid>] [--wait]
shutdown [--udid <uuid>|--all]
erase --yes [--udid <uuid>|--all]
delete --yes [--udid <uuid>]
create --name <name> --device-type <substr> --runtime <substr>

### App management

app install --app <path/to/App.app> [--udid ...]
app uninstall --bundle-id <id> [--udid ...]
app launch --bundle-id <id> [--udid ...] [-- <args...>]
app terminate --bundle-id <id> [--udid ...]
app container --bundle-id <id> [--type data|app] [--udid ...]

### Screenshots & video

screenshot --out <file.png> [--udid ...]
record-video --out <file.mp4> [--udid ...] (runs until Ctrl+C)

### Clipboard / URL

clipboard get [--udid ...]
clipboard set --text <text> [--udid ...]
openurl --url <url> [--udid ...]

### Simulator permissions & push notifications

privacy grant --bundle-id <id> --service <svc[,svc...]> [--udid ...]
privacy revoke --bundle-id <id> --service <svc[,svc...]> [--udid ...]
privacy reset --bundle-id <id> --service <svc[,svc...]> [--udid ...]
push --bundle-id <id> --payload <json-string> [--udid ...]

### Logs

logs show [--last 5m] [--predicate <expr>] [--udid ...]

### Accessibility-driven UI automation (requires idb)

ui summary [--limit 12]
ui tree (full UI JSON array)
ui find --query <text> [--limit 20]
ui tap --query <text> (find + tap best match)
ui tap --x <num> --y <num> (raw coordinate tap)
ui type --text <text>
ui button --name HOME|LOCK|SIRI|SIDE_BUTTON|APPLE_PAY

### Troubleshooting

See: references/TROUBLESHOOTING.md
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: tristanmanchester
- Version: 0.1.2
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-12T04:14:22.434Z
- Expires at: 2026-05-19T04:14:22.434Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/ios-simulator)
- [Send to Agent page](https://openagent3.xyz/skills/ios-simulator/agent)
- [JSON manifest](https://openagent3.xyz/skills/ios-simulator/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ios-simulator/agent.md)
- [Download page](https://openagent3.xyz/downloads/ios-simulator)