Device Screenshot
Overview
Capture screenshots from iOS Simulators, physical iOS devices, or Android devices during development. Use this skill to inspect UI layouts, debug rendering issues, verify text/color display, or capture device state for analysis.
When to Use This Skill
Use this skill when users request to:
- •Capture a screenshot from a connected device
- •Analyze what's currently displayed on a device screen
- •Debug layout rendering issues or UI problems
- •Verify how elements are displayed (text, colors, spacing, etc.)
- •Take snapshots during development for comparison or documentation
Common user requests that trigger this skill:
- •"Capture screen for device"
- •"Take a screenshot of the simulator"
- •"Show me what's on the device right now"
- •"Analyze the current screen"
- •"Get a screenshot so we can see the layout issue"
Quick Start
iOS Simulator
To capture a screenshot from the currently running iOS Simulator:
xcrun simctl io booted screenshot $path
Example:
xcrun simctl io booted screenshot /tmp/simulator_screenshot.png
Requirements:
- •iOS Simulator must be running (booted)
- •Xcode Command Line Tools must be installed
Common issues:
- •If "No devices are booted" error occurs, ensure the iOS Simulator is running
- •The simulator must be the active/focused simulator if multiple are running
Android Device
To capture a screenshot from a connected Android device or emulator:
adb shell screencap -p > $path
Example:
adb shell screencap -p > /tmp/android_screenshot.png
Requirements:
- •Android device or emulator must be connected
- •ADB (Android Debug Bridge) must be installed and in PATH
- •USB debugging must be enabled on physical devices
Common issues:
- •If "device not found" error occurs, run
adb devicesto verify connection - •For multiple devices, specify device with
adb -s <device_id> shell screencap -p > $path
Physical iOS Device
To capture a screenshot from a physical iPhone or iPad connected via USB, use the provided script:
scripts/ios_screenshot.sh $path
Example:
scripts/ios_screenshot.sh /tmp/iphone_screenshot.png
Requirements:
- •Physical iOS device must be connected via USB
- •Device must be trusted (paired with the Mac)
- •Xcode must be installed
- •The device should be unlocked
How it works:
- •Verifies an iOS device is connected using
xcrun devicectl - •Opens Xcode and triggers the screenshot interface (Shift+Cmd+2)
- •Automatically clicks the "Take Screenshot" button
- •Captures the most recent screenshot from Desktop
- •Copies it to the specified output path
- •Cleans up the Desktop screenshot file
Common issues:
- •If "No connected iOS devices found" error occurs, check USB connection and trust status
- •Ensure Xcode has proper permissions to control the system
- •The device should be unlocked during screenshot capture
Workflow
Standard Screenshot Capture Process
- •
Determine device type - Identify whether the user wants to capture from iOS Simulator, physical iOS device, or Android device
- •
Verify device status - Ensure the device is connected and accessible:
- •iOS Simulator: Check if simulator is running
- •Android: Verify with
adb devices - •Physical iOS: Check connection with
xcrun devicectl list devices
- •
Choose output path - Determine where to save the screenshot:
- •Use
/tmp/for temporary analysis - •Use project-specific paths for documentation
- •Default to
/tmp/device_screenshot.pngif not specified
- •Use
- •
Execute capture command - Run the appropriate command based on device type
- •
Verify capture success - Check that the screenshot file was created and is valid
- •
Analyze if requested - If the user requested analysis, read the screenshot and provide insights about:
- •Layout issues or rendering problems
- •Text display, colors, or spacing concerns
- •UI element positioning or alignment
- •Any visible bugs or inconsistencies
Example Interaction Flow
User request: "Take a screenshot of the simulator and tell me if the button is aligned correctly"
Process:
- •Determine device type → iOS Simulator
- •Choose output path →
/tmp/sim_screenshot.png - •Execute:
xcrun simctl io booted screenshot /tmp/sim_screenshot.png - •Verify file exists
- •Read the screenshot image
- •Analyze button alignment and provide feedback
Best Practices
- •Always verify device connection before attempting screenshot capture
- •Use descriptive output paths to make screenshots easy to identify later
- •Clean up temporary screenshots after analysis to avoid clutter
- •Default to /tmp/ directory for temporary analysis screenshots
- •For physical iOS devices, ensure Xcode has accessibility permissions
- •When analyzing, be specific about UI issues found (positioning, colors, text, etc.)
Troubleshooting
iOS Simulator Issues
- •"No devices are booted" → Start the iOS Simulator from Xcode
- •Permission denied → Ensure Xcode Command Line Tools are properly installed
Android Issues
- •"device not found" → Run
adb devicesto verify device connection - •"adb: command not found" → Install Android SDK Platform Tools and add to PATH
- •Multiple devices connected → Use
adb -s <device_id>to specify target device
Physical iOS Issues
- •"No connected iOS devices found" → Check USB connection and device trust status
- •AppleScript errors → Grant Xcode accessibility permissions in System Preferences
- •Screenshot not captured → Ensure device is unlocked and Xcode is properly installed
- •Button not found → Update Xcode or check if the UI has changed in recent versions