원클릭으로
axe-ios-simulator
Use when automating iOS Simulator interactions, capturing screenshots/video, or inspecting accessibility via AXe CLI.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when automating iOS Simulator interactions, capturing screenshots/video, or inspecting accessibility via AXe CLI.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when creating, reviewing, or updating a BRIEF.md (the quality law for a surface), defining what "good"/shippable means, or setting up a verified autonomous loop.
Use when checking deployment health, investigating errors, reading logs, or working with Tiltfiles. Queries Tilt resource status, logs, and manages dev environments.
Use when starting tilt, debugging Tiltfile errors, or bootstrapping a dev environment. Starts Tilt in zmx, monitors bootstrap to healthy state, fixes Tiltfile bugs without hard-coding or fallbacks.
Use when creating commits, managing branches, opening PRs, or rewriting history. Not for non-git implementation tasks or repo-specific release policy decisions.
Use when syncing a feature branch onto the latest origin base branch via git rebase.
Fetch latest from origin, prune remote-tracking refs, delete stale local branches and worktrees, and fast-forward important branches. Use when tidying up a worktree-based repo layout.
| name | axe-ios-simulator |
| description | Use when automating iOS Simulator interactions, capturing screenshots/video, or inspecting accessibility via AXe CLI. |
AXe is a single-binary CLI for iOS Simulator automation via Apple's Accessibility APIs and HID.
brew install cameroncooke/axe/axe
# Get simulator UDID
axe list-simulators
UDID="<simulator-udid>"
# Basic interactions
axe tap -x 100 -y 200 --udid $UDID
axe tap --label "Safari" --udid $UDID
axe type 'Hello World!' --udid $UDID
axe gesture scroll-down --udid $UDID
axe button home --udid $UDID
axe screenshot --udid $UDID
# Tap at coordinates
axe tap -x 100 -y 200 --udid $UDID
# Tap by accessibility identifier or label
axe tap --id "myButton" --udid $UDID
axe tap --label "Submit" --udid $UDID
# With timing controls
axe tap -x 100 -y 200 --pre-delay 1.0 --post-delay 0.5 --udid $UDID
# Swipe
axe swipe --start-x 100 --start-y 300 --end-x 300 --end-y 100 --udid $UDID
axe swipe --start-x 50 --start-y 500 --end-x 350 --end-y 500 --duration 2.0 --delta 25 --udid $UDID
# Low-level touch control
axe touch -x 150 -y 250 --down --udid $UDID
axe touch -x 150 -y 250 --up --udid $UDID
axe touch -x 150 -y 250 --down --up --delay 1.0 --udid $UDID
| Preset | Use Case |
|---|---|
scroll-up | Content navigation |
scroll-down | Content navigation |
scroll-left | Horizontal scrolling |
scroll-right | Horizontal scrolling |
swipe-from-left-edge | Back navigation |
swipe-from-right-edge | Forward navigation |
swipe-from-top-edge | Dismiss/close |
swipe-from-bottom-edge | Open/reveal |
axe gesture scroll-down --udid $UDID
axe gesture swipe-from-left-edge --udid $UDID
axe gesture scroll-up --screen-width 430 --screen-height 932 --udid $UDID
axe gesture scroll-down --pre-delay 1.0 --post-delay 0.5 --udid $UDID
# Direct text (use single quotes for special characters)
axe type 'Hello World!' --udid $UDID
# From stdin (best for automation)
echo "Complex text" | axe type --stdin --udid $UDID
# From file
axe type --file input.txt --udid $UDID
# Individual key press by HID keycode
axe key 40 --udid $UDID # Enter key
axe key 42 --duration 1.0 --udid $UDID # Hold Backspace
# Key sequence
axe key-sequence --keycodes 11,8,15,15,18 --udid $UDID # "hello"
axe button home --udid $UDID
axe button lock --duration 2.0 --udid $UDID
axe button side-button --udid $UDID
axe button siri --udid $UDID
axe button apple-pay --udid $UDID
# Screenshot (auto-generates filename)
axe screenshot --udid $UDID
# Screenshot to specific path
axe screenshot --output ~/Desktop/screenshot.png --udid $UDID
# Video recording to MP4
axe record-video --udid $UDID --fps 15 --output recording.mp4
axe record-video --udid $UDID --fps 10 --quality 60 --scale 0.5 --output low-bandwidth.mp4
# Stream MJPEG
axe stream-video --udid $UDID --fps 10 --format mjpeg > stream.mjpeg
# Pipe to ffmpeg
axe stream-video --udid $UDID --fps 30 --format ffmpeg | \
ffmpeg -f image2pipe -framerate 30 -i - -c:v libx264 -preset ultrafast output.mp4
Press Ctrl+C to stop recording. AXe finalizes MP4 and prints path to stdout.
# Full screen accessibility tree
axe describe-ui --udid $UDID
# Accessibility info at specific point
axe describe-ui --point 100,200 --udid $UDID
axe tap --label "Continue" --pre-delay 2.0 --udid $UDID
for i in {1..5}; do
axe describe-ui --udid $UDID | grep -q "targetElement" && break
axe gesture scroll-down --udid $UDID
done
axe tap --label "targetElement" --udid $UDID
axe tap --label "Email" --udid $UDID
axe type 'user@example.com' --udid $UDID
axe tap --label "Password" --udid $UDID
axe type 'secret123' --udid $UDID
axe tap --label "Sign In" --udid $UDID
axe tap --label "Submit" --post-delay 1.0 --udid $UDID
axe screenshot --output result.png --udid $UDID