Help us improve
Share bugs, ideas, or general feedback.
From monitor-config
Optimizes macOS multi-monitor setups with displayplacer: discovers displays, interviews on physical arrangement and workflow, recommends resolutions, refresh rates, orientations.
npx claudepluginhub aviflombaum/claude-code-in-avinyc --plugin monitor-configHow this skill is triggered — by the user, by Claude, or both
Slash command
/monitor-config:monitor-configThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Optimize multi-monitor setups on macOS through an interactive interview process. Discover connected displays, understand the user's physical arrangement and workflow, then configure optimal resolutions, refresh rates, and orientations.
Controls macOS GUI applications via mouse automation, keyboard input, screenshots, image recognition, and AppleScript execution.
Automates Android, iOS, Aurora OS, and Desktop via CLI: screenshots, annotations, taps/swipes/text input, app install/launch/stop/uninstall, file push/pull, shell commands, device info queries.
Provides Apple Human Interface Guidelines for visionOS apps, covering spatial layout rules, eye/hand input, and immersive experiences for Vision Pro comfort and usability.
Share bugs, ideas, or general feedback.
Optimize multi-monitor setups on macOS through an interactive interview process. Discover connected displays, understand the user's physical arrangement and workflow, then configure optimal resolutions, refresh rates, and orientations.
displayplacer CLI tool (will prompt to install if missing)Check if displayplacer is available:
command -v displayplacer || echo "NOT_INSTALLED"
If not installed, offer to install:
brew install displayplacer
Run displayplacer to get full display information:
displayplacer list
Parse and present the displays in a clear format:
I found these displays:
1. [Type] - [Size] inch
- Current: [resolution] @ [hz]Hz
- Rotation: [degrees]
- Position: [origin]
2. ...
Identify each display by:
Ask about the physical arrangement:
Ask about primary use:
"What do you primarily use this setup for?"
"Do you prefer maximum sharpness (smaller text) or comfortable readability (larger text)?"
"Is smooth scrolling important to you? (120Hz vs 60Hz)"
Based on the interview, reference references/resolution_guidelines.md for optimal settings.
Consider:
degree:90 or degree:270 depending on cable exit preferenceorigin:(0,0)Present the recommendation:
Based on your setup, I recommend:
Center (32" Dell): 3840x2160 @ 120Hz - Main display
→ Maximum 4K sharpness, smooth scrolling
Left (27" Dell): 1800x3200 @ 60Hz portrait
→ Vertical for code reading, high resolution
Right (MacBook): 1512x982 @ 120Hz
→ Native Retina scaling
Want me to apply this configuration?
Construct and execute the displayplacer command:
displayplacer \
"id:[DISPLAY_ID] res:[WIDTH]x[HEIGHT] hz:[REFRESH] color_depth:8 enabled:true [scaling:on] origin:([X],[Y]) degree:[ROTATION]" \
"id:[DISPLAY_ID] ..." \
"id:[DISPLAY_ID] ..."
Key parameters:
id: - Use persistent screen ID for reliabilityres: - Resolution (check available modes in displayplacer list)hz: - Refresh ratescaling:on - Enable HiDPI scaling (omit for native resolution)origin: - Position relative to other displaysdegree: - Rotation (0, 90, 180, 270)After applying, verify the configuration:
displayplacer list | grep -E "(Serial screen id|Resolution:|Origin:|Rotation:)"
Offer to save as a reusable profile:
mkdir -p ~/.config/display-profiles
Create a shell script for the profile:
#!/bin/bash
# Profile: [name]
# [description]
displayplacer \
"id:... res:... hz:... ..."
echo "Profile [name] applied"
Optionally add shell aliases for quick switching.
Change rotation from degree:90 to degree:270 or vice versa.
Some resolutions require scaling:on, others don't. Check the available modes in displayplacer list output and match exactly.
Use serial screen IDs (start with 's') instead of persistent IDs for more reliability, or use contextual IDs with the --contextual flag.
When rotated, specify resolution in portrait format: 1080x1920 instead of 1920x1080.
User: optimize my monitors
Claude: Let me check your connected displays...
[runs displayplacer list]
I found 3 displays:
1. MacBook Pro 16" - Built-in Liquid Retina XDR
2. Dell S3225QS - 32" 4K @ 120Hz capable
3. Dell U2720Q - 27" 4K @ 60Hz capable
How are these physically arranged?
User: The 32" is center, 27" is on my left rotated vertical, MacBook on right
Claude: Great setup for coding! How far do you sit from the displays?
User: About 2.5 feet
Claude: At 2.5 feet from 4K displays, here's what I recommend:
- 32" center: 3840x2160 @ 120Hz (full 4K, maximum sharpness)
- 27" left: 1800x3200 portrait @ 60Hz (tons of code lines visible)
- MacBook right: Native Retina @ 120Hz
Want me to apply this?
User: Yes
Claude: [applies configuration]
Done! Your displays are now configured:
- 32" Dell: Main display, 4K @ 120Hz
- 27" Dell: Portrait left, 1800x3200
- MacBook: Right side, native resolution
I've also saved this as a profile at ~/.config/display-profiles/coding.sh
Run `display-coding` to restore this configuration anytime.