simulator-settings/SKILL.md
Tweak iOS simulator settings via xcrun simctl. Use when granting app permissions, changing UI appearance, simulating location, or overriding status bar. Triggers on "simulator settings", "grant permission", "privacy", "dark mode", "light mode", "location", "status bar", "simctl".
npx skillsauth add igor1309/skills simulator-settingsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Announce: "I'm using the simulator-settings skill to configure simulator settings."
Read from .claude/AGENTS.md:
<bundle-id><simulator-id>
Substitute placeholders below with values from .claude/AGENTS.md.Grant, revoke, or reset app permissions.
xcrun simctl privacy <simulator-id> <action> <service> <bundle-id>
| Action | Description |
|--------|-------------|
| grant | Grant access without prompting |
| revoke | Revoke access, deny all use |
| reset | Reset access, prompt on next use |
| Service | Description |
|---------|-------------|
| all | All services |
| calendar | Calendar access |
| contacts | Full contact details |
| contacts-limited | Basic contact info |
| location | Location when app in use |
| location-always | Location at all times |
| photos | Full photo library access |
| photos-add | Add photos only |
| media-library | Media library access |
| microphone | Audio input |
| motion | Motion and fitness data |
| reminders | Reminders access |
| siri | Siri integration |
# Grant location access
xcrun simctl privacy <simulator-id> grant location <bundle-id>
# Grant all permissions
xcrun simctl privacy <simulator-id> grant all <bundle-id>
# Reset all permissions
xcrun simctl privacy <simulator-id> reset all <bundle-id>
xcrun simctl ui <simulator-id> <option> [value]
| Option | Values |
|--------|--------|
| appearance | light, dark |
| increase_contrast | enabled, disabled |
| content_size | extra-small, small, medium, large, extra-large, extra-extra-large, extra-extra-extra-large, accessibility-medium, accessibility-large, accessibility-extra-large, accessibility-extra-extra-large, accessibility-extra-extra-extra-large |
# Set dark mode
xcrun simctl ui <simulator-id> appearance dark
# Set light mode
xcrun simctl ui <simulator-id> appearance light
# Increase text size
xcrun simctl ui <simulator-id> content_size extra-large
xcrun simctl location <simulator-id> <action> [arguments]
| Action | Description |
|--------|-------------|
| set <lat>,<lon> | Set fixed location |
| clear | Stop simulation, clear location |
| list | List available scenarios |
| run <scenario> | Run predefined scenario |
# Set Moscow location
xcrun simctl location <simulator-id> set 55.7558,37.6173
# Clear simulated location
xcrun simctl location <simulator-id> clear
xcrun simctl status_bar <simulator-id> override [flags]
| Flag | Values |
|------|--------|
| --time | Time string (e.g., "9:41") |
| --dataNetwork | hide, wifi, 3g, 4g, lte, lte-a, lte+, 5g, 5g+, 5g-uwb, 5g-uc |
| --wifiMode | searching, failed, active |
| --wifiBars | 0-3 |
| --cellularMode | notSupported, searching, failed, active |
| --cellularBars | 0-4 |
| --operatorName | Carrier name string |
| --batteryState | charging, charged, discharging |
| --batteryLevel | 0-100 |
# Screenshot-ready status bar
xcrun simctl status_bar <simulator-id> override \
--time "9:41" \
--batteryLevel 100 \
--batteryState charged \
--wifiBars 3 \
--cellularBars 4
# Clear overrides
xcrun simctl status_bar <simulator-id> clear
# Boot simulator
xcrun simctl boot <simulator-id>
# Shutdown simulator
xcrun simctl shutdown <simulator-id>
# Open URL in simulator
xcrun simctl openurl <simulator-id> "vortex://some/deeplink"
# Launch app
xcrun simctl launch <simulator-id> <bundle-id>
# Terminate app
xcrun simctl terminate <simulator-id> <bundle-id>
testing
Evaluates test name scaffolds for TDD readiness by determining if each test name provides enough specification clarity to write a failing test. Use when reviewing test scaffolds, evaluating executable specifications, or assessing whether test names clearly define testable behavior without implementation ambiguity.
development
Interactive Test-Driven Development workflow with reviewer-in-the-loop. Implements the RED-GREEN-REFACTOR cycle with two mandatory verification gates where a reviewer (human or AI) approves work before progression. Applies to any code development that follows test-first methodology: features, bug fixes, refactoring, or enhancements. Invoked when TDD discipline with step-by-step verification is required.
development
Use when the user needs a concise description of a component, module, product, or entire codebase for someone with zero project context. Triggers on "synopsis", "describe this for outsiders", "write a description", "explain what this does", "elevator pitch", or when producing text for READMEs, marketplace listings, or onboarding docs.
development
Clean, maintainable Package.swift creation and editing using the static property pattern from Facebook iOS SDK. Use when creating new Package.swift files, refactoring existing ones, adding modules/targets to Swift packages, or organizing Swift Package Manager manifests for better maintainability.