You have access to OverRec CLI to control screen overlays, screenshots, and window placement.
Environment
This skill runs on Windows or WSL. OverRec must be installed and on the PATH.
- Windows powershell: use
OverRec.exe - WSL: use
pwsh.exe -C OverRec.exeorpowershell.exe -C OverRec.exe
Check OverRec is available before running any command:
OverRec.exe cli monitors 2>/dev/null || echo "OverRec not found"
If not found, inform the user that OverRec must be installed and on the PATH (or provide the full path if known).
Available Commands
List monitors:
OverRec.exe cli monitors
OverRec.exe cli monitors --all
Draw an overlay rectangle (stays on top until timeout or closed):
OverRec.exe cli draw --location X,Y --size WxH [--color COLOR] [--monitor N] [--timeout SECONDS]
Colors: red, green, blue, yellow, white, black, or #RRGGBB hex. Default is blue.
Take a screenshot:
OverRec.exe cli screenshot --location X,Y --size WxH [--output FILE.png] [--no-clipboard] [--monitor N]
By default the image is copied to the clipboard. Use --output to also save to file. Use --no-clipboard to skip clipboard.
Record a screen region to GIF or MP4:
OverRec.exe cli record --location X,Y --size WxH --output FILE.gif|FILE.mp4 --timeout SECONDS [--fps N] [--monitor N] [--ffmpeg PATH] [--async]
--timeout SECONDSis required — recording stops and the file is finalized after this many seconds.--fps N— constant frame rate, 1-240 (default 10)..gifoutput uses the built-in encoder (max size 65535x65535)..mp4output requires FFmpeg: by defaultffmpegfrom PATH, or pass--ffmpeg PATHfor a specific executable.- On Windows, MP4 recording uses DXGI Desktop Duplication; the recording region must fit entirely within one (non-rotated) monitor.
- Without
--async, the command blocks until the timeout elapses, then printsRecording saved: FILE. - With
--async, it starts a detached background worker and returns immediately, printingRecording started in background (PID N): FILE. The file is finalized when the timeout elapses, not when the command returns.
Find a window by title keyword:
OverRec.exe cli window [--all] [<keyword...>]
Lists visible windows whose title contains all given keywords (case-insensitive). Omit keywords to list every visible window.
- Default: compact ID/title table
--all: also shows monitor number, location, and size (max/minfor maximised/minimised)
Output format (default):
WindowID Title
------------------------------------------------------------
657846 Google Chrome
329812 Visual Studio Code
Output format (--all):
WindowID Mon Location Size Title
--------------------------------------------------------------------------------
657846 0 0,0 1920x1080 Google Chrome
329812 0 max 1920x1080 Visual Studio Code
131070 1 1920,0 1280x720 Notepad
Snap a window to an exact position and size:
OverRec.exe cli snap --windowid ID --location X,Y --size WxH [--monitor N]
--windowid— fromoverrec cli window--location/--size— in absolute screen coordinates, or relative to a monitor origin when--monitoris given- DWM shadow margins are corrected automatically; the visible frame lands exactly at the requested rect
- The window is restored (if minimised/maximised) and brought to the front
How to Handle User Requests
"Take a screenshot of [area/region]"
- If monitor layout is unknown, run
OverRec.exe cli monitorsfirst. - Determine or ask for X, Y, width, height.
- Run screenshot command. Use
--output FILE.pngto save to disk; add--no-clipboardto skip clipboard copy. - Report the saved file path (or confirm it was copied to clipboard).
"Highlight / draw an overlay on [area]"
- Determine coordinates and size.
- Run draw command. Use
--timeoutif the user wants it temporary. - Inform the user the overlay is active and how to dismiss it.
"Record a screen recording / clip / GIF / video of [area]"
- If monitor layout is unknown, run
OverRec.exe cli monitorsfirst. - Determine coordinates, size, and recording duration (
--timeoutis required). - Pick the output format from the file extension the user wants:
.gif(no extra dependencies) or.mp4(requires FFmpeg — check withffmpeg -version, or ask the user for--ffmpeg PATHif it's not on PATH). - Run the record command. Use
--asyncif the user wants control returned immediately while recording continues in the background. - Report the saved file path once finalized (or the background PID for
--async).
# Blocking: waits 10s, then reports the saved file
OverRec.exe cli record --location 0,0 --size 1280x720 --output capture.gif --timeout 10
# MP4 at 30fps, recorded in the background
OverRec.exe cli record --location 0,0 --size 1920x1080 --output capture.mp4 --timeout 15 --fps 30 --async
"Search for a window / find window ID by name"
OverRec.exe cli window <keyword>
OverRec.exe cli window --all <keyword> # also shows monitor, location, size
OverRec.exe cli window # list all visible windows
- Parse the output: skip the header (first 2 lines), then each line has
WindowID(first field) andTitle(rest). - If no match, report that no window was found with that keyword.
- If multiple matches, show the list and ask the user which one to use.
Example — extract the first matching WindowID in bash:
WIN_ID=$(OverRec.exe cli window chrome | awk 'NR>2 && $1~/^[0-9]+$/ {print $1; exit}')
"Snap / fit / move [app] into a rectangle"
Full workflow — search for the window then snap it:
# 1. Find the window
OverRec.exe cli window <keyword>
# 2. Snap it (use the WindowID from step 1)
OverRec.exe cli snap --windowid ID --location X,Y --size WxH
# 3. Optionally draw a brief overlay to confirm placement
OverRec.exe cli draw --location X,Y --size WxH --timeout 2
Combined one-liner (bash):
WIN_ID=$(OverRec.exe cli window chrome | awk 'NR>2 && $1~/^[0-9]+$/ {print $1; exit}')
OverRec.exe cli snap --windowid "$WIN_ID" --location 0,0 --size 1280x720
If $WIN_ID is empty, the window was not found — report this to the user.
"Arrange windows side by side / tile windows"
- List monitors:
OverRec.exe cli monitors --all - Find each window by keyword.
- Calculate tile rectangles from monitor dimensions.
- Snap each window.
Example — split two windows left/right on a 1920×1080 primary monitor:
LEFT_ID=$(OverRec.exe cli window chrome | awk 'NR>2 && $1~/^[0-9]+$/ {print $1; exit}')
RIGHT_ID=$(OverRec.exe cli window notepad | awk 'NR>2 && $1~/^[0-9]+$/ {print $1; exit}')
OverRec.exe cli snap --windowid "$LEFT_ID" --location 0,0 --size 960x1080
OverRec.exe cli snap --windowid "$RIGHT_ID" --location 960,0 --size 960x1080
"Watch / monitor [area] of the screen"
Implement a watch loop: repeatedly capture the region at an interval and save each frame.
INTERVAL=5
LOCATION="0,0"
SIZE="640x480"
OUTPUT_DIR="watch_output"
mkdir -p "$OUTPUT_DIR"
i=0
while true; do
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
OverRec.exe cli screenshot --location "$LOCATION" --size "$SIZE" \
--output "$OUTPUT_DIR/frame_${TIMESTAMP}.png" --no-clipboard
echo "Captured frame $i at $TIMESTAMP"
i=$((i+1))
sleep "$INTERVAL"
done
Ask the user:
- What area to watch (coordinates + size, or ask them to describe the region)
- How often to capture (default: every 5 seconds)
- Where to save frames (default:
./watch_output/) - Stop condition: number of frames, duration, or manual stop
Coordinate Tips
- Top-left of primary monitor is 0,0.
- For secondary monitors, use
OverRec.exe cli monitors --allto find each monitor'sAbs Position, then pass--monitor Nso--locationcoordinates are relative to that monitor's origin. - If the user describes a region vaguely ("top-right quarter of screen"), query monitors first to calculate coordinates.
$ARGUMENTS
$ARGUMENTS