Official agent skill

Screenshot

by JetBrains in JetBrains/skills

A skill your agent uses 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…

OfficialApache-2.0Auto-check passedProductivity & Automation

Install Screenshot

skills CLI
$ npx skills add JetBrains/skills --skill screenshot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install JetBrains/skills screenshot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/screenshot .claude/skills/screenshot && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
screenshot
GitHub stars
366
Used in
6 other repos
Token cost
~2k tokens
SKILL.md length
670 words
Files
11 (incl. scripts, assets)
Skills in repo
76
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses 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…

  • Works in 3 steps: If the user specifies a path, save there. → If the user asks for a screenshot… → If Codex needs a screenshot for its own…
  • The user explicitly asks for a desktop
  • SKILL.md covers Tool priority, macOS permission preflight…, macOS and Linux (Python helper) and Windows (PowerShell helper), plus 2 more sections
  • Runs Swift, Shell, PowerShell and Python scripts from its folder; calls python3 and bash

What it does

Screenshot is an agent skill from JetBrains/skills, published by the product's own GitHub organization. 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.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and assets (for example `agents/openai.yaml`, `scripts/ensure_macos_permissions.sh` and `scripts/take_screenshot.py`).

It sits in Productivity & Automation. It works with macOS and Linux. The repository describes itself as: Curated agent skills collection verified by JetBrains. The licence is Apache-2.0.

When your agent uses it

  • The user explicitly asks for a desktop
  • System screenshot (full screen
  • A pixel region)
  • Tool-specific capture capabilities are unavailable and an OS-level capture is needed

Example prompts

  • “/screenshot”

Requirements

  • Python 3
  • A Bash shell
  • PowerShell

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  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.

What it can do on your machine

Read from SKILL.md and the folder at commit e0f258b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 6 files in scripts/ (Swift, Shell, PowerShell and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Screenshot loads about 2k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 670 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from JetBrains/skills at commit e0f258b, republished under its Apache-2.0 licence (© JetBrains). 670 words, ~1,976 tokens.

Download SKILL.mdSave it as .claude/skills/screenshot/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
screenshot
description
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.
metadata.short-description
Capture screenshots
metadata.author
OpenAI
metadata.source
https://github.com/openai/skills/tree/main/skills/.curated/screenshot

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.
Show full SKILL.md (287 more words)Show less
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 visual check):
powershell
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp
  • Explicit path:
powershell
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Path "C:\Temp\screen.png"
  • Pixel region (x,y,w,h):
powershell
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -Region 100,200,800,600
  • Active window (ask the user to focus it first):
powershell
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -ActiveWindow
  • Specific window handle (only when provided):
powershell
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -WindowHandle 123456

Direct OS commands (fallbacks)

Use these when you cannot run the helpers.

macOS
  • Full screen to a specific path:
bash
screencapture -x output/screen.png
  • Pixel region:
bash
screencapture -x -R100,200,800,600 output/region.png
  • Specific window id:
bash
screencapture -x -l12345 output/window.png
  • Interactive selection or window pick:
bash
screencapture -x -i output/interactive.png
Linux
  • Full screen:
bash
scrot output/screen.png
bash
gnome-screenshot -f output/screen.png
bash
import -window root output/screen.png
  • Pixel region:
bash
scrot -a 100,200,800,600 output/region.png
bash
import -window root -crop 800x600+100+200 output/region.png
  • Active window:
bash
scrot -u output/window.png
bash
gnome-screenshot -w -f output/window.png

Error handling

  • On macOS, run bash <path-to-skill>/scripts/ensure_macos_permissions.sh first to request Screen Recording in one place.
  • If you see "screen capture checks are blocked in the sandbox", "could not create image from display", or Swift ModuleCache permission errors in a sandboxed run, rerun the command with escalated permissions.
  • If macOS app/window capture returns no matches, run --list-windows --app "AppName" and retry with --window-id, and make sure the app is visible on screen.
  • If Linux region/window capture fails, check tool availability with command -v scrot, command -v gnome-screenshot, and command -v import.
  • If saving to the OS default location fails with permission errors in a sandbox, rerun the command with escalated permissions.
  • Always report the saved file path in the response.

© JetBrains, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (scripts, assets) in screenshot of JetBrains/skills.

  • SKILL.md
  • LICENSE.txt
  • agents/openai.yaml
  • assets/screenshot-small.svg
  • assets/screenshot.png
  • scripts/ensure_macos_permissions.sh
  • scripts/macos_display_info.swift
  • scripts/macos_permissions.swift
  • scripts/macos_window_info.swift
  • scripts/take_screenshot.ps1
  • scripts/take_screenshot.py

Open the folder on GitHubat commit e0f258b

Used in 6 other repositories

We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 6 other GitHub owners. This page covers the copy in JetBrains/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Screenshot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Screenshot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Screenshot this skillJetBrains/skills3666 repos~2kAutomated safety check: PassApache-2.0
Open Computer UseiFurySt/open-codex-computer-use2.4k—~1.5kAutomated safety check: PassMIT
Waku Computer Useegoist/waku1.6k—~3.6kAutomated safety check: PassGPL-3.0
Wx CLIjackwener/wx-cli-again804—~2.3kAutomated safety check: NotesApache-2.0
Daily Briefleiting-eric/DailyBrief364—~3kAutomated safety check: NotesMIT
Healthmd CLICodyBontecou/health-md231—~4.8kAutomated safety check: PassAGPL-3.0

