android_ui_verification
Teaches your AI agent to design clean, easy-to-use interfaces and build mobile apps.
What it does
This tool helps test apps on your Android phone. It simulates taps, types text, and takes screenshots to check if everything is working as expected.
When to use it
- ✓Verifying if visual changes in an app worked.
- ✓Automatically discovering layout or interaction bugs.
- ✓Ensuring a new feature is working without manual testing.
Example of what to ask your AI
“Check if the 'Login' button appears and if I can click it.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool uses special commands to 'talk' to the phone. It first finds where buttons and text are on the screen, then simulates your taps and typing.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill android_ui_verificationOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/android_ui_verification/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Android UI Verification Skill
This skill provides a systematic approach to testing React Native applications on an Android emulator using ADB commands. It allows for autonomous interaction, state verification, and visual regression checking.
When to Use
- Verifying UI changes in React Native or Native Android apps.
- Autonomous debugging of layout issues or interaction bugs.
- Ensuring feature functionality when manual testing is too slow.
- Capturing automated screenshots for PR documentation.
🛠 Prerequisites
- Android Emulator running.
adbinstalled and in PATH.- Application in debug mode for logcat access.
🚀 Workflow
1. Device Calibration
Before interacting, always verify the screen resolution to ensure tap coordinates are accurate.
adb shell wm size
Note: Layouts are often scaled. Use the physical size returned as the base for coordinate calculations.
2. UI Inspection (State Discovery)
Use the uiautomator dump to find the exact bounds of UI elements (buttons, inputs).
adb shell uiautomator dump /sdcard/view.xml && adb pull /sdcard/view.xml ./artifacts/view.xml
Search the view.xml for text, content-desc, or resource-id. The bounds attribute [x1,y1][x2,y2] defines the clickable area.
3. Interaction Commands
- Tap:
adb shell input tap <x> <y>(Use the center of the element bounds). - Swipe:
adb shell input swipe <x1> <y1> <x2> <y2> <duration_ms>(Used for scrolling). - Text Input:
adb shell input text "<message>"(Note: Limited support for special characters). - Key Events:
adb shell input keyevent <code_id>(e.g., 66 for Enter).
4. Verification & Reporting
Visual Verification
Capture a screenshot after interaction to confirm UI changes.
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ./artifacts/test_result.png
Analytical Verification
Monitor the JS console logs in real-time to detect errors or log successes.
adb logcat -d | grep "ReactNativeJS" | tail -n 20
Cleanup
Always store generated files in the artifacts/ folder to satisfy project organization rules.
💡 Best Practices
- Wait for Animations: Always add a short sleep (e.g., 1-2s) between interaction and verification.
- Center Taps: Calculate the arithmetic mean of
[x1,y1][x2,y2]for the most reliable tap target. - Log Markers: Use distinct log messages in the code (e.g.,
✅ Action Successful) to makegrepverification easy. - Fail Fast: If a
uiautomator dumpfails or doesn't find the expected text, stop and troubleshoot rather than blind-tapping.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
FAQ
Do I need anything special to use it?
Yes, you need an Android emulator (a virtual phone on your computer) running and the 'adb' program installed.
How does it know where to click?
It takes a 'picture' of the screen and analyzes where each button or text is, calculating the exact spot to tap.
Can it test any app?
It works best with apps built in React Native or native Android, and the app needs to be in debug mode to see logs.
Details
Original description by the author
Automated end-to-end UI testing and verification on an Android Emulator using ADB.
Popularity
- GitHub stars
- 48k
- Ranking position
- #2130
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
android-clean-architecture
Makes your agent organize Android projects efficiently. It structures the code to make maintenance and new feature development easier.
affaan-m/ECC
compose-multiplatform-patterns
Helps your agent use Compose Multiplatform and Jetpack Compose patterns in KMP projects. It covers state management, navigation, theming, and performance. Useful for creating consistent UIs.
affaan-m/ECC
dart-flutter-patterns
Makes your agent write code for Dart and Flutter apps. It uses modern patterns to create robust and manageable apps.
affaan-m/ECC