eos-screen-capture
Start Android screen mirroring using scrcpy. Displays device screen in real-time on Mac with optional console logs. Use when viewing Android screen, mirroring device, or monitoring app with logs.
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- Updated: 2025-11-22
Download the latest version (v1.0.0) from this page.
SKILL.md
---
name: eos-screen-capture
description: Start Android screen mirroring using scrcpy. Displays device screen in real-time on Mac with optional console logs. Use when viewing Android screen, mirroring device, or monitoring app with logs.
delegate: true
---
## ⚠️ DELEGATION REQUIRED
**This skill must be executed by the instruction-follower subagent.**
When you see this skill invoked, you MUST use the Task tool to delegate it:
```
Task(
subagent_type="instruction-follower",
description="[Brief 3-5 word description]",
prompt="Follow the instructions in .claude/skills/eos-screen-capture/skill.md to [complete task description]."
)
```
**DO NOT execute the instructions below directly.** The subagent will read this file and execute autonomously, then report back the results.
---
# Android/e/OS Screen Capture
## Overview
Mirrors an Android/e/OS device screen on macOS using `scrcpy` (screen copy), an open-source screen mirroring tool. Provides real-time display with low latency and optional integrated log console.
## When to Use
Invoke this skill when the user:
- Asks to "start Android screen capture"
- Wants to "see their Android screen"
- Wants to "mirror their Android device"
- Mentions viewing or displaying their Android device
- Says "show me my Android phone"
## Prerequisites
- Android device connected via USB
- **USB debugging enabled** (Settings → System → Developer options → USB debugging)
- **Developer Mode enabled** (Settings → About Phone → tap Build number 7 times)
- Device authorized for debugging
- **scrcpy installed**: `brew install scrcpy`
- **ADB installed**: `brew install android-platform-tools`
## Instructions
### Option 1: Simple Screen Mirror
1. Navigate to screen capture directory:
```bash
cd miso/platforms/eos/development/screen-capture/imp
```
2. Run scrcpy directly:
```bash
scrcpy
```
OR use the wrapper script:
```bash
./mirror.sh
```
### Option 2: Screen Mirror + Live Logs Console (Recommended)
For development with integrated log monitoring:
1. Navigate to screen capture directory:
```bash
cd miso/platforms/eos/development/screen-capture/imp
```
2. Run the integrated screen capture app:
```bash
python3 android_screencap.py
```
3. This opens TWO windows:
- **scrcpy window**: Device screen mirroring
- **Console window**: Live filtered logs from your app
## What to Tell the User
**For simple mirroring**:
- The scrcpy window will appear showing the device screen
- Low latency real-time mirroring (35-70ms)
- Mouse and keyboard control the device
- Close window or Ctrl+C to stop
**For integrated logs**:
- Two windows appear: screen mirror + console
- Console shows only app logs with `[APP]` prefix
- Logs written to `device-logs.txt` for Claude monitoring
- Both windows positioned automatically
- Close either window to stop
## Features
**scrcpy Features**:
- Real-time mirroring with low latency
- High quality (up to native resolution)
- Mouse and keyboard control from desktop
- Clipboard sync between device and computer
- Built-in screen recording capability
**Keyboard Shortcuts** (in scrcpy window):
- **⌘+f**: Toggle fullscreen
- **⌘+r**: Rotate screen
- **⌘+g**: Resize to 1:1 (pixel-perfect)
- **⌘+c**: Copy device clipboard to computer
- **⌘+s**: Take screenshot
## How It Works
**Simple mirror**:
- Uses `scrcpy` to establish ADB connection
- Streams device screen over USB
- Renders in desktop window
**Integrated logs**:
- Launches scrcpy for screen mirroring
- Runs `adb logcat` filtered to app package
- Shows only logs with `[APP]` prefix
- Writes to `device-logs.txt`
## Common Options
```bash
# Lower resolution for better performance
scrcpy --max-size 1024
# Record screen to file
scrcpy --record=recording.mp4
# View only (no control)
scrcpy --no-control
# Keep screen on during mirroring
scrcpy --stay-awake
```
## Common Issues
**"Device not found"**:
- Check USB debugging enabled
- Accept authorization prompt on device
- Verify with: `adb devices`
- Try: `adb kill-server && adb start-server`
**"Server connection failed"**:
- Restart ADB: `adb kill-server && adb start-server`
- Reconnect USB cable
- Check device authorization prompt
**scrcpy not installed**:
- Install it: `brew install scrcpy`
- Verify: `scrcpy --version`
**Poor performance/lag**:
- Reduce resolution: `scrcpy --max-size 1024`
- Use USB 3.0 port
- Close other apps using device
**No logs in console window**:
- Ensure app is running on device
- Check that app uses `Log.d/i/w/e` with consistent tags
- Verify logs have `[APP]` prefix (if using custom Logger)
## Taking Screenshots
To capture just the device screen:
```bash
./screenshot.sh output_filename.png
```
This captures only the device display area, excluding window chrome.
## Integration with Claude Code
The integrated logs version writes to `device-logs.txt`, allowing Claude to:
```bash
tail -20 device-logs.txt # View recent logs
```
This enables Claude to monitor app behavior in real-time.
## e/OS Compatibility
scrcpy works perfectly with e/OS devices using standard Android debugging protocols. No special configuration needed.
## Performance
- **Latency**: 35-70ms typical
- **Resolution**: Up to device native
- **Quality**: Lossless
- **Control**: Full mouse/keyboard support
## Notes
- scrcpy runs in foreground (blocks terminal)
- Device screen stays on during mirroring
- Clipboard automatically syncs
- Can record while mirroring
- Works over WiFi too (advanced setup)