Files
droidclaw/docs/use-cases.md
Sanju Sivalingam 76b7bce405 Rename project to DroidClaw
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 17:51:08 +05:30

1057 lines
24 KiB
Markdown

# DroidClaw — Use Cases
Real-world scenarios the agent can handle, organized by category. Each use case includes the goal you'd give the agent and the actions it would take.
---
## 1. Messaging & Communication
### 1.1 Send a WhatsApp Message
**Goal:** "Open WhatsApp, search for John, and send him 'Hey, are you free for lunch tomorrow?'"
**Agent flow:**
```
launch → { package: "com.whatsapp" }
tap → search icon
type → "John"
tap → John's contact in search results
tap → message input field
type → "Hey, are you free for lunch tomorrow?"
tap → send button
done
```
### 1.2 Send a WhatsApp Message to an Unsaved Number
**Goal:** "Open WhatsApp, start a chat with +1-555-123-4567, and send 'Your order is ready for pickup'"
**Agent flow:**
```
launch → { uri: "https://wa.me/15551234567" }
wait → page loads
tap → "Continue to chat" or message input
type → "Your order is ready for pickup"
tap → send button
done
```
### 1.3 Reply to the Latest SMS
**Goal:** "Open Messages, open the most recent conversation, and reply with 'Got it, thanks!'"
**Agent flow:**
```
launch → { package: "com.google.android.apps.messaging" }
tap → first conversation in the list
tap → message input field
type → "Got it, thanks!"
tap → send button
done
```
### 1.4 Send an Email via Gmail
**Goal:** "Open Gmail, compose a new email to boss@company.com with subject 'Monthly Report' and body 'Please find the report attached. Let me know if you have questions.'"
**Agent flow:**
```
launch → { package: "com.google.android.gm" }
tap → compose (FAB button)
tap → To field
type → "boss@company.com"
enter
tap → Subject field
type → "Monthly Report"
tap → body field
type → "Please find the report attached. Let me know if you have questions."
tap → send button
done
```
### 1.5 Make a Phone Call
**Goal:** "Call the number 555-987-6543"
**Agent flow:**
```
launch → { uri: "tel:5559876543" }
tap → call/dial button
done
```
### 1.6 Send a Telegram Message
**Goal:** "Open Telegram, search for the group 'Project Alpha', and send 'Build deployed to staging'"
**Agent flow:**
```
launch → { package: "org.telegram.messenger" }
tap → search icon
type → "Project Alpha"
tap → "Project Alpha" group in results
tap → message input
type → "Build deployed to staging"
tap → send button
done
```
---
## 2. Social Media
### 2.1 Post an Instagram Story
**Goal:** "Open Instagram, go to the camera, take a photo, and post it as a story"
**Agent flow:**
```
launch → { package: "com.instagram.android" }
tap → camera icon / "Your Story" circle
tap → shutter button (capture photo)
tap → "Your Story" button to post
done
```
### 2.2 Like the First 5 Posts on Instagram Feed
**Goal:** "Open Instagram, scroll through the feed, and like the first 5 posts"
**Agent flow:**
```
launch → { package: "com.instagram.android" }
tap → heart icon on post 1
swipe → { direction: "up" }
tap → heart icon on post 2
swipe → { direction: "up" }
tap → heart icon on post 3
swipe → { direction: "up" }
tap → heart icon on post 4
swipe → { direction: "up" }
tap → heart icon on post 5
done
```
### 2.3 Post a Tweet / X Post
**Goal:** "Open X, compose a new post with 'Excited to announce our new product launch! #startup #launch'"
**Agent flow:**
```
launch → { package: "com.twitter.android" }
tap → compose button (floating + icon)
tap → text input area
type → "Excited to announce our new product launch! #startup #launch"
tap → Post button
done
```
### 2.4 Follow an Account on Instagram
**Goal:** "Open Instagram, search for 'natgeo', and follow them"
**Agent flow:**
```
launch → { package: "com.instagram.android" }
tap → search tab (magnifying glass)
tap → search bar
type → "natgeo"
tap → "natgeo" account in results
tap → "Follow" button
done
```
### 2.5 Check LinkedIn Notifications
**Goal:** "Open LinkedIn and read the latest 3 notifications"
**Agent flow:**
```
launch → { package: "com.linkedin.android" }
tap → notifications tab (bell icon)
wait → notifications load
screenshot → capture notifications for review
done → { reason: "Top 3 notifications: 1) ... 2) ... 3) ..." }
```
---
## 3. Navigation & Maps
### 3.1 Get Directions to a Location
**Goal:** "Open Google Maps and get driving directions to San Francisco Airport"
**Agent flow:**
```
launch → { uri: "https://maps.google.com/?q=San+Francisco+Airport" }
wait → map loads
tap → "Directions" button
tap → driving mode icon
done
```
### 3.2 Find Nearby Restaurants
**Goal:** "Search for pizza restaurants near me on Google Maps"
**Agent flow:**
```
launch → { uri: "geo:0,0?q=pizza+restaurants+near+me" }
wait → results load
done → { reason: "Showing nearby pizza restaurants on map" }
```
### 3.3 Share Current Location via WhatsApp
**Goal:** "Open WhatsApp, go to the chat with Mom, and share my current location"
**Agent flow:**
```
launch → { package: "com.whatsapp" }
tap → search icon
type → "Mom"
tap → Mom's chat
tap → attachment icon (paperclip)
tap → "Location"
tap → "Share live location" or "Send your current location"
tap → send button
done
```
### 3.4 Book an Uber
**Goal:** "Open Uber and request a ride to the airport"
**Agent flow:**
```
launch → { package: "com.ubercab" }
tap → "Where to?" search bar
type → "Airport"
tap → airport result from suggestions
tap → ride option (UberX, Comfort, etc.)
tap → "Confirm" / "Request" button
done
```
---
## 4. Device Settings & Configuration
### 4.1 Turn On Wi-Fi
**Goal:** "Enable Wi-Fi on the device"
**Agent flow:**
```
shell → { command: "svc wifi enable" }
done
```
### 4.2 Toggle Airplane Mode
**Goal:** "Turn on airplane mode"
**Agent flow:**
```
shell → { command: "settings put global airplane_mode_on 1" }
shell → { command: "am broadcast -a android.intent.action.AIRPLANE_MODE" }
done
```
### 4.3 Set Screen Brightness to Maximum
**Goal:** "Set the screen brightness to maximum"
**Agent flow:**
```
shell → { command: "settings put system screen_brightness 255" }
done
```
### 4.4 Change the Screen Timeout
**Goal:** "Set screen timeout to 5 minutes"
**Agent flow:**
```
shell → { command: "settings put system screen_off_timeout 300000" }
done
```
### 4.5 Connect to a Wi-Fi Network
**Goal:** "Connect to the Wi-Fi network 'OfficeNet' with password 'secure123'"
**Agent flow:**
```
shell → { command: "cmd wifi connect-network OfficeNet wpa2 secure123" }
done
```
### 4.6 Enable Do Not Disturb
**Goal:** "Turn on Do Not Disturb mode"
**Agent flow:**
```
launch → { action: "android.settings.ZEN_MODE_SETTINGS" }
tap → "Turn on now" or DND toggle
done
```
### 4.7 Change System Font Size
**Goal:** "Make the font size larger for better readability"
**Agent flow:**
```
shell → { command: "settings put system font_scale 1.3" }
done
```
### 4.8 Disable Auto-Rotate
**Goal:** "Lock the screen to portrait orientation"
**Agent flow:**
```
shell → { command: "settings put system accelerometer_rotation 0" }
done
```
---
## 5. App Management
### 5.1 Force Stop a Misbehaving App
**Goal:** "Force stop Facebook because it's draining battery"
**Agent flow:**
```
shell → { command: "am force-stop com.facebook.katana" }
done
```
### 5.2 Clear an App's Cache
**Goal:** "Clear cache for Chrome to free up storage"
**Agent flow:**
```
shell → { command: "pm clear com.android.chrome" }
done
```
### 5.3 List All Installed Third-Party Apps
**Goal:** "Show me all non-system apps installed on this device"
**Agent flow:**
```
shell → { command: "pm list packages -3" }
done → { reason: "Installed apps: com.whatsapp, com.instagram.android, ..." }
```
### 5.4 Grant Camera Permission to an App
**Goal:** "Grant camera permission to Zoom"
**Agent flow:**
```
shell → { command: "pm grant us.zoom.videomeetings android.permission.CAMERA" }
done
```
### 5.5 Uninstall an App
**Goal:** "Uninstall TikTok"
**Agent flow:**
```
shell → { command: "pm uninstall com.zhiliaoapp.musically" }
done
```
### 5.6 Install an APK from the Device
**Goal:** "Install the APK at /sdcard/Download/myapp.apk"
**Agent flow:**
```
shell → { command: "pm install /sdcard/Download/myapp.apk" }
done
```
---
## 6. Productivity & Work
### 6.1 Set a Timer
**Goal:** "Set a timer for 10 minutes"
**Agent flow:**
```
launch → { package: "com.google.android.deskclock" }
tap → timer tab
tap → 1, 0, 0, 0 (10:00 minutes)
tap → start button
done
```
### 6.2 Set an Alarm
**Goal:** "Set an alarm for 7:30 AM tomorrow"
**Agent flow:**
```
launch → { package: "com.google.android.deskclock" }
tap → alarm tab
tap → add alarm button (+)
tap → 7 on the hour picker
tap → 30 on the minute picker
tap → AM
tap → OK / save
done
```
### 6.3 Create a Calendar Event
**Goal:** "Open Google Calendar and create an event called 'Team Standup' for tomorrow at 10 AM"
**Agent flow:**
```
launch → { package: "com.google.android.calendar" }
tap → add event button (+)
tap → title field
type → "Team Standup"
tap → date field
tap → tomorrow's date
tap → start time
tap → 10:00 AM
tap → save
done
```
### 6.4 Take a Screenshot and Save It
**Goal:** "Take a screenshot of whatever is on screen"
**Agent flow:**
```
screenshot → { filename: "capture_2024.png" }
done
```
### 6.5 Create a Note in Google Keep
**Goal:** "Open Google Keep and create a note titled 'Shopping List' with items: milk, eggs, bread, butter"
**Agent flow:**
```
launch → { package: "com.google.android.keep" }
tap → new note button (+)
tap → title field
type → "Shopping List"
tap → note body
type → "milk\neggs\nbread\nbutter"
back → auto-saves
done
```
### 6.6 Check Battery Status
**Goal:** "What's the current battery level and status?"
**Agent flow:**
```
shell → { command: "dumpsys battery" }
done → { reason: "Battery level: 73%, status: charging, health: good, temp: 28°C" }
```
---
## 7. Media & Entertainment
### 7.1 Play a Song on Spotify
**Goal:** "Open Spotify, search for 'Bohemian Rhapsody' by Queen, and play it"
**Agent flow:**
```
launch → { package: "com.spotify.music" }
tap → search tab
tap → search bar
type → "Bohemian Rhapsody Queen"
tap → first song result
tap → play button
done
```
### 7.2 Play/Pause Current Media
**Goal:** "Pause whatever music is playing"
**Agent flow:**
```
shell → { command: "input keyevent 85" }
done
```
### 7.3 Skip to Next Track
**Goal:** "Skip to the next song"
**Agent flow:**
```
shell → { command: "input keyevent 87" }
done
```
### 7.4 Set Media Volume
**Goal:** "Set media volume to 80%"
**Agent flow:**
```
shell → { command: "media volume --set 12 --stream 3" }
done
```
### 7.5 Open a YouTube Video
**Goal:** "Open YouTube and search for 'how to make pasta carbonara'"
**Agent flow:**
```
launch → { package: "com.google.android.youtube" }
tap → search icon
type → "how to make pasta carbonara"
enter
tap → first video result
done
```
### 7.6 Take and Review a Photo
**Goal:** "Open the camera, take a photo, and open it in the gallery"
**Agent flow:**
```
launch → { action: "android.media.action.IMAGE_CAPTURE" }
tap → shutter button
tap → photo thumbnail / preview
done
```
---
## 8. Shopping & E-Commerce
### 8.1 Search for a Product on Amazon
**Goal:** "Open Amazon and search for 'wireless bluetooth headphones under $50'"
**Agent flow:**
```
launch → { package: "com.amazon.mShop.android.shopping" }
tap → search bar
type → "wireless bluetooth headphones under $50"
enter
swipe → { direction: "up" } (browse results)
done
```
### 8.2 Add an Item to Cart
**Goal:** "Open Amazon, search for 'USB-C cable', and add the first result to cart"
**Agent flow:**
```
launch → { package: "com.amazon.mShop.android.shopping" }
tap → search bar
type → "USB-C cable"
enter
tap → first product
swipe → { direction: "up" } (scroll to Add to Cart)
tap → "Add to Cart" button
done
```
### 8.3 Check Order Status
**Goal:** "Open Amazon and check my recent orders"
**Agent flow:**
```
launch → { package: "com.amazon.mShop.android.shopping" }
tap → profile/account icon
tap → "Your Orders"
wait → orders load
screenshot
done → { reason: "Latest order: ... status: ..." }
```
### 8.4 Search for Food Delivery
**Goal:** "Open Uber Eats and search for sushi restaurants"
**Agent flow:**
```
launch → { package: "com.ubercab.eats" }
tap → search bar
type → "sushi"
enter
wait → results load
done
```
---
## 9. Information & Research
### 9.1 Google Search
**Goal:** "Search Google for 'best programming languages 2025'"
**Agent flow:**
```
launch → { uri: "https://www.google.com/search?q=best+programming+languages+2025" }
wait → results load
done
```
### 9.2 Check the Weather
**Goal:** "What's the weather like today?"
**Agent flow:**
```
launch → { uri: "https://www.google.com/search?q=weather+today" }
wait → weather card loads
screenshot
done → { reason: "Current weather: 72°F, partly cloudy, high of 78°F" }
```
### 9.3 Translate Text
**Goal:** "Open Google Translate and translate 'Where is the nearest hospital?' to Spanish"
**Agent flow:**
```
launch → { package: "com.google.android.apps.translate" }
tap → input text field
type → "Where is the nearest hospital?"
tap → target language selector
tap → "Spanish"
wait → translation appears
done → { reason: "Translation: ¿Dónde está el hospital más cercano?" }
```
### 9.4 Look Up a Word in the Dictionary
**Goal:** "Search for the definition of 'ephemeral'"
**Agent flow:**
```
launch → { uri: "https://www.google.com/search?q=define+ephemeral" }
wait → definition card loads
screenshot
done
```
### 9.5 Check Stock Prices
**Goal:** "What's the current stock price of Apple?"
**Agent flow:**
```
launch → { uri: "https://www.google.com/search?q=AAPL+stock+price" }
wait → stock card loads
screenshot
done → { reason: "AAPL: $XXX.XX, up/down X.X%" }
```
---
## 10. File Management
### 10.1 List Files in Downloads
**Goal:** "Show me all files in the Downloads folder"
**Agent flow:**
```
shell → { command: "ls -la /sdcard/Download/" }
done → { reason: "Files: report.pdf, photo.jpg, ..." }
```
### 10.2 Move a File
**Goal:** "Move the file report.pdf from Downloads to Documents"
**Agent flow:**
```
shell → { command: "mv /sdcard/Download/report.pdf /sdcard/Documents/" }
done
```
### 10.3 Delete Old Screenshots
**Goal:** "Delete all screenshots older than 30 days"
**Agent flow:**
```
shell → { command: "find /sdcard/Pictures/Screenshots -mtime +30 -delete" }
done
```
### 10.4 Check Storage Usage
**Goal:** "How much storage space is left on the device?"
**Agent flow:**
```
shell → { command: "df -h /sdcard" }
done → { reason: "Storage: 64GB total, 42GB used, 22GB free" }
```
### 10.5 Create a Folder
**Goal:** "Create a new folder called 'Work Projects' in Documents"
**Agent flow:**
```
shell → { command: "mkdir -p /sdcard/Documents/Work Projects" }
done
```
---
## 11. System Monitoring & Diagnostics
### 11.1 Check Which App is Using the Most Battery
**Goal:** "Find out what's draining the battery"
**Agent flow:**
```
launch → { action: "android.intent.action.POWER_USAGE_SUMMARY" }
wait → battery usage loads
screenshot
done → { reason: "Top battery consumers: Screen 35%, Chrome 15%, WhatsApp 10%" }
```
### 11.2 Check Memory Usage
**Goal:** "How much RAM is being used?"
**Agent flow:**
```
shell → { command: "dumpsys meminfo" }
done → { reason: "Total RAM: 8GB, Used: 5.2GB, Free: 2.8GB" }
```
### 11.3 Check Running Processes
**Goal:** "What apps are currently running?"
**Agent flow:**
```
shell → { command: "dumpsys activity activities" }
done → { reason: "Foreground: Chrome. Background: WhatsApp, Spotify, Gmail" }
```
### 11.4 Get Device Information
**Goal:** "What device is this and what Android version is it running?"
**Agent flow:**
```
shell → { command: "getprop ro.product.model" }
shell → { command: "getprop ro.build.version.release" }
shell → { command: "getprop ro.product.brand" }
done → { reason: "Samsung Galaxy S24, Android 14, Brand: Samsung" }
```
### 11.5 Check Network Connectivity
**Goal:** "Am I connected to the internet?"
**Agent flow:**
```
shell → { command: "ping -c 1 google.com" }
done → { reason: "Connected. Ping to google.com: 23ms" }
```
### 11.6 Read Recent Crash Logs
**Goal:** "Check if any apps have crashed recently"
**Agent flow:**
```
shell → { command: "logcat -d -b crash -t 20" }
done → { reason: "Last crash: com.example.app at 2:30 PM — NullPointerException" }
```
---
## 12. Automation & Batch Operations
### 12.1 Morning Routine
**Goal:** "Run my morning routine: turn off DND, set brightness to 60%, open the weather, then open my calendar"
**Agent flow:**
```
shell → { command: "settings put global zen_mode 0" }
shell → { command: "settings put system screen_brightness 153" }
launch → { uri: "https://www.google.com/search?q=weather+today" }
wait → weather loads
screenshot
home
launch → { package: "com.google.android.calendar" }
done
```
### 12.2 Night Mode Setup
**Goal:** "Set up the device for nighttime: reduce brightness to minimum, enable DND, set an alarm for 7 AM"
**Agent flow:**
```
shell → { command: "settings put system screen_brightness 10" }
shell → { command: "settings put global zen_mode 1" }
launch → { package: "com.google.android.deskclock" }
tap → alarm tab
tap → add alarm (+)
tap → 7:00 AM
tap → save
done
```
### 12.3 Kill All Background Apps
**Goal:** "Close all background apps to free up memory"
**Agent flow:**
```
shell → { command: "am kill-all" }
done → { reason: "All background processes killed" }
```
### 12.4 Bulk Permission Grant
**Goal:** "Grant all necessary permissions to the new camera app com.newcam.app"
**Agent flow:**
```
shell → { command: "pm grant com.newcam.app android.permission.CAMERA" }
shell → { command: "pm grant com.newcam.app android.permission.RECORD_AUDIO" }
shell → { command: "pm grant com.newcam.app android.permission.ACCESS_FINE_LOCATION" }
shell → { command: "pm grant com.newcam.app android.permission.READ_MEDIA_IMAGES" }
done
```
### 12.5 Screen Recording Session
**Goal:** "Record the screen for 30 seconds"
**Agent flow:**
```
shell → { command: "screenrecord --time-limit 30 /sdcard/recording.mp4" }
done → { reason: "Screen recorded to /sdcard/recording.mp4" }
```
---
## 13. Accessibility & Assistance
### 13.1 Read Screen Content Aloud
**Goal:** "Read what's currently on screen"
**Agent flow:**
```
(kernel captures uiautomator dump internally)
done → { reason: "Screen shows: [App Name] with elements: title 'Inbox', 15 email items, first email from John — 'Meeting tomorrow at 3 PM'" }
```
### 13.2 Increase Text Size for Low Vision
**Goal:** "Make everything bigger on screen, I have trouble reading small text"
**Agent flow:**
```
shell → { command: "settings put system font_scale 1.5" }
shell → { command: "wm density 320" }
done
```
### 13.3 Enable TalkBack
**Goal:** "Turn on the screen reader for a visually impaired user"
**Agent flow:**
```
launch → { action: "android.settings.ACCESSIBILITY_SETTINGS" }
tap → TalkBack
tap → toggle switch to enable
tap → "Allow" / confirm
done
```
---
## 14. Testing & Development
### 14.1 UI Testing — Screenshot Every Screen
**Goal:** "Open the app com.myapp.debug, navigate through all main tabs, and take a screenshot of each"
**Agent flow:**
```
launch → { package: "com.myapp.debug" }
screenshot → { filename: "tab1_home.png" }
tap → second tab
screenshot → { filename: "tab2_search.png" }
tap → third tab
screenshot → { filename: "tab3_profile.png" }
tap → fourth tab
screenshot → { filename: "tab4_settings.png" }
done
```
### 14.2 Stress Test an App with Monkey
**Goal:** "Run a monkey test on com.myapp.debug with 1000 random events"
**Agent flow:**
```
shell → { command: "monkey -p com.myapp.debug --throttle 100 -v 1000" }
done
```
### 14.3 Check App Permissions
**Goal:** "What permissions does WhatsApp have?"
**Agent flow:**
```
shell → { command: "dumpsys package com.whatsapp" }
done → { reason: "Granted permissions: CAMERA, CONTACTS, LOCATION, MICROPHONE, STORAGE, ..." }
```
### 14.4 Capture and Pull a Bug Report
**Goal:** "Generate a full bug report for debugging"
**Agent flow:**
```
shell → { command: "bugreport /sdcard/bugreport.zip" }
(then via adb pull externally)
done
```
### 14.5 Clear App Data and Restart
**Goal:** "Reset com.myapp.debug to a clean state and relaunch it"
**Agent flow:**
```
shell → { command: "pm clear com.myapp.debug" }
launch → { package: "com.myapp.debug" }
done
```
---
## 15. Multi-Step Complex Workflows
### 15.1 Screenshot a Conversation and Share It
**Goal:** "Open WhatsApp, go to the chat with Alice, take a screenshot, then share it on Telegram to the 'Screenshots' group"
**Agent flow:**
```
launch → { package: "com.whatsapp" }
tap → search
type → "Alice"
tap → Alice's chat
screenshot → { filename: "alice_chat.png" }
home
launch → { package: "org.telegram.messenger" }
tap → search
type → "Screenshots"
tap → Screenshots group
tap → attachment icon
tap → gallery/file picker
tap → alice_chat.png
tap → send
done
```
### 15.2 Compare Prices Across Apps
**Goal:** "Search for 'Sony WH-1000XM5' on Amazon and Flipkart, take screenshots of both prices"
**Agent flow:**
```
launch → { package: "com.amazon.mShop.android.shopping" }
tap → search bar
type → "Sony WH-1000XM5"
enter
screenshot → { filename: "amazon_price.png" }
home
launch → { package: "com.flipkart.android" }
tap → search bar
type → "Sony WH-1000XM5"
enter
screenshot → { filename: "flipkart_price.png" }
done → { reason: "Amazon: $XXX, Flipkart: ₹XXX" }
```
### 15.3 Check and Respond to All Notifications
**Goal:** "Pull down the notification shade, read all notifications, and dismiss the unimportant ones"
**Agent flow:**
```
shell → { command: "cmd statusbar expand-notifications" }
wait → shade opens
screenshot → capture notifications
tap → swipe away promotional notifications
tap → important notification to open it
(respond as needed)
done
```
### 15.4 Setup a New Phone — Basic Configuration
**Goal:** "Configure this device: enable WiFi, set brightness to 70%, set font size to large, disable auto-rotate, set screen timeout to 2 minutes"
**Agent flow:**
```
shell → { command: "svc wifi enable" }
shell → { command: "settings put system screen_brightness 179" }
shell → { command: "settings put system font_scale 1.3" }
shell → { command: "settings put system accelerometer_rotation 0" }
shell → { command: "settings put system screen_off_timeout 120000" }
done
```
### 15.5 Debug Why an App is Slow
**Goal:** "Check why Chrome is running slow — look at memory usage, CPU, and recent crash logs"
**Agent flow:**
```
shell → { command: "dumpsys meminfo com.android.chrome" }
shell → { command: "dumpsys cpuinfo" }
shell → { command: "dumpsys gfxinfo com.android.chrome" }
shell → { command: "logcat -d -b crash -t 10" }
done → { reason: "Chrome using 450MB RAM, 12% CPU, 3 dropped frames in last render, no recent crashes. High memory suggests too many tabs." }
```