| name | analyze-mobile-app |
| description | Mobile App Competitive Analyzer. Automated competitive analysis of Android mobile apps via ADB. Navigate the app, capture screenshots, document UX/UI, generate complete reports. Use when: analyzing competitor apps, exploring app UX, mobile app analysis, competitive research. |
Mobile App Competitive Analyzer
Analisi competitiva automatizzata di app mobile Android via ADB. Naviga l'app, cattura screenshot, documenta UX/UI, genera report completi.
Trigger
- "analizza app [nome]"
- "competitor analysis [app]"
- "esplora UX di [app]"
- "analisi competitiva [app]"
- /analyze-mobile-app
Config
adb_path: D:\Software\Android\Sdk\platform-tools\adb.exe
screenshot_format: "{app}_{seq:02d}.png"
output_structure:
- docs/{APP}_ANALYSIS.md
- docs/{APP}_REPORT.html
- docs/{APP}_USER_FLOWS.md
- img/*.png
Workflow
1. SETUP
adb devices
adb shell wm size
adb shell dumpsys window | grep mCurrentFocus
2. LOOP PRINCIPALE (ripetere per ogni schermata)
adb exec-out screencap -p > {app}_{seq:02d}.png
adb shell uiautomator dump /sdcard/ui.xml
adb shell cat /sdcard/ui.xml
adb shell input tap X Y
3. COMANDI NAVIGAZIONE
adb shell input tap X Y
adb shell input swipe 540 1500 540 500 300
adb shell input swipe 540 500 540 1500 300
adb shell input swipe 900 1000 100 1000 300
adb shell input swipe 100 1000 900 1000 300
adb shell input swipe X Y X Y 1000
adb shell input keyevent 4
adb shell input keyevent 3
adb shell input keyevent 66
adb shell input text "testo"
Analisi
Visual Design
- Colori (hex), tipografia, spaziature, icone, illustrazioni, brand
UX Patterns
- Navigazione, gerarchia info, CTA, form, onboarding, stati vuoti/errore
Psicologia
- Social proof, scarcity, commitment, gamification, loss aversion
Business Model
- Paywall type, pricing, free vs premium, upsell timing
Report Templates
ANALYSIS.md
# {APP} - Competitive Analysis
> Date: {DATE} | Version: {VERSION} | Method: ADB + UI inspection
## Executive Summary
| Metric | Value |
|--------|-------|
| Onboarding screens | {N} |
| Input methods | {N} |
| Price (annual) | {PRICE} |
## Company Profile
| Attribute | Value |
|-----------|-------|
| Company | {NAME} |
| HQ | {LOCATION} |
| Founded | {YEAR} |
## Target Market
### Segment A ({PCT}%)
- Profile: {PROFILE}
- Motivation: {MOTIVATION}
## Onboarding Flow
| Stage | Screens | Purpose |
|-------|---------|---------|
## Psychology
- Social Proof: {DESC}
- Gamification: {DESC}
## Pricing
| Plan | Price |
|------|-------|
| Monthly | {PRICE} |
| Annual | {PRICE} |
## Design System
```css
--primary: {HEX};
--accent: {HEX};
--radius: {PX};
Navigation
Features
Recommendations
- {REC}
Screenshot Index
| File | Content |
|---|
| {app}_01.png | {DESC} |
### USER_FLOWS.md
```markdown
# {APP} - User Flows
## Navigation
\`\`\`mermaid
flowchart TD
TAB1[Tab 1] --> CONTENT1
TAB2[Tab 2] --> CONTENT2
\`\`\`
## Onboarding
\`\`\`mermaid
flowchart TD
START([Launch]) --> WELCOME
WELCOME --> QUESTIONS
QUESTIONS --> PAYWALL
PAYWALL --> HOME([Home])
\`\`\`
## Core Feature
\`\`\`mermaid
flowchart TD
HOME --> ADD[+]
ADD --> METHOD1
ADD --> METHOD2
METHOD1 --> RESULT
RESULT --> SAVE --> HOME
\`\`\`
REPORT.html
<!DOCTYPE html>
<html>
<head>
<style>
:root{--primary:#1E3A5F;--accent:#4ECDC4;--bg:#F5F7FA}
body{font-family:system-ui;background:var(--bg);margin:0;padding:20px}
.container{max-width:1200px;margin:0 auto}
.card{background:#fff;border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.gallery img{width:100%;border-radius:8px;border:1px solid #eee}
h1,h2{color:var(--primary)}
h2{border-bottom:2px solid var(--accent);padding-bottom:8px}
table{width:100%;border-collapse:collapse}
th,td{padding:12px;text-align:left;border-bottom:1px solid #eee}
th{background:var(--bg)}
</style>
</head>
<body>
<div class="container">
<h1>{APP} - Analisi Competitiva</h1>
<div class="card"><h2>Screenshots</h2>
<div class="gallery">
<img src="../img/{app}_01.png">
<img src="../img/{app}_02.png">
</div></div>
</div>
</body>
</html>
Checklist
Troubleshooting
adb kill-server && adb start-server && adb devices
adb shell uiautomator dump /data/local/tmp/ui.xml
adb shell cat /data/local/tmp/ui.xml
adb shell screencap -p /sdcard/s.png && adb pull /sdcard/s.png
PowerShell Helpers
$ADB="D:\Software\Android\Sdk\platform-tools\adb.exe"
function ss($p){& $ADB exec-out screencap -p|Set-Content $p -Enc Byte}
function ui{& $ADB shell uiautomator dump /sdcard/ui.xml;& $ADB shell cat /sdcard/ui.xml}
function tap($x,$y){& $ADB shell input tap $x $y}
function sd{& $ADB shell input swipe 540 1500 540 500 300}
function su{& $ADB shell input swipe 540 500 540 1500 300}
function bk{& $ADB shell input keyevent 4}
Example
User: Analizza Yazio
Agent:
1. adb devices → emulator-5554 ✓
2. ss "yazio_01.png" → splash
3. ui → "Get Started" [100,1800][980,1900]
4. tap 540 1850
5. ss "yazio_02.png" → goal selection
... [50+ screens] ...
6. Genera YAZIO_ANALYSIS.md
7. Genera YAZIO_REPORT.html
8. Genera YAZIO_USER_FLOWS.md
9. ZIP → Desktop