Ir a la guía de uso
stitch::extract-static-htmlpor Google Labs

Stitch Extract Static HTML Skill.

Un skill de Claude Code y Codex para diseño de UI: extrae capturas HTML estáticas autocontenidas con CSS e imágenes inline.

  • Web y UI
  • HTML
google-labs-code/stitch-skills · plugins/stitch-design/skills/extract-static-html/SKILL.mdSKILL.md
--- name: stitch::extract-static-html description: - Extract self-contained static HTML from a built web application or React components by inlining CSS and images. Use this skill whenever you need to capture a specific UI state, share a static version of a page, or prepare assets for Stitch upload, even if the user just asks to 'save the HTML' or 'mock the view'. --- ## Which Strategy to Use ## Strategy A: Puppeteer Snapshot (Recommended) ## Strategy B: Browser Subagent Capture ## Appendix: Static Fallback (MockPage.jsx)
Metadatos y encabezados de sección leídos del archivo original el 14 de septiembre de 2026 · 10 732 caracteres en total

01 Qué hace

Qué hace la skill stitch::extract-static-html en Claude Code y Codex

Resumen, flujo de trabajo y resultados, todo leído del SKILL.md del skill.

Del SKILL.mdLeído 2026-09-14 · no es una ejecución registrada

En los propios términos del Skill

Genera un único archivo HTML autocontenido a partir de una aplicación web en ejecución, lanzando Chrome headless mediante Puppeteer, capturando el DOM completamente renderizado, insertando las reglas CSSOM en línea y convirtiendo las imágenes en URIs de datos base64. Funciona con cualquier framework — React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook — sin necesidad de MockPage.jsx.

La skill obliga al agente a preguntar cuál de las dos estrategias de captura usar antes de continuar, recomendando la instantánea de Puppeteer, y a pausar para confirmación después de que el servidor local se inicie. Los flags cubren el tiempo de espera, el viewport, el modo oscuro, la eliminación de elementos fijos, la inserción en línea de canvas y un script de autenticación para páginas con inicio de sesión. Un apéndice documentado reduce los componentes de React a un MockPage.jsx manual cuando la aplicación no puede ejecutarse localmente.

Qué produce

  • Un archivo HTML autocontenido por cada ruta capturada, con los estilos insertados en línea y las imágenes incluidas como base64.
  • Un archivo por ruta cuando captura varias vistas, por ejemplo inicio, precios y panel.
  • Gráficos serializados desde elementos canvas en imágenes base64 cuando se usa el flag de canvas.
Ver el ejemplo de prompt ↗

Cómo funciona

  1. 01
    Deje que el usuario elija una estrategia

    Antes de cualquier extracción, el agente presenta la comparación A/B, recomienda la ruta de Puppeteer y espera una elección explícita.

  2. 02
    Ejecute el script de instantánea por ruta

    Un comando por URL, que escribe cada captura en su propio archivo dentro de .stitch con una espera fija tras la inactividad de red.

  3. 03
    Deje que el script inserte la página en línea

    Las reglas CSSOM, las hojas de estilo enlazadas, las imágenes, las fuentes srcset y las fuentes de iconos del mismo origen se pliegan dentro del archivo, de modo que nada depende de un servidor en ejecución.

  4. 04
    Ajuste los flags al framework

    Los tiempos de espera y las URLs difieren según el stack, por ejemplo una espera más larga cuando el framework hidrata el markup renderizado en el servidor.

  5. 05
    Autentique páginas con acceso restringido

    Un módulo de autenticación se ejecuta dentro de la sesión de Puppeteer, tras lo cual el script vuelve a la URL original con la sesión ya establecida.

  6. 06
    Recurra a un mock solo si es necesario

    Cuando la aplicación no puede arrancar en absoluto, la ruta del apéndice reduce los componentes a un único archivo JSX en lugar de capturar un render en vivo.

02 Encuentra tu caso de uso

Cuándo Usar la Skill stitch::extract-static-html

Use la skill stitch::extract-static-html en Claude Code o Codex cuando el trabajo sea diseño UI de este tipo. El alcance y los límites se toman del propio archivo de la skill.

Buen caso de uso

  • Necesita capturar un estado de UI particular y entregar a alguien una versión estática de la página.
  • Está preparando assets para subir a Stitch.
  • La aplicación se ejecuta localmente en cualquier framework y prefiere no escribir un MockPage.jsx.
  • Tiene que hacer clic, rellenar campos o navegar antes de que la página alcance el estado que desea.
  • Quiere una sola story de Storybook en lugar de toda la ruta de una aplicación.

