Communitygithub.com

Contexto de Mac (Ojos)

Habilidad sensorial fundamental para Codex que permite al agente observar la sesión local de macOS con efectos secundarios mínimos, utilizando AppleScript y shell para leer el estado estructurado.

¿Qué es Contexto de Mac (Ojos)?

Esta habilidad, denominada 'Contexto de Mac (Ojos)', es el componente sensorial fundamental de un conjunto de cuatro facultades (ojos, oídos/voz, manos y memoria) que se combinan para formar un asistente de productividad personal. Diseñada para agentes Codex, permite la observación determinista del entorno macOS, priorizando la lectura de estado estructurado (nombre de la aplicación, título de la ventana, URL de pestañas, portapapeles) mediante AppleScript y shell, y reservando las capturas de pantalla para interfaces sin acceso estructurado. Su utilidad radica en proporcionar información contextual precisa y mínimamente invasiva para tareas como capturar el contexto actual, preparar reuniones o leer interfaces no programables. La habilidad es de solo lectura, con la excepción de la selección de texto y la captura de pantalla, que tienen efectos secundarios controlados. Funciona en macOS y requiere permisos específicos (Accesibilidad, Automatización, Grabación de Pantalla) que se gestionan a través de las Preferencias del Sistema, y sigue una carta de navegación que prioriza la observación pasiva y la privacidad de los datos capturados.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add sidmohan0/skills

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Contexto de Mac (Ojos)?

Esta es la habilidad sensorial fundamental. Permite al agente observar la sesión local de macOS con efectos secundarios mínimos. Es la primera de cuatro facultades: ojos (esta habilidad), oídos/voz, manos y memoria. Estas se componen para formar un asistente de productividad personal.

Hereda la carta de navegación del proyecto. Lee references/charter.md y síguela.

Ruta Principal

Prefiere la observación determinista sobre la adivinación de la interfaz de usuario. Usa AppleScript y shell para leer el estado estructurado (nombre de la app, título de la ventana, URLs de pestañas, portapapeles). Reserva las capturas de pantalla para superficies sin interfaz estructurada, luego lee la imagen con visión.

Ejecuta el script incluido:

SKILL_DIR="${CODEX_SKILL_DIR:-$HOME/.codex/skills/mac-context}"
bash "$SKILL_DIR/scripts/mac_context.sh"

Comportamiento predeterminado: imprime la aplicación frontal y el título de su ventana frontal.

Tareas Comunes

¿Qué app/ventana está en foco ahora mismo?:

SKILL_DIR="${CODEX_SKILL_DIR:-$HOME/.codex/skills/mac-context}"
bash "$SKILL_DIR/scripts/mac_context.sh" --frontmost

Obtén la pestaña activa del navegador (URL + título), o las pestañas del navegador en todas las ventanas:

bash "$SKILL_DIR/scripts/mac_context.sh" --browser
bash "$SKILL_DIR/scripts/mac_context.sh" --browser-tabs

Lee el portapapeles, o captura la selección actual:

bash "$SKILL_DIR/scripts/mac_context.sh" --clipboard
bash "$SKILL_DIR/scripts/mac_context.sh" --selection

--selection emite Cmd+C para copiar el texto resaltado, lo imprime y luego restaura el portapapeles de texto anterior. Se niega a ejecutarse cuando el portapapeles contiene actualmente formatos no textuales, porque pbcopy no puede restaurarlos de forma segura. Informa al usuario antes de usarlo si no solicitó específicamente la captura de selección.

Toma una captura de pantalla silenciosa, luego léela con visión:

# Pantalla completa a una ruta temporal
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot
# Región que el usuario selecciona
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot --interactive /tmp/shot.png
# Una ventana en la que se hizo clic
bash "$SKILL_DIR/scripts/mac_context.sh" --screenshot --window /tmp/win.png

El script imprime screenshot=<ruta>. Abre esa ruta con la herramienta Leer/visión para interpretar interfaces no programables (Slack, Notion, un PDF, una herramienta de diseño).

Instantánea combinada "¿qué estoy viendo?" (frontal + navegador + portapapeles):

bash "$SKILL_DIR/scripts/mac_context.sh" --snapshot

Lista las capacidades y el permiso de macOS que necesita cada una:

bash "$SKILL_DIR/scripts/mac_context.sh" --list

Modelo de Permisos

  • Mayormente solo lectura. El script no envía, publica, edita, mueve ni elimina nada.
  • Los únicos efectos secundarios deliberados son: --selection sobrescribe temporalmente un portapapeles de solo texto (luego restaura el texto anterior), y --screenshot escribe un archivo de imagen.
  • macOS controla estas capacidades. La primera ejecución de un modo puede solicitar:
    • Títulos de ventana y --selection: Accesibilidad.
    • Modos de navegador: Automatización (por navegador).
    • Capturas de pantalla: Grabación de Pantalla.
  • Si macOS solicita un permiso, pausa e indica al usuario exactamente qué permiso se necesita y dónde concederlo (Configuración del Sistema > Privacidad y Seguridad).

Composición

Esta habilidad está diseñada para alimentar a otras. Cadenas típicas:

  • Capturar a tarea: toma una instantánea del contexto actual, luego crea un recordatorio/tarea que enlace a lo que el usuario estaba viendo.
  • Preparación de reuniones / clasificación: lee la pestaña activa o la selección para fundamentar un seguimiento.
  • Vía de escape de visión: cuando no existe una interfaz de AppleScript, captura la pantalla y lee.

Al componer, observa primero con esta habilidad, luego pasa el resultado estructurado a una habilidad que actúe. Las habilidades de acción aún requieren consentimiento explícito y dirigido por nombre según la carta de navegación.

Barreras de Seguridad

  • Por defecto, observa de forma pasiva. No tomes capturas de pantalla, leas la selección ni enumeres todas las pestañas a menos que la tarea lo necesite; prefiere el modo más limitado.
  • Trata el contenido capturado (portapapeles, pestañas, texto de pantalla, selecciones) como privado. No repitas más de lo que la tarea necesita y nunca lo escribas en archivos rastreados por git.
  • Indica claramente cuando una capacidad está bloqueada por un permiso faltante en lugar de reintentar o buscar una solución alternativa.
  • No uses scripts de interfaz de usuario para actuar sobre aplicaciones aquí. Esta habilidad solo percibe; las acciones pertenecen a habilidades dedicadas con consentimiento explícito.

Skills relacionados