Interactive setup wizard for Minitap mobile-use SDK. USE WHEN user wants to set up mobile automation, configure mobile-use SDK, connect iOS or Android devices, or create a new mobile testing project.
Interactive setup wizard for Minitap mobile-use SDK. USE WHEN user wants to set up mobile automation, configure mobile-use SDK, connect iOS or Android devices, or create a new mobile testing project.
Mobile-Use SDK Setup Wizard
Interactive guide for setting up the Minitap mobile-use SDK with support for iOS and Android devices, Platform and Local modes.
When to Apply
This skill activates when users want to:
Set up mobile automation for an app
Configure the Minitap mobile-use SDK
Connect physical iOS or Android devices
Set up cloud virtual devices
Create a new mobile testing project
Setup Flow
Phase 1: Gather Requirements
Ask the user these questions using the AskUserQuestion tool:
Target Platform
Question: "Which platform(s) do you want to automate?"
Options: iOS only, Android only, Both iOS and Android
LLM Configuration Mode
Question: "How do you want to configure AI/LLM?"
Options:
Platform (Recommended) - Minitap handles LLM config, just need API key
Local - Full control with local config files and your own API keys
Device Type (if iOS selected)
Question: "What iOS device setup do you need?"
Options:
Physical device (iPhone/iPad via USB)
Simulator (Xcode iOS Simulator)
Device Type (if Android selected)
Question: "What Android device setup do you need?"
open ~/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj
Sign these targets with their Apple ID:
WebDriverAgentRunner
WebDriverAgentLib
IntegrationApp
Change Bundle IDs to unique values
Build IntegrationApp once with device connected
Trust developer certificate on device: Settings → General → VPN & Device Management
Android Physical Device:
Inform user they need to:
Enable Developer Options (tap Build Number 7 times)
Enable USB Debugging
Connect device and tap "Allow" on USB debugging prompt
Phase 7: Create Starter Script
Generate main.py based on configuration:
Platform Mode:
import asyncio
from dotenv import load_dotenv
from minitap.mobile_use.sdk import Agent
from minitap.mobile_use.sdk.types import PlatformTaskRequest
load_dotenv()
asyncdefmain() -> None:
agent = Agent()
await agent.init()
result = await agent.run_task(
request=PlatformTaskRequest(task="your-task-name")
)
print(result)
await agent.clean()
if __name__ == "__main__":
asyncio.run(main())
Local Mode:
import asyncio
from dotenv import load_dotenv
from minitap.mobile_use.sdk import Agent
from minitap.mobile_use.sdk.types import AgentProfile
from minitap.mobile_use.sdk.builders import Builders
load_dotenv()
asyncdefmain() -> None:
profile = AgentProfile(name="default", from_file="llm-config.override.jsonc")
config = Builders.AgentConfig.with_default_profile(profile).build()
agent = Agent(config=config)
await agent.init()
result = await agent.run_task(
goal="Your automation goal here",
name="task-name"
)
print(result)
await agent.clean()
if __name__ == "__main__":
asyncio.run(main())
Phase 8: Verify Setup
Run verification based on device type:
# iOS physical
idevice_id -l
# iOS simulator
xcrun simctl list devices
# Android
adb devices
# Test SDK import
uv run python -c "from minitap.mobile_use.sdk import Agent; print('SDK OK')"
Quick Reference
Setup Type
Key Dependencies
Verification
iOS Physical
Appium, XCUITest, libimobiledevice
idevice_id -l
iOS Simulator
idb-companion
xcrun simctl list
Android Physical
ADB
adb devices
Android Cloud
None (Platform only)
N/A
Troubleshooting
Issue
Solution
Python < 3.12
Install Python 3.12+ via pyenv or homebrew
UV not found
curl -LsSf https://astral.sh/uv/install.sh | sh
idevice_id not found
brew install libimobiledevice
ADB not found
brew install --cask android-platform-tools
WDA build fails
Check Xcode signing for all 3 targets
Device unauthorized
Enable USB debugging, tap Allow on device
CLT version error
sudo xcode-select --install
Examples
Example 1: New iOS automation project
User: "Help me set up mobile automation for my iOS app"
→ Ask: Platform preference (iOS), Mode (Platform), Device (Physical)
→ Check: python3, uv, libimobiledevice, appium
→ Install: Missing dependencies
→ Create: Project with uv init
→ Configure: .env with MINITAP_API_KEY
→ Guide: Xcode WebDriverAgent signing
→ Verify: idevice_id -l shows device
Example 2: Android cloud setup
User: "Set up mobile testing with cloud devices"
→ Ask: Platform (Android), Mode (Platform), Device (Cloud)
→ Check: python3, uv
→ Create: Project with uv init
→ Configure: .env with MINITAP_API_KEY
→ Guide: Create Virtual Mobile on platform.minitap.ai
→ Generate: main.py with for_cloud_mobile config
Example 3: Full local development setup
User: "I want full control over LLM config for mobile automation"
→ Ask: Platform (Both), Mode (Local), Devices (Physical)
→ Check: All dependencies
→ Create: Project, llm-config.override.jsonc
→ Configure: Provider API keys in .env
→ Guide: Device-specific setup for iOS and Android
→ Generate: main.py with local profile config