CommunityProgramación y desarrollogithub.com

bounce12340/josh-video-skills: Grabación de pantalla de páginas…

Graba la interacción con páginas web públicas (desplazamiento, hover, clics en enlaces, resaltados, tarjetas de capítulo) y genera un video MP4 vertical de 1080x1920, ideal para Reels y material de demostración de sitios web. Sin inicio de sesión, sin publicaciones.

¿Qué es josh-video-skills: Grabación de pantalla de páginas…?

Este skill permite grabar videos de la interacción con páginas web públicas (sin necesidad de inicio de sesión ni publicación de contenido) para usarlos como material de video vertical (1080x1920) para Reels, historias o demostraciones de sitios web. Está diseñado específicamente para agentes de IA como Claude Code, Cursor o Codex, y se basa en Playwright (Node.js) para controlar un navegador Chromium en modo efímero (solo en memoria), garantizando que no se acceda a perfiles de navegador guardados, cookies ni extensiones. El skill define reglas estrictas de seguridad: no se permiten acciones de login, formularios, POST/PUT/PATCH/DELETE, ni direcciones locales o de intranet. El flujo de trabajo se define mediante un archivo spec.json donde se especifica la URL, el viewport, los pasos de interacción (scroll, hover, click, highlight, chapter cards, etc.) y la salida del video. Incluye configuraciones para escalado (de 720x1280 a 1080x1920) y recorte vertical, y se integra con los procesos de producción de video existentes (stock-footage-reel, OpenMontage) para agregar créditos y cumplir con los requisitos de tamaño de archivo (menos de 45 MB para IG). La instalación incluye Playwright 1.64.0, la CLI @playwright/cli 0.1.22, y Chromium, sin dependencia de @playwright/mcp.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bounce12340/josh-video-skills/tree/HEAD/screen-record

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

screen-record: Grabación de pantalla de páginas web públicas (para Reels)

Josh 2026-10-11 Aprobado para instalación. El único propósito es grabar la interacción con páginas web públicas para usarlas como material de video para IG Reels. El flujo de publicación no cambia en absoluto (IG/Threads siguen usando el método del navegador box), esta herramienta no toca la publicación.

Reglas estrictas (a cumplir siempre)

  1. Usar siempre un navegador nuevo, temporal, solo en memoria (chromium.launch() + newContext(), sin userDataDir).
  2. Nunca apuntar al perfil de navegador ya iniciado en box; nunca usar --extension, attach, CDP/wsEndpoint para conectar al navegador box; nunca cargar cookies o storageState; no usar --persistent/--profile.
  3. No iniciar sesión en ningún sitio, no ingresar texto, no enviar formularios, no publicar, no comentar, no dar "me gusta".
  4. Grabar solo páginas públicas (http/https, no localhost/red interna). IG, Threads, FB solo se pueden ver en estado "no iniciado sesión"; si aparece un muro de inicio de sesión, cambiar de fuente, no intentar iniciar sesión.
  5. record.mjs tiene protecciones integradas: si el spec contiene campos como storageState/cookies/userDataDir/profile/cdp/extension/login/password/fill/type, se rechaza directamente; todas las solicitudes POST/PUT/PATCH/DELETE se bloquean (en el log aparecerá blocked POST ..., es normal); se rechaza hacer clic en botones de envío de formularios; las URLs que no sean http(s) o sean de red interna se rechazan.
  6. No modificar record.mjs para evadir las protecciones. Si realmente se necesita una pantalla después de iniciar sesión, detenerse y preguntar a Josh.

Instalado

  • Playwright (librería Node) 1.64.0: Instalado en la carpeta node_modules/ (Apache-2.0)
  • Playwright CLI @playwright/cli 0.1.22: Comando global playwright-cli (~/.local/bin, Apache-2.0). La sesión predeterminada es un perfil en memoria, se puede usar temporalmente para ver páginas o capturas de pantalla; no agregar --persistent, --profile, attach --extension.
  • Chromium: npx playwright install chromium (~/.cache/ms-playwright/chromium-1248, chromium_headless_shell-1248)
  • No se ha instalado @playwright/mcp (la CLI + este script es suficiente; Microsoft también recomienda usar la CLI para agentes).

Uso

cd <RUTA_SKILLS>/screen-record
node record.mjs spec.json                 # Salida a spec.out
node record.mjs spec.json --out /ruta/x.mp4
./contact_sheet.sh x.mp4 x_sheet.jpg 4 3  # Hoja de contactos 4x3, usar con Read

Ejemplo: examples/playwright-mcp.json (video de prueba: <TU_WORKSPACE>/media-team/03-drafts/screen-record-test/test.mp4, 19.8 segundos, 4.1 MB).

spec.json

