A collection of Python tools for iOS Simulator automation, designed for use with Amp.
Derived from ios-simulator-skill by Conor Luddy, adapted for the Amp toolbox protocol.
- 18 production tools for building, testing, and automation
- Semantic navigation - find elements by text, type, or ID
- Token optimized - concise output for AI agent consumption
- Zero configuration - works immediately on macOS with Xcode
- Structured output - JSON and formatted text, easy to parse
- Auto-UDID detection - no need to specify device each time
- macOS with Xcode installed
- Python 3.x
- iOS Simulator
-
Clone this repository:
git clone https://github.com/user/amp-tools-ios.git
-
Install dependencies:
cd amp-tools-ios pip install -
Configure Amp to use the toolbox by setting the
AMP_TOOLBOXenvironment variable to point to thetoolsdirectory:Option A: Shell configuration (recommended)
Add to your
~/.zshrcor~/.bashrc:export AMP_TOOLBOX="/path/to/amp-tools-ios/tools"
To combine with other toolboxes, use colon-separated paths:
export AMP_TOOLBOX="/path/to/amp-tools-ios/tools:$HOME/.config/amp/tools"
Option B: VS Code / Cursor settings
Add to your
settings.json:{ "terminal.integrated.env.osx": { "AMP_TOOLBOX": "/path/to/amp-tools-ios/tools" } } -
Restart Amp to discover the tools.
| Tool | Description |
|---|---|
build_and_test.py |
Build projects, run tests, parse results |
log_monitor.py |
Real-time log monitoring |
| Tool | Description |
|---|---|
screen_mapper.py |
Analyze current screen and list interactive elements |
navigator.py |
Find and interact with elements |
gesture.py |
Swipes, scrolls, pinches |
keyboard.py |
Text input and hardware buttons |
app_launcher.py |
App lifecycle control |
| Tool | Description |
|---|---|
accessibility_audit.py |
WCAG compliance checking |
visual_diff.py |
Screenshot comparison |
test_recorder.py |
Automated test documentation |
app_state_capture.py |
Debugging snapshots |
| Tool | Description |
|---|---|
simctl.py |
Unified simulator management (boot, shutdown, create, delete, erase, list) |
sim_health_check.py |
Environment verification |
| Tool | Description |
|---|---|
clipboard.py |
Clipboard operations |
privacy_manager.py |
Privacy permissions management |
push_notification.py |
Send push notifications |
status_bar.py |
Status bar customization |
Each tool follows the Amp toolbox protocol:
# Describe tool capabilities
TOOLBOX_ACTION=describe python tools/screen_mapper.py
# Execute tool with JSON parameters
echo '{"verbose": true}' | TOOLBOX_ACTION=execute python tools/screen_mapper.pyecho '{}' | TOOLBOX_ACTION=execute python tools/screen_mapper.pyOutput:
Screen: LoginViewController (45 elements, 12 interactive)
Buttons: "Login", "Sign Up", "Forgot Password"
TextFields: 2 (0 filled)
Navigation: NavBar: "Welcome"
Focusable: 8 elements
- Semantic Navigation: Find elements by meaning (text, type, ID) not pixel coordinates
- Token Efficiency: Default output is concise; use
--verbosefor details or--jsonfor machine parsing - Accessibility-First: Built on iOS accessibility APIs for reliability
- Structured Data: Tools output JSON or formatted text, not raw logs
- Amp Manual - Amp documentation and tools configuration
- ios-simulator-skill - Original project for Claude Code
This project is derived from ios-simulator-skill by Conor Luddy. The original project provides iOS Simulator automation for Claude Code; this adaptation brings the same capabilities to Amp using its toolbox protocol.
MIT License - see LICENSE for details.