MO

mobile-use-setup

Walks developers through Minitap SDK setup and validates system prerequisites like Python and required environment tools.

Install

mkdir -p .claude/skills/mobile-use-setup && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6279" && unzip -o skill.zip -d .claude/skills/mobile-use-setup && rm skill.zip

Installs to .claude/skills/mobile-use-setup

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

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.
199 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Identify hardware platform requirements (iOS/Android)
  • Configure local versus platform-based LLM settings
  • Validate prerequisite software (Python, Appium, libimobiledevice)
  • Initialize project scaffolding for mobile testing

How it works

It runs a series of diagnostic scripts to check for required binary availability (adb, idevice) and guides the user through the dependency installation process.

Inputs & outputs

You give it
User preferences for platform and device type
You get back
Validated setup commands and project configuration

When to use mobile-use-setup

  • Set up mobile automation for an app
  • Connect physical iOS or Android devices
  • Configure cloud virtual devices
  • Initialize a new mobile testing project

About this skill

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:

  1. Target Platform

    • Question: "Which platform(s) do you want to automate?"
    • Options: iOS only, Android only, Both iOS and Android
  2. 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
  3. Device Type (if iOS selected)

    • Question: "What iOS device setup do you need?"
    • Options:
      • Physical device (iPhone/iPad via USB)
      • Simulator (Xcode iOS Simulator)
  4. Device Type (if Android selected)

    • Question: "What Android device setup do you need?"
    • Options:
      • Physical device (via USB/WiFi ADB)
      • Cloud device (Minitap virtual Android)

Phase 2: Check Prerequisites

Run these checks based on user selections:

# Always check
python3 --version    # Requires 3.12+
which uv            # Package manager

# For iOS physical device
which idevice_id    # libimobiledevice
which appium        # Appium
appium driver list  # XCUITest driver

# For iOS simulator
which idb_companion  # Facebook idb

# For Android
which adb           # Android platform tools
adb devices         # Device connection

Phase 3: Install Missing Dependencies

iOS Physical Device Setup:

# Install libimobiledevice
brew install libimobiledevice

# Install Appium + XCUITest
npm install -g appium
appium driver install xcuitest

iOS Simulator Setup:

brew tap facebook/fb
brew install idb-companion

Android Setup:

# macOS
brew install --cask android-platform-tools

# Linux
sudo apt install android-tools-adb

UV Package Manager:

curl -LsSf https://astral.sh/uv/install.sh | sh

Phase 4: Create Project

# Create new project
uv init <project-name>
cd <project-name>

# Add SDK
uv add minitap-mobile-use python-dotenv

Phase 5: Configure Credentials

For Platform Mode:

  1. Direct user to https://platform.minitap.ai to create account
  2. Navigate to API Keys → Create API Key
  3. Create .env file:
MINITAP_API_KEY=<their-key>
  1. Add .env to .gitignore

For Local Mode:

  1. Copy the config template:
    cp llm-config.override.template.jsonc llm-config.override.jsonc
    
  2. Edit llm-config.override.jsonc with preferred models (refer to llm-config.defaults.jsonc for recommended settings)
  3. Add provider API keys to .env (OPENAI_API_KEY, etc.) or set MINITAP_API_KEY for optimized config

Phase 6: Device-Specific Setup

iOS Physical Device (requires manual Xcode steps):

Inform user they need to:

  1. Open WebDriverAgent in Xcode:
    open ~/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj
    
  2. Sign these targets with their Apple ID:
    • WebDriverAgentRunner
    • WebDriverAgentLib
    • IntegrationApp
  3. Change Bundle IDs to unique values
  4. Build IntegrationApp once with device connected
  5. Trust developer certificate on device: Settings → General → VPN & Device Management

Android Physical Device:

Inform user they need to:

  1. Enable Developer Options (tap Build Number 7 times)
  2. Enable USB Debugging
  3. 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()

async def main() -> 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()

async def main() -> 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 TypeKey DependenciesVerification
iOS PhysicalAppium, XCUITest, libimobiledeviceidevice_id -l
iOS Simulatoridb-companionxcrun simctl list
Android PhysicalADBadb devices
Android CloudNone (Platform only)N/A

Troubleshooting

IssueSolution
Python < 3.12Install Python 3.12+ via pyenv or homebrew
UV not foundcurl -LsSf https://astral.sh/uv/install.sh | sh
idevice_id not foundbrew install libimobiledevice
ADB not foundbrew install --cask android-platform-tools
WDA build failsCheck Xcode signing for all 3 targets
Device unauthorizedEnable USB debugging, tap Allow on device
CLT version errorsudo 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

When not to use it

  • If the mobile application does not use Minitap SDK
  • When only web-based testing is required

Prerequisites

Python 3.12+Access to system-level package managers (brew/npm/adb)

Limitations

  • Requires administrative access for installing dependencies
  • Limited by the state of local system drivers

How it compares

It automates the environment validation and project scaffolding sequence rather than relying on generic installation manuals.

Compared to similar skills

mobile-use-setup side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
mobile-use-setup (this skill)16moCautionBeginner
dev26moReviewAdvanced
examples-auto-run23moReviewIntermediate
lora-manager-e2e16moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

dev

atopile

LLM-focused workflow for working in this repo: compile Zig, run the orchestrated test runner, consume test-report.json/html artifacts, and discover/debug ConfigFlags.

28

examples-auto-run

openai

Run python examples in auto mode with logging, rerun helpers, and background control.

23

lora-manager-e2e

willmiao

End-to-end testing and validation for LoRa Manager features. Use when performing automated E2E validation of LoRa Manager standalone mode, including starting/restarting the server, using Chrome DevTools MCP to interact with the web UI at http://127.0.0.1:8188/loras, and verifying frontend-to-backend functionality. Covers workflow validation, UI interaction testing, and integration testing between the standalone Python backend and the browser frontend.

13

migrate

alirezarezvani

Migrate from Cypress or Selenium to Playwright. Use when user mentions "cypress", "selenium", "migrate tests", "convert tests", "switch to playwright", "move from cypress", or "replace selenium".

13

droidrun-docs

droidrun

DroidRun documentation reference. Use when users ask about DroidRun setup, configuration, SDK usage, CLI commands, device setup, agents, architecture, app cards, credentials, tracing, Docker, migration, structured output, or any DroidRun "how do I..." questions.

12

create-environments

PrimeIntellect-ai

Create or migrate verifiers environments for the Prime Lab ecosystem. Use when asked to build a new environment from scratch, port an eval or benchmark from papers or other libraries, start from an environment on the Hub, or convert existing tasks into a package that exposes load_environment and installs cleanly with prime env install.

11

Search skills

Search the agent skills registry