Communitygithub.com

scrawl

Lee y analiza capturas de pantalla de Scrawl, donde alguien grabó su pantalla mientras hablaba, hacía clics y dibujaba marcas rojas. Úsalo cada vez que un mensaje contenga una captura de Scrawl, el usuario mencione su scrawl o necesites usar el CLI de Scrawl.

¿Qué es scrawl?

Este skill permite a un agente de IA leer e interpretar capturas de pantalla de la aplicación Scrawl, que registra la pantalla, la voz, los clics y las anotaciones en tinta roja del usuario. El usuario envía una captura como informe de un problema en lugar de describirlo, por lo que el agente debe analizar la captura a fondo antes de responder. El skill explica cómo interpretar el resumen textual de la captura (keyframes, marcas, eventos), cómo leer el bundle de Scrawl (contact-sheet.png, frames/ y scrawl.json), y cómo usar el comando `scrawl zoom` para acercarse a momentos específicos o marcas concretas. Soporta varios comandos CLI como `inspect`, `frames`, `send` y `export`, que permiten inspeccionar, extraer fotogramas, enviar la captura a una sesión o exportarla como video. Está diseñado para su uso exclusivo en macOS con Scrawl instalado, y el agente debe recurrir a la lectura directa de los archivos si no dispone del CLI.

Compatible con~Claude Code~Codex CLI✓Cursor✓OpenCode
npx skills add https://github.com/huaxel/dotfiles/tree/main/skills/scrawl

Preguntar en tu IA favorita

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

Documentación

Capturas de Scrawl

Scrawl graba la pantalla, la voz, los clics y la tinta roja de alguien, y luego empaqueta el resultado en una carpeta .scrawl (un bundle). La persona la envía para mostrarte un problema en lugar de describirlo, así que la captura es el informe de error. Léela atentamente antes de responder y no le pidas que te explique de nuevo lo que la captura ya muestra. Si algo no está claro, primero mira más de cerca con scrawl zoom.

Cómo se ve un pegado

[scrawl 0:33 · OpenCode “Settings” · /Users/me/Library/Application Support/scrawl/captures/scrawl-1792432139176.scrawl]
Abre contact-sheet.png y frames/ en esa carpeta antes de cambiar nada: las marcas y las palabras solo tienen sentido sobre las imágenes, que pueden mostrar más de lo que dice el texto.
Recortado a: la actividad en OpenCode (fotogramas completos en frames-full/)
- #1 (0:04) [hizo clic en “New tab”] “Command T crea una nueva sesión, pero aquí debería crear una pestaña.”
- #2 (0:07) “No, no lo hace.”
- #3 (0:10) ⚑ “Dice que command shift B crea una nueva pestaña.”
- #4 (0:18) hizo clic (x 0.51, y 0.93)
  • La primera línea tiene la duración, la aplicación y ventana grabadas, y la ruta del bundle.
  • La siguiente línea te pide que abras las imágenes primero. Hazlo: el texto es solo lo que se dijo y se hizo, y un problema puede aparecer en un fotograma sin estar marcado ni mencionado.
  • Cada línea #N (M:SS) es un fotograma clave: lo que hicieron en ese momento entre corchetes, luego lo que dijeron mientras estaba en pantalla. Una línea sin cita tiene solo la acción.
  • ⚑ significa que marcaron el momento a propósito. ⟨Nombre⟩ significa que la aplicación informó de una nueva pantalla. Las líneas que empiezan con · son eventos o valores que la aplicación registró.
  • Líneas opcionales cerca del principio: For session: (a dónde envió Scrawl la captura), Screen: con contexto de la aplicación, Note:, y Cropped to:.
  • Las coordenadas son fracciones del área capturada, desde la esquina superior izquierda (x 0.51 está justo a la derecha del centro).

Cuando respondas, menciona los momentos de la misma manera, como en "#3 (0:10)", para que la persona pueda encontrarlos en la hoja de contacto.