Similar skills

  • Open Computer Use

    iFurySt/open-codex-computer-use

    Platform-neutral guidance for using Open Computer Use, the open-source Computer Use MCP server and CLI for macOS, Linux, and Windows.

    2.4k GitHub stars~1.5k tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed
  • Control local macOS, Windows, and Linux apps through Waku Computer Use.

    1.6k GitHub stars~3.6k tokensUpdated 7 days ago
    Productivity & AutomationAuto-check passed
  • Wx CLI

    jackwener/wx-cli-again

    wx-cli — 从本地微信数据库查询聊天记录、联系人、会话、收藏等。用户提到微信聊天记录、联系人、消息历史、群成员、收藏内容时,使用此 skill 安装并调用 wx-cli。

    804 GitHub stars~2.3k tokensUpdated 25 days ago
    Productivity & AutomationAuto-check: notes
  • Daily Brief

    leiting-eric/DailyBrief

    Operational knowledge for the daily-brief digest pipeline (this project).

    364 GitHub stars~3k tokensUpdated today
    Productivity & AutomationAuto-check: notes
  • Healthmd CLI

    CodyBontecou/health-md

    Safely install and use the Health.md CLI and MCP server to query user-authorized health data, chart typed metrics, inspect sleep and workouts, export scoped or complete public/authorized Apple…

    231 GitHub stars~4.8k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Drive Screen

    coleam00/skills

    Take real control of the desktop - list and focus windows, type, paste, click, scroll, and screenshot - on Windows, macOS or Linux, and drive other coding-agent sessions running in terminals.

    674 GitHub stars~5.4k tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed

More from JetBrains/skills

All 76 skills in this repo
  • Playwright

    JetBrains/skills

    Official

    A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…

    366 GitHub starsUsed in 11 repos~986 tokens
    Auto-check passed
  • Skill Creator

    JetBrains/skills

    Official

    Guide for creating effective skills. An agent skill from JetBrains/skills.

    366 GitHub starsUsed in 122 repos~4.7k tokens
    Auto-check passed
  • Transcribe

    JetBrains/skills

    Official

    Transcribe audio files to text with optional diarization and known-speaker hints.

    366 GitHub starsUsed in 4 repos~776 tokens
    Auto-check passed
  • Imagegen

    JetBrains/skills

    Official

    A skill your agent uses when the user asks to generate or edit images via the OpenAI Image API (for example: generate image, edit/inpaint/mask, background removal or replacement, transparent…

    366 GitHub starsUsed in 3 repos~2.5k tokens
    Auto-check passed
  • Speech

    JetBrains/skills

    Official

    A skill your agent uses when the user asks for text-to-speech narration or voiceover, accessibility reads, audio prompts, or batch speech generation via the OpenAI Audio API; run the bundled CLI…

    366 GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • Vercel Deploy

    JetBrains/skills

    Official

    Deploy applications and websites to Vercel. An agent skill from JetBrains/skills.

    366 GitHub starsUsed in 5 repos~716 tokens
    Auto-check passed

Works with

Questions about Screenshot

What does Screenshot do?

A skill your agent uses 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…. Screenshot is an agent skill from JetBrains/skills, published by the product's own GitHub organization. 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.

When should I use Screenshot?

Screenshot fits situations like: the user explicitly asks for a desktop; system screenshot (full screen; A pixel region); tool-specific capture capabilities are unavailable and an OS-level capture is needed.

How do I install Screenshot in Claude Code?

Run `npx skills add JetBrains/skills --skill screenshot -a claude-code`. Or copy the skill folder (screenshot in JetBrains/skills) into .claude/skills/screenshot in your project. Claude Code loads it when a task matches its description.

How do I install Screenshot in Codex?

Run `npx skills add JetBrains/skills --skill screenshot -a codex`. Or copy the skill folder (screenshot in JetBrains/skills) into .agents/skills/screenshot in your project. Codex loads it when a task matches its description.

Can I use Screenshot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JetBrains/skills --skill screenshot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/screenshot, .gemini/skills/screenshot, .github/skills/screenshot and .opencode/skills/screenshot in your project.

What does Screenshot need to run?

Going by SKILL.md and its folder, Screenshot needs Swift, a shell, PowerShell and Python for the scripts in its folder and the command-line tools its instructions call (python3 and bash). Our summary lists: Python 3; A Bash shell; PowerShell.

Does Screenshot access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Screenshot safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Screenshot use?

Screenshot is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Screenshot use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Screenshot?

Skills that share tags, products or a category with Screenshot: Open Computer Use (iFurySt/open-codex-computer-use, 2.4k stars), Waku Computer Use (egoist/waku, 1.6k stars), Wx CLI (jackwener/wx-cli-again, 804 stars) and Daily Brief (leiting-eric/DailyBrief, 364 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Screenshot?

JetBrains (a GitHub organization, an official publisher) maintains it in JetBrains/skills, which has 366 GitHub stars. The repository holds 76 skills in this directory. The repository was last updated on June 29, 2026.

Source: JetBrains/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.