Mac Context (Eyes)은(는) 무엇을 하나요?
이것은 기본 감지 스킬입니다. 에이전트가 최소한의 부작용으로 로컬 macOS 세션을 관찰할 수 있게 합니다. 네 가지 기능 중 첫 번째입니다: 눈(이 스킬), 귀/목소리, 손, 기억. 이들은 개인 생산성 어시스턴트로 구성됩니다.
프로젝트 가드레일 헌장을 상속받습니다. references/charter.md를 읽고 따르세요.
핵심 경로
UI 추측보다 결정론적 관찰을 선호하세요. AppleScript와 셸을 사용하여 구조화된 상태(앱 이름, 창 제목, 탭 URL, 클립보드)를 읽습니다. 구조화된 인터페이스가 없는 화면에 대해서만 스크린샷을 예약하고, 비전으로 이미지를 읽습니다.
번들 스크립트 실행:
SKILL_DIR="${CODEX_SKILL_DIR:-$HOME/.codex/skills/mac-context}"
bash "$SKILL_DIR/scripts/mac_context.sh"
기본 동작: 최전방 앱과 그 앞쪽 창 제목을 출력합니다.
일반 작업
지금 어떤 앱/창이 포커스되어 있나요:
SKILL_DIR="${CODEX_SKILL_DIR:-$HOME/.codex/skills/mac-context}"
bash "$SKILL_DIR/scripts/mac_context.sh" --frontmost
활성 브라우저 탭(URL + 제목) 또는 브라우저 창 전체의 탭 가져오기:
bash "$SKILL_DIR/scripts/mac_context.sh" --browser
bash "$SKILL_DIR/scripts/mac_context.sh" --browser-tabs
클립보드 읽기 또는 현재 선택 영역 캡처:
bash "$SKILL_DIR/scripts/mac_context.sh" --clipboard
bash "$SKILL_DIR/scripts/mac_context.sh" --selection
--selection은 Cmd+C를 실행하여 강조 표시된 텍스트를 복사하고, 출력한 다음 이전 텍스트 클립보드를 복원합니다. 클립보드에 현재 텍스트가 아닌 형식이 있는 경우 실행을 거부합니다. pbcopy로 안전하게 복원할 수 없기 때문입니다. 사용자가 특별히 선택 영역 캡처를 요청하지 않은 경우 사용 전에 사용자에게 알리세요.
무음 스크린샷을 찍은 후 비전으로 읽기:
# 전체 화면을 임시 경로에 저장
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot
# 사용자가 선택한 영역
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot --interactive /tmp/shot.png
# 클릭한 창
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot --window /tmp/win.png
스크립트는 screenshot=<path>를 출력합니다. 해당 경로를 Read/vision 도구로 열어 스크립팅할 수 없는 UI(Slack, Notion, PDF, 디자인 도구)를 해석합니다.
통합 "지금 무엇을 보고 있는가" 스냅샷(최전방 + 브라우저 + 클립보드):
bash "$SKILL_DIR/scripts/mac_context.sh" --snapshot
기능 목록과 각각 필요한 macOS 권한:
bash "$SKILL_DIR/scripts/mac_context.sh" --list
권한 모델
- 읽기 위주입니다. 스크립트는 아무것도 보내거나, 게시하거나, 편집하거나, 이동하거나, 삭제하지 않습니다.
- 유일한 의도적 부작용은
--selection이 텍스트 전용 클립보드를 일시적으로 덮어쓰고(이전 텍스트를 복원함)--screenshot이 이미지 파일을 쓰는 것입니다. - macOS가 이러한 기능을 제어합니다. 모드의 첫 실행 시 macOS가 프롬프트를 표시할 수 있습니다:
- 창 제목 및
--selection: 손쉬운 사용. - 브라우저 모드: 자동화(브라우저별).
- 스크린샷: 화면 기록.
- 창 제목 및
- macOS가 프롬프트를 표시하면 일시 중지하고 사용자에게 어떤 권한이 필요한지 정확히 알리고 어디서 부여할지(시스템 설정 > 개인정보 보호 및 보안) 알려주세요.
구성
이 스킬은 다른 스킬에 데이터를 제공하기 위해 설계되었습니다. 일반적인 체인:
- 캡처-투-태스크: 현재 컨텍스트의 스냅샷을 찍고, 사용자가 보고 있던 것에 연결되는 Reminder/이슈를 생성합니다.
- 회의 준비/트리아지: 활성 탭이나 선택 영역을 읽어 후속 작업의 기반을 마련합니다.
- 비전 탈출구: AppleScript 인터페이스가 없을 때 스크린샷을 찍고 읽습니다.
구성 시 이 스킬로 먼저 관찰한 다음, 구조화된 결과를 실행 스킬에 전달하세요. 실행 스킬은 여전히 헌장에 따라 명시적이고 명명된 대상의 동의가 필요합니다.
가드레일
- 기본적으로 수동적 관찰을 유지하세요. 작업에 필요하지 않은 경우 스크린샷, 선택 영역 읽기, 모든 탭 열거를 하지 말고 가장 좁은 모드를 선호하세요.
- 캡처된 콘텐츠(클립보드, 탭, 화면 텍스트, 선택 영역)를 비공개로 취급하세요. 작업에 필요한 것보다 더 많이 출력하지 말고, git 추적 파일에 절대 기록하지 마세요.
- 기능이 누락된 권한으로 차단된 경우 재시도하거나 우회하지 않고 명확히 알리세요.
- 여기서 앱에 작용하기 위해 UI 스크립팅을 사용하지 마세요. 이 스킬은 감지만 합니다. 작업은 전용 동의 게이트 스킬에 속합니다.