Leer un bundle

  1. Mira contact-sheet.png en el bundle primero (a menudo ya está adjunto). Muestra cada fotograma clave en orden cronológico, de izquierda a derecha y de arriba abajo, cada uno con su número N en un pequeño chip blanco en una esquina superior (el #N en summary.md).
  2. Lee las líneas de transcripción junto a él. El reconocimiento de voz escucha mal los nombres y términos de código, así que confía en la pantalla cuando ambos no coincidan.
  3. Abre frames/frame-NN.png para cualquier fotograma clave que necesites a tamaño completo (frame-03.png es #3). Cuando el resumen dice Cropped to:, las pantallas sin recortar están en frames-full/.

Qué significan los dibujos:

  • Los trazos rojos, círculos, subrayados y flechas son las marcas de la persona, y señalan el problema. Las marcas dibujadas en la misma pantalla se muestran todas en un fotograma clave. Cuando hay varias, el texto las numera en orden de dibujo (✎① 0:06 …, ✎② 0:09 …); la imagen muestra solo la tinta, así que usa scrawl zoom --mark para ver qué tinta es cuál.
  • Una onda alrededor del cursor indica un clic o toque, y un rastro del dedo muestra un deslizamiento.
  • Un rastro rojo brillante que se estrecha es el puntero láser, usado para señalar sin dejar una marca.

Otros archivos: scrawl.json es el manifiesto completo (fotogramas clave, marks con forma y caja, events, transcript.words con tiempos, contexto de la aplicación context, y autocrop). recording.mp4 o recording.mov y audio.wav son los medios fuente. Un archivo .media-pending significa que el video aún se está copiando desde otro Mac.

El CLI de scrawl

scrawl es el binario de la propia aplicación Scrawl. Si command -v scrawl no encuentra nada, usa /Applications/Scrawl.app/Contents/MacOS/scrawl (o la misma ruta bajo ~/Applications), y dile a la persona que puede ponerlo en PATH con Instalar en Ajustes de Scrawl › Agentes. Solo se ejecuta en el Mac con Scrawl instalado. En cualquier otro lugar, lee contact-sheet.png, frames/ y scrawl.json directamente. Cada comando toma una ruta de bundle, y la mayoría usan por defecto latest, la captura más reciente. Pon la ruta entre comillas, porque normalmente contiene "Application Support".

Acercarse a un momento

Usa zoom cuando el problema es movimiento (una animación, un salto, un parpadeo) o ocurre entre fotogramas clave, o cuando no puedas distinguir a qué apunta una marca:

scrawl zoom <bundle> --at 0:21                 # un tiempo, M:SS o segundos
scrawl zoom <bundle> --at "el ancho cambia"      # o una frase que dijeron
scrawl zoom <bundle> --at 0:21 --span 1 --frames 16 --full
scrawl zoom <bundle> --mark 2                  # la marca mostrada como ✎② en el texto
scrawl zoom <bundle> --mark 1 --frame 4        # ✎① del fotograma clave #4, cuando varios tienen un ✎①

Imprime la ruta de una hoja PNG de fotogramas alrededor de ese momento, la hora de cada celda y lo que se dijo. Abre el PNG y míralo antes de actuar según la retroalimentación. --span son los segundos cubiertos (por defecto 2, un cuarto de ellos antes del momento), --frames el número de celdas (por defecto 12), y --full muestra la pantalla completa en lugar del recorte. Las celdas se numeran desde #1 dentro de la hoja, así que esos números no son números de fotograma clave.

--mark toma el número de una marca del texto o su id (m2) y centra la hoja en el momento en que se dibujó, solo con la tinta de esa marca, dibujada completa desde el momento en que comienza. scrawl inspect <bundle> --marks lista cada marca (#2 ✎② 0:09 marcado (2 trazos) · m2: fotograma clave, número, tiempo, forma, sobre qué se dibujó, id), y --marks --json da lo mismo en JSON.

Otros comandos

scrawl inspect <bundle>               # summary.md, el texto anterior
scrawl inspect <bundle> --json        # scrawl.json
scrawl inspect <bundle> --marks       # las marcas, numeradas como en el texto [--json]
scrawl frames <bundle> --from 0:04 --to 0:06 [--fps 4]   # PNGs simples de un rango; imprime sus rutas
scrawl send <bundle> --session ses_…  # encola la captura en una sesión de OpenCode
scrawl send <bundle> --clipboard      # copia el texto del resumen al portapapeles
scrawl export <bundle> [--out demo.mp4] [--zoom] [--crop auto|full|x,y,w,h] [--size 1920]
  • zoom y frames escriben dentro de <bundle>/zoom/. Deja el resto del bundle como está, porque Scrawl gestiona esos archivos y los limpia.
  • send sin --session va a la sesión a la que fue dirigida la captura (la línea For session:), y de lo contrario a la sesión más recientemente activa. Con un destino registrado, rechaza un --session diferente a menos que pases --reroute, así que comprueba con la persona antes de redirigir.
  • export escribe un .mp4 con la tinta y los clics grabados y el audio sincronizado (por defecto ~/Movies/Scrawl/<bundle>.mp4). --zoom acerca suavemente hacia la actividad. --no-ink, --no-clicks, --hevc y --fps también están disponibles.
  • El video y el audio van a la Papelera 7 días después de una captura a menos que la persona cambie eso en Ajustes. Después de eso, zoom, frames y export no pueden leer el video, pero frames/, la hoja de contacto y scrawl.json permanecen.
  • scrawl <comando> --help lista todas las banderas, y scrawl skill imprime esta guía tal como la conoce la versión instalada.

Skills relacionados