Communitygithub.com

shotglass

Graba demos de aplicaciones y navegadores en macOS con ShotGlass. Útil para solicitudes como 'filmar una demo', 'grabar un tutorial' o 'mostrar cómo usar esta aplicación' con ShotGlass, y para editar o exportar un proyecto existente de ShotGlass.

¿Qué es shotglass?

Esta habilidad integra ShotGlass, una herramienta de grabación de pantalla en macOS, con agentes de IA a través del protocolo MCP (Model Context Protocol). Permite a los agentes filmar demos de aplicaciones y navegadores, coordinar acciones como clics o pulsaciones de teclas, y estilizar o renderizar videos finalizados. ShotGlass gestiona la grabación mediante un flujo de dos pasos: primero prepara la escena con una captura de pantalla e identifica elementos interactivos (refs y snapshotId), luego compone la secuencia completa de acciones (beats) que el agente desea grabar. El agente puede entregar demos editables directamente en el editor de ShotGlass, o solicitar renderizados automáticos con opciones como estilo natural o zooms. Diseñada para macOS, esta habilidad prioriza la estabilidad: evita repeticiones ciegas ante bloqueos de permisos o alertas del sistema, y reutiliza una única instancia de ShotGlass para todas las acciones planificadas. Es ideal para agentes que necesitan crear tutoriales visuales, documentación interactiva o demostraciones de flujo de trabajo sin intervención manual.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/jakemanger/shotglass-skills/tree/main/skills/shotglass

Preguntar en tu IA favorita

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

Documentación

¿Qué hace shotglass?

Filma a través de las herramientas MCP conectadas de ShotGlass. Usa los esquemas actuales del servidor instalado para nombres de herramientas y parámetros.

Comienza aquí

Para una nueva demo, usa dos llamadas:

  1. recording_prepare({app:"Notas", allowSystemDisplayPrompt:true}) — sustituye la aplicación solicitada. Lee la captura de pantalla, las referencias (refs) y el snapshotId devueltos.
  2. compose({snapshotId, beats}) — envía la secuencia completa de una sola vez. ShotGlass la filma, restaura las ventanas y abre el proyecto en su editor.

Construye los beats a partir del estado devuelto: {ref:"<ref devuelta>"}, {type:"text"}, {key:"cmd+s"} o {point:{x,y},action:"click"}. Reemplaza los marcadores de posición con los valores devueltos reales. Los puntos en la captura se calculan como screenshot.origin + coordenadas de la imagen. Usa navegación estable por teclado para los diálogos e incluye expectedFiles cuando la tarea demostrada guarde archivos.

Entrega lo solicitado

  • Filmar una demo: deja sin configurar las opciones de estilo y salida. Mantén el encuadre original y el cursor editable, luego abre el editor.
  • Filmar y renderizar: establece output:{mode:"video"} en la misma llamada compose. Informa el delivery.videoPath devuelto.
  • Aplicar estilo automático o zooms: establece naturalStyle:true solo cuando se solicite.
  • Editar una grabación existente: inspecciona el proyecto deseado con las herramientas del editor, luego aplica las ediciones solicitadas. Renderiza solo cuando se te pida.

Prefiere referencias (refs) para acciones en segundo plano. Las acciones de coordenadas pueden requerir entrada real. Establece allowRealInput:true solo con autorización previa del usuario; de lo contrario, deja que ShotGlass solicite aprobación. Reutiliza una única instancia de ShotGlass y envía las acciones planificadas en conjunto, en lugar de usar un bucle de acciones del anfitrión u otro grabador.

Si hay bloqueos

Si faltan herramientas, lee configuración. La aplicación y el servidor MCP deben ejecutarse en el Mac que se va a filmar.

Si un permiso, una alerta o una cancelación interrumpen la filmación, conserva el proyecto devuelto e informa el bloqueador específico. No reintentes ciegamente ni descartes una alerta que modifique datos del usuario. El flujo de dos llamadas aplica a una demo preparada y planificable, no es un requisito para fingir que una toma fallida se completó.

Skills relacionados