Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 136% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 97% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 33% | 0% |
Follow these save-location rules every time:
1) If the user specifies a path, save there. 2) If the user asks for a screenshot without a path, save to the OS default screenshot location. 3) If Codex needs a screenshot for its own inspection, save to the temp directory.
On macOS, run the preflight helper once before window/app capture. It checks Screen Recording permission, explains why it is needed, and requests it in one place.
The helpers route Swift's module cache to $TMPDIR/codex-swift-module-cache to avoid extra sandbox module-cache prompts.
bashbash <path-to-skill>/scripts/ensure_macos_permissions.sh
To avoid multiple sandbox approval prompts, combine preflight + capture in one command when possible:
bashbash <path-to-skill>/scripts/ensure_macos_permissions.sh && \ python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"
For Codex inspection runs, keep the output in temp:
bashbash <path-to-skill>/scripts/ensure_macos_permissions.sh && \ python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp
Use the bundled scripts to avoid re-deriving OS-specific commands.
Run the helper from the repo root:
bashpython3 <path-to-skill>/scripts/take_screenshot.py
Common patterns:
bashpython3 <path-to-skill>/scripts/take_screenshot.py
bashpython3 <path-to-skill>/scripts/take_screenshot.py --mode temp
bashpython3 <path-to-skill>/scripts/take_screenshot.py --path output/screen.png
bashpython3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"
bashpython3 <path-to-skill>/scripts/take_screenshot.py --app "Codex" --window-name "Settings"
bashpython3 <path-to-skill>/scripts/take_screenshot.py --list-windows --app "Codex"
bashpython3 <path-to-skill>/scripts/take_screenshot.py --mode temp --region 100,200,800,600
--app to capture all windows):bashpython3 <path-to-skill>/scripts/take_screenshot.py --mode temp --active-window
bashpython3 <path-to-skill>/scripts/take_screenshot.py --window-id 12345
The script prints one path per capture. When multiple windows or displays match, it prints multiple paths (one per line) and adds suffixes like -w<windowId> or -d<display>. View each path sequentially with the image viewer tool, and only manipulate images if needed or requested.
bashbash <path-to-skill>/scripts/ensure_macos_permissions.sh && \ python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp
--region to isolate a single display when needed.The helper automatically selects the first available tool:
1) scrot 2) gnome-screenshot 3) ImageMagick import
If none are available, ask the user to install one of them and retry.
Coordinate regions require scrot or ImageMagick import.
--app, --window-name, and --list-windows are macOS-only. On Linux, use --active-window or provide --window-id when available.
Run the PowerShell helper:
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1
Common patterns:
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Path "C:\Temp\screen.png"
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -Region 100,200,800,600
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -ActiveWindow
powershellpowershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -WindowHandle 123456
Use these when you cannot run the helpers.
bashscreencapture -x output/screen.png
bashscreencapture -x -R100,200,800,600 output/region.png
bashscreencapture -x -l12345 output/window.png
bashscreencapture -x -i output/interactive.png
bashscrot output/screen.png
bashgnome-screenshot -f output/screen.png
bashimport -window root output/screen.png
bashscrot -a 100,200,800,600 output/region.png
bashimport -window root -crop 800x600+100+200 output/region.png
bashscrot -u output/window.png
bashgnome-screenshot -w -f output/window.png
bash <path-to-skill>/scripts/ensure_macos_permissions.sh first to request Screen Recording in one place.ModuleCache permission errors in a sandboxed run, rerun the command with escalated permissions.--list-windows --app "AppName" and retry with --window-id, and make sure the app is visible on screen.command -v scrot, command -v gnome-screenshot, and command -v import.Other measured skills in the registry, with their headline benchmark lift.