Conozca los límites

  • Las páginas grandes capturadas mediante el subagente del navegador pueden verse cortadas por la ventana de contexto del agente.
  • Se desaconseja la ruta de aplanado manual siempre que la app pueda iniciarse realmente.
  • Las fuentes externas no se convierten en URIs de datos; solo se convierten los recursos del mismo origen y relativos.
  • Los estados de UI inalcanzables mediante navegación, como pantallas de error y estados vacíos, necesitan en su lugar la ruta simulada (mock).

Qué proporcionar

  • Su elección de estrategiaEl agente no se iniciará sin una decisión explícita entre la instantánea de Puppeteer y el subagente de navegador.
  • La app en ejecución en localhostUn servidor al que pueda acceder, por ejemplo iniciado con el script de desarrollo del proyecto, ya que el script obtiene datos de la página en vivo.
  • Una ruta de archivo de salida--output es obligatorio, así que decida dónde queda cada ruta capturada, normalmente bajo .stitch.
  • Un módulo de autenticación para páginas restringidasUn archivo JS/TS cuya exportación por defecto es una función asíncrona que recibe la página de Puppeteer, usado para formularios de acceso, tokens o inyección de módulos.
  • Un entorno Node con puppeteerEl script de instantánea se ejecuta con npx tsx y necesita que puppeteer sea resoluble en ese entorno.

03 Dentro del skill

Reglas que la Skill stitch::extract-static-html le da a Claude Code y Codex

8 instrucciones concretas, valores por defecto y límites que SKILL.md fija para el agente: la parte del archivo que cambia el resultado.

  1. Nunca elija la estrategia usted mismo

    El agente no debe elegir entre Puppeteer y el subagente de navegador en nombre del usuario, ni continuar hasta que el usuario confirme.

  2. La estrategia A es el valor predeterminado declarado

    Las opciones deben presentarse con claridad, recomendando la Estrategia A y con un breve resumen de ventajas/desventajas para cada una.

  3. Punto de control antes de tomar la instantánea

    Después de iniciar el servidor local, el agente debe detenerse y obtener confirmación antes de ejecutar el script de instantánea o lanzar un subagente de navegador.

  4. Detenga el servidor de desarrollo después

    Un servidor de desarrollo iniciado solo para la extracción debe detenerse, o su tarea en segundo plano debe finalizarse, una vez completada la captura.

  5. Espere 1000 ms por defecto

    --wait toma por defecto 1000 ms tras la inactividad de red y debe aumentarse para apps con carga diferida (lazy-loading); --viewport toma por defecto 1280x800.

  6. No incluya scripts

    La salida no lleva etiquetas script; se eliminan los bloques de estilo HMR de Vite (createHotContext, import.meta.hot) y las superposiciones de desarrollo.

  7. Los elementos fijos son opcionales (opt-in)

    --remove-fixed toma por defecto false y es la opción para eliminar de la captura los banners de cookies y los widgets de chat.

  8. Aplane todo para la ruta simulada (mock)

    El fallback del apéndice no es una captura en vivo; requiere aplanar manualmente los componentes de React en un único archivo JSX.

04 Ponlo a trabajar

Instalar stitch::extract-static-html en Claude Code o Codex

Un comando npx skills add, luego una primera tarea en tu agente y una lista de verificación para el resultado.

Agregar stitch::extract-static-html a Claude Code, Codex o Su Agente

Ejecútelo en su proyecto; el instalador pregunta a qué agente añadirlo.

Terminal
npx skills add https://github.com/google-labs-code/stitch-skills --skill stitch::extract-static-html

Formulario genérico de la CLI de skills para plugins/stitch-design/skills/extract-static-html/SKILL.md; el repositorio puede documentar su propia ruta.

Dale al skill una primera tarea de diseño de interfaz

Redactado en los términos del propio skill; sustituya las partes entre corchetes por su material.

Starter prompt
The app is running at http://localhost:5173. Snapshot the [dashboard] route to .stitch/dashboard.html with --html-class dark and --inline-canvas, and pass --wait 5000 because the ECharts graphs load late. That page sits behind a login guard, so run it with my [auth-myapp.ts] script first.

Fuente: redactado a partir del SKILL.md en los términos del propio skill.

Revisa el primer resultado

Lo que el propio SKILL.md indica que debe ser un resultado correcto:

  • Detenga el servidor de desarrollo y abra el archivo guardado: si las imágenes se rompen, la incrustación del srcset no se mantuvo y el fallback al src incrustado es lo que importa.
  • Lea el log del script para conocer el número de imágenes incrustadas antes de confiar en el resultado.
  • Si los iconos aparecen como texto o con una fuente serif de reserva, la captura del CSSOM o la incrustación de @font-face no se realizó.
  • Una página clara a pesar de haber solicitado modo oscuro significa que faltó el flag de clase html en la ejecución.
  • Los gráficos que se muestran como casillas vacías significan que no se pasó el flag de canvas.
  • En Next.js, las imágenes optimizadas solo se incrustan mientras el servidor de desarrollo sigue activo durante la captura.

