Screen Capture

macOS 스크린샷, 웹캠, 화면 녹화 — 전체 화면, 영역, 윈도우, 클립보드, 다중 디스플레이, 비디오, 웹캠 캡처를 네이티브 macOS 도구로 수행합니다.

Default Active Utility

내장 스킬: screen-capture는 모든 CLI-JAW 세션에서 기본적으로 활성화되어 있습니다. 별도 설치가 필요 없습니다. 스크린샷과 비디오에는 macOS 네이티브 screencapture를 사용하며, 웹캠 캡처에는 선택적으로 imagesnap을 사용합니다. 브라우저 전용 스크린샷은 CDP를 통해 캡처하는 cli-jaw browser screenshot을 사용하는 것이 좋습니다.

빠른 참조

스킬 이름screen-capture
카테고리Utility
기본 활성화예 — 내장되어 있으며 항상 사용 가능
SKILL.md 경로~/.cli-jaw/skills/screen-capture/SKILL.md
주요 도구screencapture (macOS 내장)
웹캠 도구imagesnap (선택 사항, Homebrew를 통해 설치)
플랫폼macOS 전용
출력 형식PNG (기본값), JPEG, PDF, TIFF, MOV (비디오)
필요 권한시스템 설정 > 개인정보 보호 > 화면 기록
관련 스킬vision-click, browser, desktop-control

빠른 시작

바로 시작할 수 있는 세 가지 명령어입니다:

# Full screen capture (silent, no shutter sound)
screencapture -x ~/screenshot.png

# Interactive region selection
screencapture -i ~/selection.png

# Capture directly to clipboard
screencapture -c

명령어

전체 화면

전체 디스플레이를 캡처합니다. 셔터 소리를 끄려면 -x 플래그를 사용하고, 카운트다운 지연을 설정하려면 -T를 사용합니다.

# Silent full screen
screencapture -x ~/screenshot.png

# Full screen with shutter sound
screencapture ~/screenshot.png

# 3-second delay before capture
screencapture -T 3 ~/screenshot.png

영역 및 윈도우

대화형으로 특정 영역을 선택하거나 정확한 좌표로 지정합니다.

# Interactive: drag to select a region
screencapture -i ~/region.png

# Interactive: click to select a window
screencapture -iW ~/window.png

# Specific coordinates (x, y, width, height)
screencapture -R 0,0,1280,720 ~/region.png

특정 애플리케이션 윈도우

AppleScript를 통해 윈도우 ID를 확인하여 특정 애플리케이션 윈도우를 캡처합니다. 사용자 상호작용 없이 특정 앱을 캡처해야 하는 자동화 파이프라인에 유용합니다.

# Capture Google Chrome window
screencapture -l$(osascript -e 'tell app "Google Chrome" to id of window 1') ~/chrome.png

# Capture Safari window
screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') ~/safari.png

# Capture the frontmost window of whatever app is active
screencapture -l$(osascript -e 'tell app "System Events" to id of first window of (first process whose frontmost is true)') ~/front.png
윈도우 ID 확인: -l 플래그는 CGWindowID를 받습니다. AppleScript 표현식 tell app "AppName" to id of window 1이 올바른 ID를 반환합니다. 앱에 여러 윈도우가 있는 경우 window 1window 2 등으로 변경하면 됩니다.

클립보드

파일 대신 시스템 클립보드로 캡처합니다. 채팅이나 다른 앱에 빠르게 붙여넣기할 때 유용합니다.

# Full screen to clipboard
screencapture -c

# Region select to clipboard
screencapture -ic

다중 디스플레이

디스플레이 번호를 지정하거나 모든 디스플레이를 한 번에 캡처하여 멀티 모니터 환경을 처리합니다.

# One file per display (auto-creates screen1.png, screen2.png, ...)
screencapture ~/screen1.png ~/screen2.png

# Main display only
screencapture -D 1 ~/main.png

# Secondary display
screencapture -D 2 ~/secondary.png