{
  "url": "https://github.com/microsoft/playwright-mcp",
  "out": "<TU_WORKSPACE>/media-team/03-drafts/<TEMA>/work/screen/clip01.mp4",
  "viewport": {"width": 720, "height": 1280},
  "outSize": {"width": 1080, "height": 1920},
  "hide": [".cookie-banner"],
  "steps": [
    {"action": "chapter", "title": "Playwright MCP", "description": "github.com/microsoft/playwright-mcp", "ms": 2200},
    {"action": "scroll", "by": 500, "ms": 2000},
    {"action": "scroll", "role": "heading", "name": "Key Features", "ms": 2000},
    {"action": "highlight", "role": "heading", "name": "Key Features", "label": "Key Features", "ms": 2500},
    {"action": "hover", "text": "Getting started"},
    {"action": "click", "text": "Apache-2.0 license"},
    {"action": "goto", "url": "https://playwright.dev"},
    {"action": "wait", "ms": 1000}
  ]
}
  • Para encontrar elementos, elegir uno de tres: selector (CSS), role + name (el más estable), text (se puede añadir exact).
  • scroll: by píxeles, o usar to/role/text para desplazarse a un elemento (offset por defecto está a 25% del borde superior), ms tiempo de desplazamiento (ease-in-out).
  • highlight: Marco amarillo + etiqueta opcional, se elimina después de ms.
  • chapter: Tarjeta de capítulo nativa de Playwright (fondo difuminado + título).
  • click, hover tienen showActions nativo de Playwright: cursor animado + contorno del objetivo + descripción de la acción (se puede desactivar con "showActions": false).
  • Otras opciones: fps (por defecto 30), crf (por defecto 23), mobile (simulación de móvil), colorScheme, locale, tail, keepWebm.

Tamaño de pantalla

La grabación de pantalla (screencast) de Playwright usa píxeles CSS (deviceScaleFactor no se refleja en el video), por lo tanto:

  • Por defecto, se graba con viewport 720x1280 y luego se amplía con lanczos a 1080x1920: la apariencia es como un teléfono grande, las letras son lo suficientemente grandes, la calidad es ligeramente suave pero suficiente para Reels.
  • Para máxima nitidez: "viewport": {"width":1080,"height":1920} (diseño de escritorio, letras más pequeñas).
  • Para grabar en horizontal y luego recortar a vertical: "viewport": {"width":1280,"height":720}, "cropTo916": true (se puede añadir "cropX": 200 para especificar el punto de inicio del recorte), la salida sigue siendo 1080x1920, pero solo se conserva la franja central, generalmente no es tan bueno como usar directamente un viewport vertical.

Integración en el video final

  • stock-footage-reel: En shots.json, escribir para esa toma: "pick": {"source":"file","path":"/abs/clip01.mp4","license":"Grabación de pantalla de <sitio>","author":"<propietario del sitio>"}
  • OpenMontage (a través de openmontage-house): Como material local (local clip) agregarlo a la lista de materiales, o como fuente de grabación real en el flujo screen-demo.
  • Las reglas de la casa se mantienen: vertical 1080x1920, narración de Sarah Explains, subtítulos principales en chino tradicional + inglés pequeño, portada de Vox con recorte B, video final de IG de menos de 45 MB.
  • Agregar una entrada en credits.json: {"source":"screen-record","credit":"Grabación de pantalla de <sitio>","url":"<URL>","recorded":"YYYY-MM-DD"}; en los créditos finales escribir "Grabación de pantalla de ".
  • Se está grabando el sitio web de otra persona: usar solo como material de presentación/revisión, no grabar contenido con datos personales, mensajes privados o contenido de pago.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

bounce12340/josh-video-skills

「名人訪談/演講片段」直式 Reel(Fox Hsiao 式「解說穿插原聲」):配音依語言選聲(中文用「<YOUR_VOICE_NAME>」<YOUR_ELEVENLABS_VOICE_ID>;英文用 Sarah Explains)+繁中主字幕的解說段落,中間穿插 15 到 30 秒的名人原聲片段(16:9 置中、上下模糊底、「原聲 姓名|場合|日期」出處標籤、左上「影片/原頻道」),結尾拋問題給觀眾。一份 JSON spec 一路做到成片、720p 預覽、聯絡表、credits.json、封面。觸發語:「名人訪談」、「演講片段」、「訪談 Reel」、「Fox 式」、「解說加原聲」、「interview reel」。

bounce12340/josh-video-skills

收到「做一支影片/Reel」時先用:判斷影片類型、轉給對應的影片 skill,套用共用本家規則並交給事實編輯。只做草稿,不發文。

bounce12340/josh-video-skills

用 OpenMontage(開源 AI 影片製作流水線,<SKILLS_DIR>/OpenMontage)做 Josh 的影片時的「本家規則」轉接層。適用:長片剪成多支短片(clip-factory)、真實螢幕錄製教學(screen-demo)、翻譯配音(localization-dub)、Podcast 轉影片(podcast-repurpose)、「照這支參考影片做」(reference video 分析)、無旁白紀錄片蒙太奇(documentary-montage),以及幫 stock-footage-reel 加抓 NASA/國會圖書館/NARA/Archive.org 老片。觸發語:「用 OpenMontage」、「長片切短片」、「照這支 Reel 做」、「翻譯配音」、「螢幕教學影片」。

bounce12340/josh-video-skills

「真實素材剪輯」直式短影音(AYi @ayi_ainotes 那種紀錄片風):照口播稿每一句,自動搜尋並下載免費可商用素材(Pexels、Mixkit Free、Wikimedia Commons),加上洋紅調的 1950 到 70 年代 Prelinger 公有領域老片,硬切剪輯,燒上雙語字幕(繁中+英文,重點字金色),左上固定標題,ElevenLabs 配音,暗色合成器配樂,片尾金句卡加出處小字,再用 B 剪報 Vox 樣板出封面。觸發語:「做一支真實素材剪輯」、「stock footage reel」、「AYi 風格」、「素材庫剪輯」。

Skills relacionados