Back to list
ThilinaTLM

adb-pilot

by ThilinaTLM

0🍴 0📅 Jan 16, 2026

SKILL.md


name: adb-pilot description: This skill should be used when the user asks to "test Android app", "automate Android emulator", "tap button on Android", "take Android screenshot", "interact with Android UI", "ADB automation", "fill Android form", "swipe on emulator", "validate Android UI flow", or needs to control an Android device/emulator via ADB. Provides a unified CLI with JSON output optimized for LLM consumption.

ADB Pilot

Unified Android testing tool with JSON output for LLM-friendly automation.

Prerequisites

  • Python 3.8+
  • ADB (Android Debug Bridge) in PATH
  • Connected Android device or running emulator
  • USB debugging enabled on device

Quick Start

# Check device connection
${CLAUDE_PLUGIN_ROOT}/skills/adb-pilot/scripts/adb-pilot info

# Screenshot + UI elements (most useful command)
${CLAUDE_PLUGIN_ROOT}/skills/adb-pilot/scripts/adb-pilot screenshot

# Tap by text (no coordinates needed!)
${CLAUDE_PLUGIN_ROOT}/skills/adb-pilot/scripts/adb-pilot tap -t "Book Now"

# Fill a form field in one command
${CLAUDE_PLUGIN_ROOT}/skills/adb-pilot/scripts/adb-pilot fill "Email" "user@example.com"

# Wait for element to appear
${CLAUDE_PLUGIN_ROOT}/skills/adb-pilot/scripts/adb-pilot wait-for -t "Success" -s 5

Core Commands

screenshot

Capture screenshot AND UI elements. Returns element coordinates for tapping.

adb-pilot screenshot
adb-pilot screenshot --clickable      # Only clickable elements
adb-pilot screenshot --no-ui          # Fast, no element dump

Response: {"ok":true,"screenshot":"/tmp/screenshot.png","elements":[{"text":"Book","class":"Button","clickable":true,"x":540,"y":350,"bounds":[400,300,680,400]}]}

tap

Tap by text or coordinates.

adb-pilot tap -t "Book Now"           # By text
adb-pilot tap -t "State" --prefer-input  # Prefer input fields over labels
adb-pilot tap -t "Submit" --clickable    # Only clickable elements
adb-pilot tap 540 960                 # By coordinates

fill

Fill text field in one command (tap + clear + type + hide-keyboard).

adb-pilot fill "Enter your email" "user@example.com"

wait-for

Wait for element to appear (with timeout).

adb-pilot wait-for -t "Welcome" -s 10
# Returns: {"ok":true,"found":true,"element":{...}} or {"ok":true,"found":false,"timeout":true}

Form Workflow Commands

clear / type / hide-keyboard

adb-pilot clear                       # Clear focused field
adb-pilot type "hello@example.com"    # Type into focused field
adb-pilot hide-keyboard               # Dismiss keyboard (use instead of 'key back')

key

Send key events.

KeyPurpose
backNavigate back
enterSubmit/confirm
move_homeCursor to start of text
move_endCursor to end of text
deleteBackspace
app_homeAndroid home screen
adb-pilot key back
adb-pilot key move_home

Other Commands

CommandPurposeExample
swipeScrolladb-pilot swipe up
longpressLong pressadb-pilot longpress -t "Item"
launchLaunch appadb-pilot launch com.example.app
currentCurrent activityadb-pilot current
infoDevice infoadb-pilot info
waitWait msadb-pilot wait 1000
select-allSelect textadb-pilot select-all

See references/commands.md for full documentation.

Testing Workflow

# 1. Screenshot to see current state
adb-pilot screenshot

# 2. Read the screenshot image with Claude's Read tool
# 3. Tap by text when possible
adb-pilot tap -t "Book Now" -w 1000

# 4. Verify the action worked
adb-pilot wait-for -t "Booking Confirmed" -s 5

Form Filling Pattern

# Use fill command for efficiency
adb-pilot fill "Email" "user@example.com"
adb-pilot fill "Password" "secret123"
adb-pilot tap -t "Sign In" --clickable
adb-pilot wait-for -t "Welcome" -s 10

Tips

  • Use --prefer-input when tapping form fields to avoid hitting labels
  • Use --clickable when tapping buttons to ensure element is interactive
  • Use hide-keyboard not key back to dismiss keyboard
  • Use wait-for instead of blind wait for reliable verification

Error Handling

All errors return JSON with "ok":false:

adb-pilot tap -t "NonexistentButton"
# {"ok":false,"error":"No element found matching 'NonexistentButton'"}

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon