droid

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

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "droid" with this command: npx skills add thilinatlm/agent-skills/thilinatlm-agent-skills-droid

Droid

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

CLI Discovery

The CLI is located at ./scripts/droid-cli/ relative to this SKILL.md file.

Platform Script

Unix/Linux/macOS droid

Windows droid.ps1

Claude Code: Use ${CLAUDE_PLUGIN_ROOT}/skills/droid/scripts/droid-cli/droid (or droid.ps1 on Windows).

Prerequisites

  • Bun runtime (https://bun.sh)

  • ADB (Android Debug Bridge) in PATH

  • Connected Android device or running emulator

  • USB debugging enabled on device

Quick Start

Check device connection

droid info

Screenshot + UI elements (most useful command)

droid screenshot

Tap by text (no coordinates needed!)

droid tap -t "Book Now"

Fill a form field in one command

droid fill "Email" "user@example.com"

Wait for element to appear

droid wait-for -t "Success" -s 5

Core Commands

screenshot

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

droid screenshot droid screenshot --clickable # Only clickable elements droid 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.

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

fill

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

droid fill "Enter your email" "user@example.com"

wait-for

Wait for element to appear (with timeout).

droid 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

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

key

Send key events.

Key Purpose

back

Navigate back

enter

Submit/confirm

move_home

Cursor to start of text

move_end

Cursor to end of text

delete

Backspace

app_home

Android home screen

droid key back droid key move_home

Other Commands

Command Purpose Example

swipe

Scroll droid swipe up

longpress

Long press droid longpress -t "Item"

launch

Launch app droid launch com.example.app

current

Current activity droid current

info

Device info droid info

wait

Wait ms droid wait 1000

select-all

Select text droid select-all

See references/commands.md for full documentation.

Testing Workflow

Recommended Pattern

1. Screenshot to see current state

droid screenshot

2. Read the screenshot image with Claude's Read tool

3. Tap by text when possible

droid tap -t "Book Now" -w 1000

4. Verify the action worked

droid wait-for -t "Booking Confirmed" -s 5

Form Filling Pattern

Use fill command for efficiency

droid fill "Email" "user@example.com" droid fill "Password" "secret123" droid tap -t "Sign In" --clickable droid 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 :

droid tap -t "NonexistentButton"

{"ok":false,"error":"No element found matching 'NonexistentButton'"}

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

vercel-composition-patterns

React composition patterns that scale. Use when refactoring components with boolean prop proliferation, building flexible component libraries, or designing reusable APIs. Triggers on tasks involving compound components, render props, context providers, or component architecture. Includes React 19 API changes.

Repository Source
23K85.8K
vercel
Automation

vercel-react-native-skills

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

Repository Source
23K60.2K
vercel
Automation

supabase-postgres-best-practices

Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.

Repository Source
1.6K35K
supabase