screenshot
Skill39 starsChanged 34 days agoMITView on GitHub
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.
We split this skill into the rules it gives an agent
17 rules. 0 are common, 14 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 32 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Follow these save-location rules every time:
- Distinctive: line 11
If the user specifies a path, save there.
- Distinctive: line 12
If the user asks for a screenshot without a path, save to the OS default screenshot location.
- Distinctive: line 13
If Codex needs a screenshot for its own inspection, save to the temp directory.
- Distinctive: line 17
Prefer tool-specific screenshot capabilities when available (for example: a Figma MCP/skill for Figma files, or Playwright/agent-browser …
- Distinctive: line 18
Use this skill when explicitly asked, for whole-system desktop captures, or when a tool-specific capture cannot get what you need.
- Distinctive: line 49
Use the bundled scripts to avoid re-deriving OS-specific commands.
- Distinctive: line 53
Run the helper from the repo root:
- Distinctive: line 61
Default location (user asked for "a screenshot"):
- Distinctive: line 141
If none are available, ask the user to install one of them and retry.
- Distinctive: line 150
Run the PowerShell helper:
- Distinctive: line 196
Use these when you cannot run the helpers.
- Very specific: line 263
If you see "screen capture checks are blocked in the sandbox", "could not create image from display", or Swift ModuleCache permission …
- Very specific: line 264
If macOS app/window capture returns no matches, run --list-windows --app "AppName" and retry with --window-id, and make sure the app is …
- Very specific: line 265
If Linux region/window capture fails, check tool availability with command -v scrot, command -v gnome-screenshot, and command -v import.
- Distinctive: line 266
If saving to the OS default location fails with permission errors in a sandbox, rerun the command with escalated permissions.
- Distinctive: line 267
Always report the saved file path in the response.
“Common” is measured: kept by at least 6 in 10 of the 32 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Screenshot Capture
Follow these save-location rules every time:
- If the user specifies a path, save there.
- If the user asks for a screenshot without a path, save to the OS default screenshot location.
- 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 <path-to-skill>/scripts/ensure_macos_permissions.shTo avoid multiple sandbox approval prompts, combine preflight + capture in one command when possible:
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 <path-to-skill>/scripts/ensure_macos_permissions.sh && \
python3 <path-to-skill>/scripts/take_screenshot.py --app "<App>" --mode tempUse the bundled scripts to avoid re-deriving OS-specific commands.
macOS and Linux (Python helper)
Run the helper from the repo root:
python3 <path-to-skill>/scripts/take_screenshot.pyCommon patterns:
- Default location (user asked for "a screenshot"):
python3 <path-to-skill>/scripts/take_screenshot.py- Temp location (Codex visual check):
python3 <path-to-skill>/scripts/take_screenshot.py --mode temp- Explicit location (user provided a path or filename):
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):
python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex"- Specific window title within an app (macOS only):
python3 <path-to-skill>/scripts/take_screenshot.py --app "Codex" --window-name "Settings"- List matching window ids before capturing (macOS only):
python3 <path-to-skill>/scripts/take_screenshot.py --list-windows --app "Codex"- Pixel region (x,y,w,h):
python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --region 100,200,800,600- Focused/active window (captures only the frontmost window; use
--appto capture all windows):
python3 <path-to-skill>/scripts/take_screenshot.py --mode temp --active-window- Specific window id (use --list-windows on macOS to discover ids):
python3 <path-to-skill>/scripts/take_screenshot.py --window-id 12345The 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 <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
--regionto isolate a single display when needed.
Linux prerequisites and selection logic
The helper automatically selects the first available tool:
scrotgnome-screenshot- 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 -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1Common patterns:
- Default location:
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1- Temp location (Codex visual check):
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp- Explicit path:
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Path "C:\Temp\screen.png"- Pixel region (x,y,w,h):
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 -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -Mode temp -ActiveWindow- Specific window handle (only when provided):
powershell -ExecutionPolicy Bypass -File <path-to-skill>/scripts/take_screenshot.ps1 -WindowHandle 123456Direct OS commands (fallbacks)
Use these when you cannot run the helpers.
macOS
- Full screen to a specific path:
screencapture -x output/screen.png- Pixel region:
screencapture -x -R100,200,800,600 output/region.png- Specific window id:
screencapture -x -l12345 output/window.png- Interactive selection or window pick:
screencapture -x -i output/interactive.pngLinux
- Full screen:
scrot output/screen.pnggnome-screenshot -f output/screen.pngimport -window root output/screen.png- Pixel region:
scrot -a 100,200,800,600 output/region.pngimport -window root -crop 800x600+100+200 output/region.png- Active window:
scrot -u output/window.pnggnome-screenshot -w -f output/window.pngError handling
- On macOS, run
bash <path-to-skill>/scripts/ensure_macos_permissions.shfirst 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
ModuleCachepermission 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, andcommand -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.
Other versions50 projects use a version of this.
Word for word · 14
- openai/skills★ 27k100% same
- VoDaiLocz/kilo-kit-mcp★ 28100% same
- ingpoc/SKILLS★ 9100% same
- taljeon/plzdo★ 9100% same
- Adhamxon/claude-code-skills★ 2100% same
- daidaibunny/agent-skills★ 2100% same
- FuSheng-MG/Pi-Agent-skills★ 1100% same
- PandelisZ/skills★ 1100% same
- ailessonio/open-source-skills★ 0100% same
- hebertzhu/agent-foundry★ 0100% same
- belentani7/manus-ai-skill-pack★ 0100% same
3 more not listed
Edited · 10
- JetBrains/skills★ 38698% same
- PracticalSwan/agent-skills★ 2274% same
- joyehuang/skills★ 999% same
- zyyziyunying/skills★ 211% same
- davisbuilds/dojo★ 077% same
- hencter/hencte.top★ 097% same
- hmjBill/skills★ 022% same
- its-ash/skills★ 010% same
- tutti-os/skills★ 095% same
- VJDiPaola/skill-forge★ 097% same
Wrote their own version · 26
- openstatusHQ/openstatus★ 9.2ksame name
- iPlug2/iPlug2★ 2.4ksame name
- OpenEnroth/OpenEnroth★ 872same name
- RandallLiuXin/GodotMaker★ 555same name
- mycelium-io/mycelium★ 126same name
- app-dev-panel/app-dev-panel★ 91same name
- Agent-Deployment-Co/argus★ 33same name
- fltman/claude-code-skill-screenshot★ 18same name
- zernie/vigiles★ 15same name
- bordenet/superpowers-plus★ 8same name
16 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use spreadsheet, slides and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
JetBrainsSkillspreadsheet
Use when tasks involve creating, editing, analyzing, or formatting spreadsheets (`.xlsx`, `.csv`, `.tsv`) with formula-aware workflows, cached recalculation, and visual review.
Also in 3 projects that use this
JetBrainsSkillslides
Create and edit presentation slide decks (`.pptx`) with PptxGenJS and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding charts/diagrams/visuals, or diagnosing layout issues such as overflow, overlaps, and font substitution.
Also in 5 projects that use this
simo97Skillobsidian-vault
Also in 4 projects that use this
simo97Skilledit-article
The user will invoke this skill to help them edit an article.
Also in 3 projects that use this
LesaniSkillwriting-beats
Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.
Also in 3 projects that use this
LesaniSkillwriting-shape
Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.
Also in 3 projects that use this
In this repository85 other files it gives its agents.
- api-securitySkill
- apk-reverseSkill
- attack-chainSkill
- binary-diffSkill
- cairnSkill
- code-sentinel-ctfSkill
- code-sentinel-engagementSkill
- code-sentinel-gpt56Skill
- code-sentinel-matrixSkill
- code-sentinel-opsSkill
- code-sentinel-payloadSkill
- code-sentinel-ptesSkill
- code-sentinelSkill
- cyberstrikeSkill
- diagram-generatorSkill
- docs-generatorSkill
- edr-bypass-reSkill
- firmware-pentestSkill
- gpt56-instruct-routerSkill
- gpt56-reverse-pentestSkill
- ida-reverseSkill
- js-reverseSkill
- llm-securitySkill
- malware-analysisSkill
- mobile-competitive-game-securitySkill
- mobile-reverseSkill
- patch-diff-exploitSkill
- pdfSkill
- pentest-toolsSkill
- src-hunterSkill
- playwright-interactiveSkill
- playwrightSkill
- pojia-anticheatSkill
- pojia-auto-opsSkill
- pojia-evasionSkill
- pojia-exploitSkill
- pojia-game-hackSkill
- pojia-game-redteamSkill
- pojia-game-securitySkill
- pojia-labSkill
- pojia-license-securitySkill
- pojia-malwareSkill
- pojia-mature-contentSkill
- pojia-memorySkill
- pojia-pentestSkill
- pojia-reverseSkill
- pojia-social-engSkill
- pojia-unlimitedSkill
- pwn-chainSkill
- radare2Skill
- range-research-scopeSkill
- recover-license-native-e2eSkill
- reverse-engineeringSkill
- security-best-practicesSkill
- security-ownership-mapSkill
- security-threat-modelSkill
- shadowtrace-anti-debugSkill
- shadowtrace-artifact-triageSkill
- shadowtrace-binary-analysisSkill
- shadowtrace-binary-protectionSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

