סקיל Screenshot
screenshot הוא סקיל רשמי של OpenAI שמצלם מסך ברמת מערכת ההפעלה: מסך מלא, אפליקציה או חלון מסוים, או אזור פיקסלים מוגדר. הוא עובד חוצה-פלטפורמות, עם סקריפטים מובנים ל-macOS, ל-Linux ול-Windows, ובוחר אוטומטית את הכלי הזמין. הסקיל מקפיד על כללי מיקום שמירה ברורים, מטפל בהרשאות צילום מסך, ותומך בריבוי צגים. כך אפשר ללכוד את המסך כשכלים ספציפיים לדפדפן או לעיצוב לא מספיקים, או כשצריך לכידה ברמת שולחן העבודה. בפרויקטי הפיתוח שאני מוביל, צילום מסך מהיר ומדויק עוזר לתעד, להשוות ולדבג. במדריך תקבלו את כל ההנחיות, ארבעה תרחישי שימוש, וצ'קליסט איכות.
פקודת התקנה
npx skills add openai/skills@screenshot -g -y
ההתקנה מתבצעת דרך מנהל החבילות הרשמי של הסקילים בפקודה אחת. זהו סקיל רשמי של OpenAI הכולל סקריפטים לצילום מסך, ומופעל כשמבקשים צילום מסך מערכתי. אפשר להוריד ולבדוק את הקוד דרך הכפתורים שבראש העמוד.
מה הסקיל כולל?
הסקיל מתעד צילום מסך מערכתי חוצה-פלטפורמות: מסך מלא, אפליקציה, חלון או אזור פיקסלים, בחירת כלי אוטומטית, טיפול בהרשאות, כללי מיקום שמירה, ותמיכה בריבוי צגים.
קוד הסקיל המלא
---
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."
---
# 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 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.
מה זה screenshot ולמה הסקיל הזה שונה?
screenshot פותר צורך פשוט שמתסבך מהר: לכידת מסך אמינה מתוך תהליך אוטומטי. כל מערכת הפעלה עושה זאת אחרת, ההרשאות שונות, וריבוי צגים מסבך. הסקיל מאחד את הכל לזרימה אחת חוצת-פלטפורמות, כך שצילום מסך הופך לפקודה אחת שעובדת בכל סביבה.
מה שמייחד אותו הוא הכיסוי חוצה-הפלטפורמות. הסקיל כולל סקריפטים ל-macOS, ל-Linux ול-Windows, ובוחר אוטומטית את הכלי הזמין, למשל scrot או gnome-screenshot בלינוקס. הוא תומך בצילום מסך מלא, אפליקציה, חלון מסוים או אזור פיקסלים, מטפל בהרשאות צילום מסך במקום אחד כדי להפחית בקשות חוזרות, ומכבד כללי מיקום שמירה: נתיב שביקשתם, מיקום ברירת המחדל, או תיקיית הזמני לבדיקה. כך הלכידה צפויה ומסודרת.
ההבדל מורגש באמינות. במקום להיתקל בהבדלי מערכות הפעלה והרשאות, מקבלים לכידה שעובדת בכל מקום. בשילוב עם סקיל diagnosing-bugs, אפשר ללכוד את מצב המסך בזמן תקלה ולחקור אותה ויזואלית, וזה צירוף חזק לדיבוג.
מה screenshot נותן לקלוד קוד?
הסקיל מוסיף לקלוד יכולת לכידת מסך מערכתית: מסך מלא, חלון או אזור, חוצה-פלטפורמות, עם טיפול בהרשאות, כללי שמירה ותמיכה בריבוי צגים.
לכידה גמישה
הסקיל מצלם מסך מלא, אפליקציה או חלון מסוים, או אזור פיקסלים מדויק לפי קואורדינטות. כך אפשר ללכוד בדיוק את מה שצריך, בין שזה כל המסך, חלון בודד או פינה קטנה, בלי לחתוך ידנית אחר כך.
כיסוי חוצה-פלטפורמות
הסקיל כולל סקריפטים ל-macOS, ל-Linux ול-Windows, ובוחר אוטומטית את הכלי הזמין במערכת. כך אותה פקודה עובדת בכל סביבה, בלי שתצטרכו לזכור את הכלי הספציפי או את התחביר של כל מערכת הפעלה.
טיפול בהרשאות
צילום מסך דורש הרשאות, במיוחד ב-macOS. הסקיל מריץ בדיקת הרשאות מקדימה במקום אחד, מסביר למה היא נחוצה, ומבקש אותה פעם אחת. כך נמנעות בקשות חוזרות והלכידה עוברת חלק, בלי להיתקע על הרשאה חסרה.
שמירה מסודרת וריבוי צגים
הסקיל מכבד כללי מיקום שמירה: נתיב שביקשתם, מיקום ברירת המחדל, או תיקיית הזמני לבדיקה. בריבוי צגים הוא שומר קובץ לכל צג ומדפיס את כל הנתיבים. כך הצילומים מסודרים, ותמיד יודעים היכן כל קובץ נשמר.
ארבע היכולות הופכות את קלוד ללוכד מסך אמין בכל סביבה. בעבודות שלי, צילום מסך מהיר ומדויק עזר לתעד תוצאות ולדבג בעיות ויזואליות בלי כלים נוספים.
למי הסקיל הזה מתאים?
מפתחים שבודקים ממשק: זה הקהל המובהק. צילום מסך של אפליקציית שולחן עבודה או חלון מאפשר לבדוק ויזואלית מה קורה. הסקיל לוכד בדיוק את מה שצריך, בכל מערכת הפעלה, בפקודה אחת.
מי שמשווה עיצוב למימוש: כדי לבדוק שהמימוש תואם לעיצוב, צריך ללכוד את שניהם. הסקיל מצלם את האפליקציה הרצה, כך שאפשר להשוות מול הרפרנס העיצובי ולאתר פערים.
מי שמדבג בעיות ויזואליות: לפעמים תקלה נראית רק על המסך. בשילוב עם סקיל prototype, אפשר ללכוד את מצב הפרוטוטייפ ולחקור ויזואלית מה השתבש.
בוני אוטומציות: תהליך אוטומטי לעיתים צריך לתעד מצב מסך. גם בעבודות אוטומציה שלי, לכידת מסך אוטומטית משמשת לתיעוד שלבים או לאימות שמסך מסוים אכן מוצג.
כותבי תיעוד והדרכות: מדריך טוב דורש צילומי מסך. הסקיל מאפשר ללכוד מסכים, חלונות או אזורים מדויקים, כך שאפשר לאסוף את כל הצילומים להדרכה בצורה מהירה ומסודרת.
מי שפחות יתאים: ללכידת דפדפן או קובץ עיצוב, כלים ייעודיים כמו אוטומציית דפדפן יתנו תוצאה טובה יותר. הסקיל מבריק דווקא בלכידה ברמת שולחן העבודה, כשאין כלי משולב מתאים יותר.
איך screenshot עזר לי בפרויקטים אמיתיים
לכידה שעבדה בכל מערכת
עבדתי על כמה מכונות עם מערכות הפעלה שונות. במקום לזכור את הכלי של כל מערכת, הסקיל בחר אוטומטית את הכלי הזמין וצילם. אותה פקודה עבדה בכל מקום, ולא נתקעתי על הבדלי תחביר בין macOS ללינוקס.
השוואת עיצוב למימוש
רציתי לבדוק שהמימוש תואם לעיצוב. צילמתי את האפליקציה הרצה עם הסקיל, והשוויתי מול הרפרנס. הפערים התגלו מיד במבט אחד. הצילום המדויק חסך לי ניחושים, וידעתי בדיוק מה לתקן כדי שהמימוש יתאים.
תיעוד תקלה ויזואלית
נתקלתי בתקלה שנראתה רק על המסך. צילמתי אותה לתיקיית הזמני וחקרתי את הצילום. במקום לתאר את הבעיה במילים, היה לי תיעוד ויזואלי מדויק שעזר להבין מה השתבש ולשתף אותו בקלות.
לכידת אזור מדויק
הייתי צריך רק חלק קטן מהמסך. במקום לצלם הכל ולחתוך, נתתי לסקיל קואורדינטות של אזור פיקסלים והוא לכד בדיוק אותו. קיבלתי צילום נקי של החלק שרציתי, מוכן לשימוש בלי עריכה נוספת.
ארבעת המקרים מראים שלכידת מסך מערכתית אמינה חוסכת זמן. כשאותה פקודה עובדת בכל מערכת הפעלה, מטפלת בהרשאות ושומרת מסודר, צילום מסך הופך לכלי עבודה מהיר לתיעוד, השוואה ודיבוג.
סיכום
סקיל screenshot הוא כלי רשמי שימושי לכל מי שצריך ללכוד מסך מתוך תהליך אוטומטי. הוא מצלם מסך מלא, חלון או אזור, עובד חוצה-פלטפורמות, בוחר אוטומטית את הכלי הזמין, מטפל בהרשאות, ושומר מסודר עם תמיכה בריבוי צגים.
אם אתם מתחילים, בפעם הבאה שתצטרכו צילום מסך מתוך זרימה, בקשו מקלוד ללכוד אותו עם הסקיל. תראו כמה פשוט זה הופך בכל מערכת הפעלה. משם, לכידת מסך נכנסת לזרימת העבודה.
בפוסטים הבאים אמשיך לסקור את הסקילים החזקים ביותר לפיתוח ולאוטומציה. האתר של דביר נעמן מרכז את כל הכלים, השיטות והליווי שאני מציע לעסקים שרוצים נוכחות דיגיטלית מנצחת עם בינה מלאכותית.
שיתוף הסקיל
שאלות ותשובות
מה זה בעצם הסקיל screenshot?
זה סקיל רשמי של OpenAI שמצלם מסך ברמת מערכת ההפעלה: מסך מלא, אפליקציה או חלון מסוים, או אזור פיקסלים. הוא עובד חוצה-פלטפורמות עם סקריפטים ל-macOS, ל-Linux ול-Windows, בוחר אוטומטית את הכלי הזמין, מטפל בהרשאות, ושומר את הצילום במיקום מסודר.
באילו מערכות הפעלה הסקיל עובד?
בשלוש המרכזיות: macOS, Linux ו-Windows. לכל אחת יש סקריפט עזר מתאים, והסקיל בוחר אוטומטית את הכלי הזמין, למשל scrot, gnome-screenshot או ImageMagick בלינוקס. כך אותה בקשת צילום עובדת בכל סביבה, בלי שתצטרכו להכיר את הכלי או התחביר של כל מערכת.
איך מתקינים את הסקיל בקלוד קוד?
בפקודה אחת דרך מנהל החבילות הרשמי של הסקילים, כפי שמופיע בקופסת ההתקנה למעלה. זהו סקיל רשמי של OpenAI הכולל סקריפטי צילום מסך. אחרי ההתקנה בקשו צילום מסך, מלא, חלון או אזור, והסקיל יריץ את הסקריפט המתאים למערכת ההפעלה שלכם.
איפה נשמר הצילום?
הסקיל מכבד כללי מיקום ברורים: אם נתתם נתיב, הוא שומר שם. אם ביקשתם צילום בלי נתיב, הוא שומר במיקום ברירת המחדל של המערכת. אם הצילום נועד לבדיקה פנימית, הוא נשמר בתיקיית הזמני. בכל מקרה הסקיל מדפיס את הנתיב שבו הקובץ נשמר, כך שתמיד יודעים היכן הוא.
האם הסקיל יכול לצלם רק חלק מהמסך?
כן. אפשר ללכוד אזור פיקסלים מדויק לפי קואורדינטות של מיקום ורוחב וגובה, חלון מסוים, או את החלון הפעיל בלבד. כך מקבלים בדיוק את החלק שרוצים בלי לצלם את כל המסך ולחתוך אחר כך. זה שימושי כשצריך רק רכיב או פינה ספציפית של הממשק.
מה לגבי הרשאות צילום מסך?
צילום מסך דורש הרשאה, במיוחד ב-macOS שדורש הרשאת הקלטת מסך. הסקיל מריץ בדיקת הרשאות מקדימה במקום אחד, מסביר למה היא נחוצה, ומבקש אותה פעם אחת כדי להפחית בקשות חוזרות. אם לכידה נחסמת בסביבה מבודדת, אפשר להריץ מחדש עם הרשאות מורחבות.
האם הסקיל תומך בכמה מסכים?
כן. ב-macOS, צילום מסך מלא שומר קובץ נפרד לכל צג כשמחוברים כמה מסכים. ב-Linux וב-Windows הלכידה מכסה את שולחן העבודה הווירטואלי בתמונה אחת, ואפשר לבודד צג בעזרת לכידת אזור. כשמתאימים כמה חלונות או צגים, הסקיל מדפיס נתיב לכל קובץ.
מתי עדיף כלי אחר על פני הסקיל?
כשהמטרה היא לכידת דפדפן או קובץ עיצוב, כלים ייעודיים כמו אוטומציית דפדפן או סקיל Figma יתנו תוצאה מדויקת יותר. הסקיל הזה הוא ברירת המחדל ללכידה ברמת שולחן העבודה, לאפליקציות בלי כלי משולב, או כשלכידה ברמת המערכת היא בדיוק מה שצריך.