skill
Screenshot
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.
About
# Screenshot Capture
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.
## Tool priority
- Prefer tool-specific screenshot capabilities when available (for example: a Figma MCP/skill for Figma files, or Playwright/agent-browser tools for browsers and Electron apps). - Use this skill when explicitly asked, for whole-system desktop captures, or when a tool-specific capture cannot get what you need. - Otherwise, treat this skill as the default for desktop apps without a better-integrated capture tool.
## macOS permission preflight (reduce repeated prompts)
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.
```bash bash <path-to-skill>/scripts/ensure_macos_permissions.sh ```
To avoid multiple sandbox approval prompts, combine preflight + capture in one command when possible:
```bash bash <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:
```bash bash <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.
## macOS and Linux (Python helper)
Run the helper from the repo root:
```bash python3 <path-to-skill>/scripts/take_screenshot.py ```
Common patterns:
- Default location (user asked for "a screenshot"):
```bash python3 <path-to-skill>/scripts/take_screenshot.py ```
- Temp location (Codex visual check):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --mode temp ```
- Explicit location (user provided a path or filename):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --path output/screen.png ```
- App/window capture by app name (macOS only; substring match is OK; captures all matching windows):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex" ```
- Specific window title within an app (macOS only):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex" --window-name "Settings" ```
- List matching window ids before capturing (macOS only):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --list-windows --app "Codex" ```
- Pixel region (x,y,w,h):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --region 100,200,800,600 ```
- Focused/active window (captures only the frontmost window; use `--app` to capture all windows):
```bash python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --active-window ```
- Specific window id (use --list-windows on macOS to discover ids):
```bash python3 <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.
### Workflow examples
- "Take a look at <App> and tell me what you see": capture to temp, then view each printed path in order.
```bash bash <path-to-skill>/scripts/ensure_macos_permissions.sh && \ python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode temp ```
- "The design from Figma is not matching what is implemented": use a Figma MCP/skill to capture the design first, then capture the running app with this skill (typically to temp) and compare the raw screenshots before any manipulation.
### Multi-display behavior
- On macOS, full-screen captures save one file per display when multiple monitors are connected. - On Linux and Windows, full-screen captures use the virtual desktop (all monitors in one image); use `--region` to isolate a single display when needed.
### Linux prerequisites and selection logic
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.
## Windows (PowerShell helper)
Run the PowerShell helper:
```powershell powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 ```
Common patterns:
- Default location:
```powershell powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 ```
- Temp location (Codex visu
Install
Run this command
git clone https://github.com/openai/skills && cp -r skills/skills/.curated/screenshot ~/.claude/skills/Works with
Manual steps
Clone the repository and copy the `skills/.curated/screenshot` folder into your Claude skills directory. Compatible with Claude Code, Cursor, Codex, and any Agent Skills-compatible agent.
Frequently asked questions
What is the Screenshot skill?
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.
How do I install Screenshot?
Run this in your terminal:
git clone https://github.com/openai/skills && cp -r skills/skills/.curated/screenshot ~/.claude/skills/Which AI tools does Screenshot work with?
It works with claude_app, claude_code, claude_api, cursor, codex, windsurf, cline, zed.
Who made Screenshot?
OpenAI, released under the Apache-2.0 license.
Is Screenshot free?
Yes, it is free to use under the Apache-2.0 license.
npx skills add prisma/skills
npx skills add prisma/skills
npx skills add prisma/skills
npx skills add stablyai/orca
npx skills add wind-alice/alicemarket
npx skills add stablyai/orca
Audit before you install
Run any source through our checks - AI visibility, security, performance, and stack detection.
Automated Web Security Scan
security
PageSpeed Analyzer
performance
AI Content Quality Test
arabic content
AI Agent / MCP Server Tester
ai testing
Site Stack Detector
migration
AI SEO / AEO / GEO Audit
ai visibility
llms.txt Generator
ai visibility
Readability Score
arabic content
Schema / JSON-LD Builder
ai visibility
AI Cost Calculator
ai testing
Headline Analyzer
arabic content