비디오 녹화

화면을 MOV 비디오로 녹화합니다. 시간 제한 녹화에는 -V와 함께 초 단위 시간을 지정하고, 수동 중지 녹화에는 -v를 사용합니다.

# Record screen video (stop with Ctrl+C)
screencapture -v ~/recording.mov

# Record exactly 10 seconds
screencapture -V 10 ~/recording.mov

웹캠 캡처

웹캠 캡처에는 선택적 Homebrew 의존성인 imagesnap이 필요합니다. FaceTime 카메라 또는 연결된 USB 카메라에서 정지 이미지를 캡처합니다.

# Install imagesnap
brew install imagesnap

# Take a photo from the default camera
imagesnap ~/camera.png

# 2-second warmup for better image quality (recommended)
imagesnap -w 2 ~/camera.png

# Use a specific camera by name
imagesnap -d "FaceTime HD Camera" ~/camera.png

# List all available cameras
imagesnap -l
워밍업 팁: 웹캠은 노출과 화이트 밸런스를 조정하기 위해 짧은 워밍업 시간이 필요합니다. 프로덕션 품질의 캡처를 위해 항상 -w 2(또는 그 이상)를 사용하세요. 워밍업 없이는 첫 프레임이 어둡거나 색상이 왜곡되는 경우가 많습니다.

출력 형식

이미지 형식을 지정하려면 -t 플래그를 사용합니다. 기본값은 PNG입니다.

# PNG (default, lossless)
screencapture -t png ~/screenshot.png

# JPEG (smaller file size, lossy)
screencapture -t jpg ~/screenshot.jpg

# PDF (vector-friendly, useful for documents)
screencapture -t pdf ~/screenshot.pdf

# TIFF (high quality, large file size)
screencapture -t tiff ~/screenshot.tiff

플래그 참조

이 스킬에서 사용하는 모든 screencapture 플래그의 전체 참조입니다.

플래그설명예시
-x무음 모드 (셔터 소리 끔)screencapture -x out.png
-i대화형 선택 모드 (영역 드래그 또는 Space 키로 윈도우 선택)screencapture -i out.png
-c파일 대신 클립보드로 캡처 복사screencapture -c
-R x,y,w,h좌표로 특정 사각형 영역 캡처screencapture -R 0,0,1280,720 out.png
-T seconds캡처 전 N초 지연screencapture -T 3 out.png
-t format출력 형식: png, jpg, pdf, 또는 tiffscreencapture -t jpg out.jpg
-l windowIDCGWindowID로 특정 윈도우 캡처screencapture -l12345 out.png
-D displayNum특정 디스플레이 캡처 (1 = 메인)screencapture -D 2 out.png
-v화면 비디오 녹화 (MOV)screencapture -v out.mov
-V seconds정확히 N초 동안 비디오 녹화screencapture -V 10 out.mov
-W윈도우 선택 모드로 시작 (-i와 함께 사용)screencapture -iW out.png

주요 워크플로우

특정 앱 상태 캡처

AppleScript로 애플리케이션을 포그라운드로 가져온 후, 렌더링을 기다린 다음 캡처합니다.

# Activate Finder, wait, then capture
osascript -e 'tell app "Finder" to activate'
sleep 0.5
screencapture -x ~/finder.png

캡처 및 분석

스크린샷을 찍고 즉시 에이전트의 비전 모델에 전달하여 분석합니다. 이것은 vision-clickdesktop-control에서 사용하는 패턴입니다.

# In a CLI-JAW session, just say:
"화면 캡처해서 뭐가 보이는지 설명해줘"

# The agent runs:
screencapture -x /tmp/screen.png
# Then reads the image and describes its contents

타이머 캡처로 UI 상태 기록

캡처가 실행되기 전에 특정 UI 상태(예: 드롭다운 열기, 툴팁 위에 마우스 올리기)를 설정할 시간을 확보하기 위해 지연 플래그를 사용합니다.

# 5-second delay: enough time to open a menu
screencapture -T 5 -x ~/menu-state.png

다중 디스플레이 문서화

작업 환경 문서화나 버그 리포트를 위해 모든 모니터를 한 번에 캡처합니다.

# Captures one PNG per connected display
screencapture ~/display-main.png ~/display-secondary.png

의존성

핵심 screencapture 명령어는 macOS에 내장되어 있어 별도 설치가 필요 없습니다. 웹캠 캡처에는 선택적 Homebrew 패키지 하나가 필요합니다.

screencapture built-in (macOS)
전체 화면, 영역, 윈도우, 클립보드, 다중 디스플레이, 비디오 캡처. 설치 불필요.
imagesnap brew install imagesnap
선택 사항. FaceTime 또는 USB 카메라에서 웹캠 정지 이미지 캡처. 카메라 관련 작업에만 필요.

설치 명령어

# Webcam capture (optional)
brew install imagesnap

# Verify installation
imagesnap -l    # Lists available cameras
which screencapture    # Should print /usr/sbin/screencapture

규칙 및 동작

screen-capture 스킬이 활성화되면 에이전트는 다음 규칙을 따릅니다:

규칙상세 내용
기본 캡처 방법도구별 캡처(Figma, Playwright, CDP)를 사용할 수 없을 때 screencapture를 기본으로 사용합니다.
브라우저 스크린샷웹 페이지에는 cli-jaw browser screenshot을 우선 사용합니다 (Chrome DevTools Protocol을 통해 픽셀 단위로 정확한 캡처).
무음 모드프로그래밍 방식의 캡처에서는 셔터 소리를 끄기 위해 항상 -x 플래그를 사용합니다.
웹캠 워밍업더 나은 이미지 품질을 위해 imagesnap에서 항상 -w 2 이상을 사용합니다.
개인정보 보호 권한화면 기록 권한이 필요합니다 (시스템 설정 > 개인정보 보호 > 화면 기록). 권한이 없으면 에이전트가 경고합니다.
임시 파일 정리분석용으로 촬영된 스크린샷(명시적으로 저장하지 않은 것)은 사용 후 정리해야 합니다.

"~해줘" 사용 예시

자연어로 화면 캡처 작업을 요청하는 실제 사용 예시입니다. 한국어와 영어 모두 사용할 수 있습니다.

"지금 화면 스크린샷 찍어줘"
screencapture -x로 전체 화면을 무음으로 캡처하고 저장합니다. 에이전트가 결과 이미지를 읽어 성공적으로 캡처되었는지 확인합니다. 가장 간단하고 흔한 사용법입니다.
"크롬 창 캡처해서 로그인 페이지 제대로 나오는지 확인해줘"
AppleScript를 통해 Chrome의 윈도우 ID를 확인하고, screencapture -l로 해당 윈도우를 캡처한 다음, 비전 모델로 이미지를 분석하여 로그인 페이지가 올바르게 렌더링되는지 검증합니다. 캡처 + 시각적 QA를 결합합니다.
"웹캠 사진 찍어줘 — 얼굴 인식용"
imagesnap -w 2를 사용하여 적절한 워밍업 시간으로 웹캠 사진을 캡처합니다. 결과 이미지는 얼굴 감지나 신원 확인 워크플로우를 위해 다른 스킬(예: 비전 분석)에 전달할 수 있습니다.
"화면 녹화 10초만 해줘 — 버그 재현 과정 기록용"
screencapture -V 10 ~/recording.mov로 10초 화면 비디오를 녹화합니다. 버그 재현 과정 문서화, UI 애니메이션 리뷰, 빠른 데모 클립 생성에 유용합니다.
"두번째 모니터 스크린샷 찍어서 클립보드에 복사해줘"
screencapture -D 2 -c로 보조 디스플레이를 대상으로 하여 캡처를 클립보드로 직접 전송합니다. 채팅, 문서, 이미지 편집기에 바로 붙여넣기할 수 있습니다.

관련 스킬 비교

CLI-JAW에는 시각적 캡처와 관련된 여러 스킬이 있습니다. 작업에 맞는 올바른 도구를 선택하세요:

screen-capturebrowserdesktop-controlvision-click
주요 기능네이티브 macOS 스크린샷 및 녹화CDP 기반 브라우저 자동화데스크톱 + 브라우저 통합 자동화비전 기반 클릭 대상 지정
적합한 용도빠른 캡처, 다중 디스플레이, 비디오, 웹캠웹 페이지 스크린샷, DOM 상호작용크로스 앱 워크플로우, 하이브리드 대상시각적 인식으로 UI 요소 클릭
캡처 방법screencapture CLIChrome DevTools ProtocolCDP + Computer Use스크린샷 + 좌표 매핑
브라우저 필요 여부아니오예 (cli-jaw server)대상에 따라 다름아니오
우선 사용 시기브라우저 불필요, 시스템 수준 캡처, 비디오, 웹캠웹 페이지 (픽셀 단위 정확도)복잡한 다중 앱 자동화화면 상의 요소 클릭
경험 법칙: 브라우저 외부의 모든 것이나 비디오/웹캠이 필요할 때는 screen-capture를 사용하세요. 웹 페이지에는 browser screenshot을 사용하세요. 데스크톱 앱을 캡처하면서 동시에 상호작용해야 할 때는 desktop-control을 사용하세요.

문제 해결

화면 기록 권한 거부

screencapture가 빈 화면이나 완전히 검은 이미지를 생성하는 경우, 터미널 앱(Terminal.app, iTerm2, 또는 CLI-JAW Electron 앱)에 화면 기록 권한이 없을 가능성이 높습니다.

# Fix: Grant permission in System Settings
# System Settings > Privacy & Security > Screen Recording
# Enable your terminal application
# Restart the terminal after granting permission

imagesnap을 찾을 수 없음

imagesnap이 설치되어 있지 않으면 웹캠 캡처 명령이 실패합니다. 이것은 선택적 의존성입니다.

# Install via Homebrew
brew install imagesnap

# Verify
imagesnap -l
# Expected: lists available cameras (e.g., "FaceTime HD Camera")

웹캠 이미지가 어둡거나 흐릿함

카메라 센서는 조정 시간이 필요합니다. 항상 워밍업 지연을 포함하세요:

# Bad: no warmup, likely dark/blurry
imagesnap ~/photo.png

# Good: 2-second warmup for proper exposure
imagesnap -w 2 ~/photo.png

# Better: 3-second warmup for low-light conditions
imagesnap -w 3 ~/photo.png

다중 디스플레이 캡처 시 파일이 하나만 저장됨

여러 디스플레이를 캡처할 때는 디스플레이당 하나의 출력 파일명을 제공해야 합니다:

# Wrong: only captures the main display
screencapture ~/screenshot.png

# Right: one filename per connected display
screencapture ~/display1.png ~/display2.png

비디오 녹화가 멈추지 않음

screencapture -v(시간 제한 없음)를 사용하면 중단할 때까지 녹화가 계속됩니다. 시간 제한 녹화에는 -V seconds를 사용하고, 수동 녹화를 중지하려면 Ctrl+C를 누르세요.

기능 요약

기능도구비고
전체 화면 캡처screencapture-x로 무음, -T로 지연
영역 선택screencapture -i대화형 드래그 또는 -R로 좌표 지정
윈도우 캡처screencapture -lAppleScript를 통한 CGWindowID로 지정
클립보드 캡처screencapture -c-i와 결합하여 영역을 클립보드로
다중 디스플레이screencapture -D특정 디스플레이 지정 또는 전체 캡처
비디오 녹화screencapture -v/-VMOV 형식, 시간 제한 또는 수동 중지
웹캠 사진imagesnap선택적 의존성, 워밍업에 -w 2 사용
형식 제어screencapture -tPNG (기본값), JPEG, PDF, TIFF