En OpenDesign importe stitch::extract-static-html desde su enlace de SKILL.md: Plugins → Add → Skill → Import from link, y luego selecciónelo en la barra superior.

05 Código abierto, rastreable

Fuente, Licencia y Verificación

De dónde provienen los datos de esta página y cuándo se verificaron por última vez.

Archivo de skill
plugins/stitch-design/skills/extract-static-html/SKILL.md Suma de verificación de contenido registrada en verificación; commit 0337446
License
Apache-2.0 De LICENSE.
Estrellas del repositorio
8.304 Instantánea de GitHub tomada el 14-09-2026 para todo el repositorio google-labs-code/stitch-skills, que contiene 12 skills en este catálogo. No es una calificación ni un conteo de uso para stitch::extract-static-html.
Verificado por OpenDesign
14/09/2026 Se verificaron el archivo fuente, la ruta, el texto de licencia y el recuento de estrellas. No incluido en OpenDesign principal (verificado el 28/08/2026); no se ha registrado una ejecución en vivo en esta página.

Dentro del SKILL.md

  1. Qué estrategia usarTabla comparativa de Puppeteer frente al subagente de navegador; el agente debe obtener la aprobación del usuario antes de continuar.
  2. Estrategia A: Puppeteer Snapshot (recomendada)Captura de Chrome headless, HTML autocontenido, funciona con cualquier framework, no requiere MockPage.jsx.
  3. Flags del scriptValores por defecto para los flags url, output, wait, viewport, html-class, remove-fixed, full-height, title, auth-script e inline-canvas.
  4. Qué hace automáticamenteCaptura del CSSOM, incrustación de hojas de estilo e imágenes, limpieza del srcset, eliminación de scripts y HMR, resolución de url().
  5. Notas sobre frameworksTiempos de espera y URLs por defecto para React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook y SSR.
  6. Solución de problemasTabla de síntoma a flag que cubre imágenes faltantes, fuentes de iconos, modo oscuro, banners de cookies, autenticación y canvases.
  7. Páginas protegidas por autenticaciónEscritura de un módulo de autenticación de Puppeteer; el script vuelve a navegar tras el login a la url original.
  8. Estrategia B: captura mediante subagente de navegadorEl subagente navega e interactúa, y luego extrae el outerHTML; las páginas grandes pueden truncarse en el contexto del agente.
  9. Apéndice: fallback estático (MockPage.jsx)Como último recurso, ejecutar extract_inline_html.ts contra un MockPage.jsx aplanado manualmente cuando la aplicación no puede ejecutarse.
  10. Reglas de MockPage.jsxIncluir el layout completo, aplanar los condicionales, codificar los datos de forma fija, preservar los logos, eliminar los elementos flotantes.
  11. Postprocesamientopost_process.ts incrusta imágenes locales usando el directorio de la app como base-dir.
La descripción propia del Skill
"- Extraer HTML estático autónomo de una aplicación web construida o componentes React incorporando CSS e imágenes. Use este skill cada vez que necesite capturar un estado específico de UI, compartir una versión estática de una página o preparar activos para subir a Stitch, incluso si el usuario solo pide 'guardar el HTML' o 'hacer un mock de la vista'."

Descripción del encabezado del SKILL.md. El archivo completo tiene aproximadamente 10.732 caracteres. Lea el archivo completo en GitHub.

Stitch Extract Static HTML

Ejecute stitch::extract-static-html en una tarea real de diseño de UI.

Descargue OpenDesign, importe stitch::extract-static-html desde su enlace SKILL.md, pegue el prompt anterior y lea el plan antes del resultado.

Terminal
npx skills add https://github.com/google-labs-code/stitch-skills --skill stitch::extract-static-html

OpenDesign Desktop

Un sistema de diseño. Tu marca, coherente en cada resultado

En el Vibe Design Workspace completo, aplica las mismas reglas de marca a sitios web, presentaciones, prototipos interactivos, dashboards, imágenes y vídeo HTML. Conecta Codex, Claude Code, Cursor y otros agentes de código locales y crea gratis.

  • Web, presentaciones, prototipos, dashboards, imágenes y vídeo
  • Más de 140 sistemas de diseño y la biblioteca completa de plantillas y skills
  • Codex local y más de 21 agentes de código · Gratis
Descargar gratis

Disponible para macOS y Windows