Agent skill

iOS Simulator Skill

by n0an in n0an/VivaDicta

21 production-ready scripts for iOS app testing, building, and automation.

MITAuto-check passedMobile

Install iOS Simulator Skill

skills CLI
$ npx skills add n0an/VivaDicta --skill ios-simulator-skill -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install n0an/VivaDicta ios-simulator-skill --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/n0an/VivaDicta.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/ios-simulator-skill .claude/skills/ios-simulator-skill && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ios-simulator-skill
GitHub stars
131
Used in
1 other repo
Token cost
~2.5k tokens
SKILL.md length
1,060 words
Files
42 (incl. scripts, references)
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

21 production-ready scripts for iOS app testing, building, and automation.

  • Works in 3 steps: screen_mapper.py → structured element… → navigator.py… → Screenshots → only for visual…
  • Tasks that involve Accessibility
  • SKILL.md covers Quick Start, Navigation Strategy, 21 Production Scripts and Common Patterns, plus 4 more sections
  • Runs Python scripts from its folder; calls python and bash

What it does

iOS Simulator Skill is an agent skill from n0an/VivaDicta. 21 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation, accessibility testing, and simulator lifecycle management. Optimized for AI agents with minimal token output.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 45 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/accessibility_checklist.md` and `references/idb_quick.md`).

It sits in Mobile, covering Accessibility and iOS development. It works with iOS. The repository describes itself as: iOS & watchOS speech-to-text app with AI voice keyboard, on-device RAG, and chat with your notes - powered by Apple Foundation Models, WhisperKit, NVIDIA Parakeet, and 20+ AI…. The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility
  • Tasks that involve iOS development

Example prompts

  • “/ios-simulator-skill”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. screen_mapper.py → structured element list (5-7 lines, ~10 tokens)
  2. navigator.py --find-text/--find-type/--find-id → semantic interaction
  3. Screenshots → only for visual verification, bug reports, or visual diff

What it can do on your machine

Read from SKILL.md and the folder at commit b141304. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 10 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

iOS Simulator Skill loads about 2.5k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 1,060 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from n0an/VivaDicta at commit b141304, republished under its MIT licence (© n0an). 1,060 words, ~2,538 tokens.

Download SKILL.mdSave it as .claude/skills/ios-simulator-skill/SKILL.md (or your agent's skills folder). This skill also uses 41 other files; get the full folder from GitHub.
name
ios-simulator-skill
description
21 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation, accessibility testing, and simulator lifecycle management. Optimized for AI agents with minimal token output.
version
1.3.0

iOS Simulator Skill

Build, test, and automate iOS applications using accessibility-driven navigation and structured data instead of pixel coordinates.

Quick Start

bash
# 1. Check environment
bash scripts/sim_health_check.sh

# 2. Launch app
python scripts/app_launcher.py --launch com.example.app

# 3. Map screen to see elements
python scripts/screen_mapper.py

# 4. Tap button
python scripts/navigator.py --find-text "Login" --tap

# 5. Enter text
python scripts/navigator.py --find-type TextField --enter-text "user@example.com"

All scripts support --help for detailed options and --json for machine-readable output.

Navigation Strategy

Always prefer the accessibility tree over screenshots for navigation. The accessibility tree gives you element types, labels, frames, and tap targets — structured data that's cheaper and more reliable than image analysis.

Use this priority:

  1. screen_mapper.py → structured element list (5-7 lines, ~10 tokens)
  2. navigator.py --find-text/--find-type/--find-id → semantic interaction
  3. Screenshots → only for visual verification, bug reports, or visual diff

Screenshots cost 1,600–6,300 tokens depending on size. The accessibility tree costs 10–50 tokens in default mode.

21 Production Scripts

Build & Development (2 scripts)
  1. build_and_test.py - Build Xcode projects, run tests, parse results with progressive disclosure

    • Build with live result streaming
    • Parse errors and warnings from xcresult bundles
    • Retrieve detailed build logs on demand
    • Options: --project, --scheme, --clean, --test, --verbose, --json
  2. log_monitor.py - Real-time log monitoring with intelligent filtering

    • Stream logs or capture by duration
    • Filter by severity (error/warning/info/debug)
    • Deduplicate repeated messages
    • Options: --app, --severity, --follow, --duration, --output, --json
Navigation & Interaction (5 scripts)
  1. screen_mapper.py - Analyze current screen and list interactive elements

    • Element type breakdown
    • Interactive button list
    • Text field status
    • Options: --verbose, --hints, --json
  2. navigator.py - Find and interact with elements semantically

    • Find by text (fuzzy matching)
    • Find by element type
    • Find by accessibility ID
    • Enter text or tap elements
    • Options: --find-text, --find-type, --find-id, --tap, --enter-text, --json
  3. gesture.py - Perform swipes, scrolls, pinches, and complex gestures

    • Directional swipes (up/down/left/right)
    • Multi-swipe scrolling
    • Pinch zoom
    • Long press
    • Pull to refresh
    • Options: --swipe, --scroll, --pinch, --long-press, --refresh, --json
  4. keyboard.py - Text input and hardware button control

    • Type text (fast or slow)
    • Special keys (return, delete, tab, space, arrows)
    • Hardware buttons (home, lock, volume, screenshot)
    • Key combinations
    • Options: --type, --key, --button, --slow, --clear, --dismiss, --json
  5. app_launcher.py - App lifecycle management

    • Launch apps by bundle ID
    • Terminate apps
    • Install/uninstall from .app bundles
    • Deep link navigation
    • List installed apps
    • Check app state
    • Options: --launch, --terminate, --install, --uninstall, --open-url, --list, --state, --json
Testing & Analysis (5 scripts)
  1. accessibility_audit.py - Check WCAG compliance on current screen

    • Critical issues (missing labels, empty buttons, no alt text)
    • Warnings (missing hints, small touch targets)
    • Info (missing IDs, deep nesting)
    • Options: --verbose, --output, --json
  2. visual_diff.py - Compare two screenshots for visual changes

    • Pixel-by-pixel comparison
    • Threshold-based pass/fail
    • Generate diff images
    • Options: --threshold, --output, --details, --json
  3. test_recorder.py - Automatically document test execution

    • Capture screenshots and accessibility trees per step
    • Generate markdown reports with timing data
    • Options: --test-name, --output, --verbose, --json
  4. app_state_capture.py - Create comprehensive debugging snapshots

    • Screenshot, UI hierarchy, app logs, device info
    • Markdown summary for bug reports
    • Options: --app-bundle-id, --output, --log-lines, --json
  5. sim_health_check.sh - Verify environment is properly configured

    • Check macOS, Xcode, simctl, IDB, Python
    • List available and booted simulators
    • Verify Python packages (Pillow)
Advanced Testing & Permissions (4 scripts)
  1. clipboard.py - Manage simulator clipboard for paste testing

    • Copy text to clipboard
    • Test paste flows without manual entry
    • Options: --copy, --test-name, --expected, --json
  2. status_bar.py - Override simulator status bar appearance

    • Presets: clean (9:41, 100% battery), testing (11:11, 50%), low-battery (20%), airplane (offline)
    • Custom time, network, battery, WiFi settings
    • Options: --preset, --time, --data-network, --battery-level, --clear, --json
  3. push_notification.py - Send simulated push notifications

    • Simple mode (title + body + badge)
    • Custom JSON payloads
    • Test notification handling and deep links
    • Options: --bundle-id, --title, --body, --badge, --payload, --json
  4. privacy_manager.py - Grant, revoke, and reset app permissions

    • 13 supported services (camera, microphone, location, contacts, photos, calendar, health, etc.)
    • Batch operations (comma-separated services)
    • Audit trail with test scenario tracking
    • Options: --bundle-id, --grant, --revoke, --reset, --list, --json
Show full SKILL.md (473 more words)Show less
Device Lifecycle Management (5 scripts)
  1. simctl_boot.py - Boot simulators with optional readiness verification

    • Boot by UDID or device name
    • Wait for device ready with timeout
    • Batch boot operations (--all, --type)
    • Performance timing
    • Options: --udid, --name, --wait-ready, --timeout, --all, --type, --json
  2. simctl_shutdown.py - Gracefully shutdown simulators

    • Shutdown by UDID or device name
    • Optional verification of shutdown completion
    • Batch shutdown operations
    • Options: --udid, --name, --verify, --timeout, --all, --type, --json
  3. simctl_create.py - Create simulators dynamically

    • Create by device type and iOS version
    • List available device types and runtimes
    • Custom device naming
    • Returns UDID for CI/CD integration
    • Options: --device, --runtime, --name, --list-devices, --list-runtimes, --json
  4. simctl_delete.py - Permanently delete simulators

    • Delete by UDID or device name
    • Safety confirmation by default (skip with --yes)
    • Batch delete operations
    • Smart deletion (--old N to keep N per device type)
    • Options: --udid, --name, --yes, --all, --type, --old, --json
  5. simctl_erase.py - Factory reset simulators without deletion

    • Preserve device UUID (faster than delete+create)
    • Erase all, by type, or booted simulators
    • Optional verification
    • Options: --udid, --name, --verify, --timeout, --all, --type, --booted, --json

Common Patterns

Auto-UDID Detection: Most scripts auto-detect the booted simulator if --udid is not provided.

Device Name Resolution: Use device names (e.g., "iPhone 16 Pro") instead of UDIDs - scripts resolve automatically.

Batch Operations: Many scripts support --all for all simulators or --type iPhone for device type filtering.

Output Formats: Default is concise human-readable output. Use --json for machine-readable output in CI/CD.

Help: All scripts support --help for detailed options and examples.

Screenshot Sizing: Screenshots are resized to save tokens. Presets: full (3-4 tiles, ~5K tokens), half (1 tile, ~1.6K tokens, default), quarter (1 tile, ~800 tokens, less detail). Use quarter for quick visual checks, half for readable UI, full only when pixel-level detail matters. Scripts that capture screenshots (app_state_capture.py, test_recorder.py) default to half.

Typical Workflow

  1. Verify environment: bash scripts/sim_health_check.sh
  2. Launch app: python scripts/app_launcher.py --launch com.example.app
  3. Analyze screen: python scripts/screen_mapper.py
  4. Interact: python scripts/navigator.py --find-text "Button" --tap
  5. Verify: python scripts/accessibility_audit.py
  6. Debug if needed: python scripts/app_state_capture.py --app-bundle-id com.example.app

Requirements

  • macOS 12+
  • Xcode Command Line Tools
  • Python 3
  • IDB (optional, for interactive features)

Documentation

  • SKILL.md (this file) - Script reference and quick start
  • README.md - Installation and examples
  • AGENTS.md - Architecture and implementation details
  • references/ - Deep documentation on specific topics
  • examples/ - Complete automation workflows

Key Design Principles

Semantic Navigation: Find elements by meaning (text, type, ID) not pixel coordinates. Survives UI changes.

Token Efficiency: Concise default output (3-5 lines) with optional verbose and JSON modes for detailed results.

Accessibility-First: Built on standard accessibility APIs for reliability and compatibility.

Zero Configuration: Works immediately on any macOS with Xcode. No setup required.

Structured Data: Scripts output JSON or formatted text, not raw logs. Easy to parse and integrate.

Auto-Learning: Build system remembers your device preference. Configuration stored per-project.


Use these scripts directly or let your agent invoke them automatically when your request matches the skill description.

© n0an, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 41 other files (scripts, references) in .agents/skills/ios-simulator-skill of n0an/VivaDicta.

  • SKILL.md
  • agents/openai.yaml
  • references/accessibility_checklist.md
  • references/idb_quick.md
  • references/simctl_quick.md
  • references/test_patterns.md
  • references/troubleshooting.md
  • scripts/accessibility_audit.py
  • scripts/app_launcher.py
  • scripts/app_state_capture.py
  • scripts/build_and_test.py
  • scripts/clipboard.py
  • scripts/common/__init__.py
  • scripts/common/cache_utils.py
  • scripts/common/device_utils.py
  • scripts/common/idb_utils.py
  • scripts/common/screenshot_utils.py
  • … and 25 more

Open the folder on GitHubat commit b141304

Used in 1 other repository

We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in n0an/VivaDicta, which our catalogue first saw on October 7, 2026.

Compare with similar skills

iOS Simulator Skill next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

iOS Simulator Skill compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
iOS Simulator Skill this skilln0an/VivaDicta1311 repos~2.5kAutomated safety check: PassMIT
Hig Components Contentraintree-technology/hig-doctor1435 repos~1.3kAutomated safety check: PassMIT
iOS Accessibilitydpearson2699/swift-ios-skills1.2k—~4.6kAutomated safety check: PassCustom licence
iOS Simulator Skillconorluddy/ios-simulator-skill1.3k—~5.7kAutomated safety check: PassMIT
Serve Simopenchamber/openchamber11k—~619Automated safety check: PassMIT
iOS Accessibility Testingconorluddy/xclaude-plugin183—~5kAutomated safety check: PassMIT

Similar skills

  • Hig Components Content

    raintree-technology/hig-doctor

    Apple Human Interface Guidelines for content display components.

    143 GitHub starsUsed in 5 repos~1.3k tokens
    MobileAuto-check passed
  • iOS Accessibility

    dpearson2699/swift-ios-skills

    Build and audit SwiftUI, UIKit, and AppKit accessibility for VoiceOver, Voice Control, Switch Control, Full Keyboard Access, Dynamic Type, focus restoration, labels/traits/actions, traversal, custom…

    1.2k GitHub stars~4.6k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • iOS Simulator Skill

    conorluddy/ios-simulator-skill

    29 production-ready scripts for iOS app testing, building, and automation.

    1.3k GitHub stars~5.7k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Serve Sim

    openchamber/openchamber

    A skill your agent uses when working with the OpenChamber iOS Simulator app without opening Xcode - boot/install/launch the Capacitor iOS app, start a browser stream, tap/type/gesture/rotate…

    11k GitHub stars~619 tokensUpdated today
    MobileAuto-check passed
  • iOS Accessibility Testing

    conorluddy/xclaude-plugin

    Guides WCAG 2.1 and VoiceOver accessibility testing for iOS apps, working from the accessibility tree and not from screenshots.

    183 GitHub stars~5k tokensUpdated 27 days ago
    Testing & QAAuto-check passed
  • Assistive Access

    gustavscirulis/snapgrid

    Assistive Access implementation for cognitive accessibility including simplified scenes, navigation icons, runtime detection, and design principles.

    117 GitHub starsUsed in 1 repo~2.5k tokens
    MobileAuto-check passed

More from n0an/VivaDicta

All 20 skills in this repo
  • Swiftdata Pro

    n0an/VivaDicta

    Writes, reviews, and improves SwiftData code using modern APIs and best practices.

    131 GitHub starsUsed in 1 repo~930 tokens
    Auto-check passed
  • Asc Metadata Sync

    n0an/VivaDicta

    Sync and validate App Store metadata and localizations with asc, including legacy metadata format migration.

    131 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Asc Aso Rankings

    n0an/VivaDicta

    Pull current keyword rankings from Astro MCP, compare against the previous rankings check, and save a new rankings file to the vault.

    131 GitHub stars~985 tokensUpdated 4 days ago
    Auto-check passed
  • Coverage Report

    n0an/VivaDicta

    Measure VivaDicta test code coverage from the terminal. An agent skill from n0an/VivaDicta.

    131 GitHub stars~1.2k tokensUpdated 4 days ago
    Auto-check passed
  • Loc Report

    n0an/VivaDicta

    Count Swift lines of code across the VivaDicta codebase and refresh the production-vs-test history chart.

    131 GitHub stars~825 tokensUpdated 4 days ago
    Auto-check passed
  • Asc Release Flow

    n0an/VivaDicta

    Determine whether an app is ready to submit, then drive the App Store release flow with asc, including first-time submission fixes for availability, in-app purchases, subscriptions, Game Center, and…

    131 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed

Works with

Categories

Questions about iOS Simulator Skill

What does iOS Simulator Skill do?

21 production-ready scripts for iOS app testing, building, and automation. iOS Simulator Skill is an agent skill from n0an/VivaDicta. 21 production-ready scripts for iOS app testing, building, and automation.

When should I use iOS Simulator Skill?

iOS Simulator Skill fits situations like: tasks that involve Accessibility; tasks that involve iOS development.

How do I install iOS Simulator Skill in Claude Code?

Run `npx skills add n0an/VivaDicta --skill ios-simulator-skill -a claude-code`. Or copy the skill folder (.agents/skills/ios-simulator-skill in n0an/VivaDicta) into .claude/skills/ios-simulator-skill in your project. Claude Code loads it when a task matches its description.

How do I install iOS Simulator Skill in Codex?

Run `npx skills add n0an/VivaDicta --skill ios-simulator-skill -a codex`. Or copy the skill folder (.agents/skills/ios-simulator-skill in n0an/VivaDicta) into .agents/skills/ios-simulator-skill in your project. Codex loads it when a task matches its description.

Can I use iOS Simulator Skill in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add n0an/VivaDicta --skill ios-simulator-skill -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ios-simulator-skill, .gemini/skills/ios-simulator-skill, .github/skills/ios-simulator-skill and .opencode/skills/ios-simulator-skill in your project.

What does iOS Simulator Skill need to run?

Going by SKILL.md and its folder, iOS Simulator Skill needs Python for the scripts in its folder and the command-line tools its instructions call (python and bash). Our summary lists: Python 3.

Does iOS Simulator Skill access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is iOS Simulator Skill safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does iOS Simulator Skill use?

iOS Simulator Skill is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does iOS Simulator Skill use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to iOS Simulator Skill?

Skills that share tags, products or a category with iOS Simulator Skill: Hig Components Content (raintree-technology/hig-doctor, 143 stars), iOS Accessibility (dpearson2699/swift-ios-skills, 1.2k stars), iOS Simulator Skill (conorluddy/ios-simulator-skill, 1.3k stars) and Serve Sim (openchamber/openchamber, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains iOS Simulator Skill?

n0an (a GitHub user) maintains it in n0an/VivaDicta, which has 131 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 5, 2026.

Source: n0an/VivaDicta on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.