quality-engineering-appium-mcp
$
npx mdskill add HoangNguyen0403/agent-skills-standard/quality-engineering-appium-mcp> [!IMPORTANT] > **Tier 0 (Infrastructure)**: Session creation, device farm connectivity, basic OS interactions. > **Tier 1 (Core Gestures)**: Taps, swipes, text input for native mobile elements. > **Tier 2 (Flutter/Single-Canvas)**: Visual-first automation via screenshot + coordinate taps.
SKILL.md
.github/skills/quality-engineering-appium-mcpView on GitHub ↗
---
name: quality-engineering-appium-mcp
description: Drives iOS/Android mobile devices via Appium MCP. Use for verifying mobile bugs, E2E tests, and navigating real device clouds (LambdaTest/BrowserStack).
metadata:
triggers:
keywords:
- appium
- mobile verify
- android verify
- ios verify
- lambdatest
- real device cloud
- flutter widget tap
---
# 📱 Appium MCP (Mobile Automation)
## **Priority: P1 (HIGH)**
> [!IMPORTANT]
> **Tier 0 (Infrastructure)**: Session creation, device farm connectivity, basic OS interactions.
> **Tier 1 (Core Gestures)**: Taps, swipes, text input for native mobile elements.
> **Tier 2 (Flutter/Single-Canvas)**: Visual-first automation via screenshot + coordinate taps.
## 🔌 Activation
**Triggers**: `appium`, `mobile verify`, `android verify`, `ios verify`, `lambdatest`, `real device cloud`, `flutter widget tap`.
## 🛠 Core Workflow (Goal-Oriented)
| Step | Tool | Purpose |
| :--- | :--- | :--- |
| 1 | `appium_session_management` (`create`) | Open session. **Resiliency**: Retry with `noReset: true` on failure. |
| 2 | `appium_get_window_size` | Scale coordinates for high-density displays. |
| 3 | `appium_screenshot` | Capture visual state for **Semantic Reasoning**. |
| 4 | `appium_gesture` / `appium_set_value` | Interact. **Self-Healing**: Re-scan hierarchy if UUID stale. |
| 5 | `appium_session_management` (`delete`) | **MANDATORY Cleanup**. |
## 💡 AI-Driven Methodologies
- **Semantic Intent**: Find element in hierarchy (e.g., "Login button") instead of raw coordinates. Resilient to layout shifts.
- **Dynamic Handling**: Unexpected pop-up appears? Pause, reason about alert, dismiss, resume.
- **Visual Anchors**: Find stable "Anchor" (e.g., Header) and derive coordinates relative to it.
## 🚫 Anti-Patterns (Zero-Tolerance)
- **Hardcoded XPaths**: Use `accessibility id` or `uiautomator`. XPath flaky.
- **Implicit Wait-Only**: Never assume page loaded. Poll for "Source of Truth" element.
- **Ignoring QoS**: Audit CPU/Memory via `appium_mobile_performance_data`. Prevent lag/crashes.
- **Orphaned Sessions**: Teardown mandatory. Call `delete` in cleanup block.
## ✅ Evaluation Criteria
- **Cleanup Rate**: 100% session closure.
- **Visual Accuracy**: Coordinate-based taps land within 5% of target center.
- **Security**: No secrets in tool arguments or logs.
## 🔗 References
- **Visual Testing**: [common-mobile-visual-testing](../../common/common-mobile-visual-testing/SKILL.md) — Methodology for what to verify.
- **LambdaTest Setup**: [lambdatest-cloud-setup](references/lambdatest-cloud-setup.md) — RDC configuration.
- **Tool Cheatsheet**: [tool-cheatsheet](references/tool-cheatsheet.md) — Fast copy-paste args.
- **Project Context**: [project-context](references/project-context.md) — Project-specific overlays/macros.
More from HoangNguyen0403/agent-skills-standard
- android-agp-upgradeUpgrade an Android project to Android Gradle Plugin (AGP) 9. Use when migrating to AGP 9, updating Gradle build files, migrating to built-in Kotlin, or adopting the new AGP DSL.
- android-architectureApply Clean Architecture layering, modularization, and Unidirectional Data Flow in Android projects. Use when setting up project structure, placing code in layers, configuring feature/core modules, or implementing UDF patterns.
- android-background-workImplement WorkManager and background processing correctly on Android. Use when creating Worker classes, scheduling tasks, choosing between WorkManager and Foreground Services, or setting up Hilt in workers.
- android-composeBuild high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects.
- android-compose-migrationMigrate an Android XML View to Jetpack Compose following a structured 10-step workflow. Use when converting XML layouts to Compose, setting up Compose in an existing View-based project, or incrementally adopting Compose.
- android-concurrencyWrite correct coroutine scopes, Flow collection, and dispatcher injection in Android. Use when writing suspend functions, choosing between StateFlow and SharedFlow, or injecting Dispatchers for testability.
- android-deploymentConfigure release signing, R8 obfuscation, and App Bundle publishing for Android. Use when setting up signing configs, enabling minification, adding ProGuard keep rules, or preparing for Play Store submission.
- android-design-systemEnforce Material Design 3 theming and design token usage in Jetpack Compose. Use when implementing M3 components, color schemes, typography, or design tokens.
- android-diConfigure Hilt dependency injection with proper scoping, modules, and constructor injection in Android. Use when setting up Hilt DI, defining modules, or configuring component scoping.
- android-edge-to-edgeMigrate a Jetpack Compose app to edge-to-edge display and fix system bar inset issues. Use when UI components are obscured by navigation/status bars, fixing IME insets, or enabling edge-to-edge for SDK 35+.