Ir para o guia de uso
stitch::extract-static-htmlpor Google Labs

Stitch Extract Static HTML Skill.

Uma skill para Claude Code e Codex focada em design de UI: extrai snapshots de HTML estático autocontido com CSS e imagens incorporadas.

  • Web & 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)
Front matter e títulos de seção lidos do arquivo upstream em 14/09/2026 · 10.732 caracteres no total

01 O que faz

O Que a Skill stitch::extract-static-html Faz no Claude Code e no Codex

Resumo, fluxo de trabalho e resultados, todos lidos do SKILL.md do skill.

Do SKILL.mdLido em 14/09/2026 · não é uma execução registrada

Nos termos do próprio skill

Produz um único arquivo HTML autocontido a partir de um app web em execução, iniciando o Chrome headless via Puppeteer, capturando o DOM totalmente renderizado, incorporando regras CSSOM e convertendo imagens em data URIs base64. Funciona com qualquer framework — React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook — sem necessidade de MockPage.jsx.

A skill obriga o agente a perguntar qual das duas estratégias de captura usar antes de continuar, recomendando o snapshot via Puppeteer, e a pausar para confirmação após o servidor local iniciar. As flags cobrem tempo de espera, viewport, modo escuro, remoção de elementos fixos, incorporação de canvas e um script de autenticação para páginas com login. Um apêndice documentado converte componentes React em um MockPage.jsx manual quando o app não pode ser executado localmente.

O que ele produz

  • Um arquivo HTML autocontido para cada rota capturada, com estilos incorporados e imagens embutidas como base64.
  • Um arquivo por rota quando você captura várias visualizações, por exemplo home, pricing e dashboard.
  • Gráficos serializados a partir de elementos canvas em imagens base64 quando a flag de canvas é usada.
Veja o exemplo de prompt ↗

Como funciona

  1. 01
    Deixe o Usuário Escolher uma Estratégia

    Antes de qualquer extração, o agente apresenta a comparação A/B, recomenda a rota via Puppeteer e espera por uma escolha explícita.

  2. 02
    Execute o Script de Snapshot por Rota

    Um comando por URL, gravando cada captura em seu próprio arquivo em .stitch com uma espera fixa após o network idle.

  3. 03
    Deixe o Script Incorporar a Página

    Regras CSSOM, folhas de estilo vinculadas, imagens, fontes srcset e fontes de ícones da mesma origem são incorporadas ao arquivo, de modo que nada dependa de um servidor em execução.

  4. 04
    Ajuste as Flags ao Framework

    Os tempos de espera e URLs variam por stack, por exemplo uma espera mais longa quando o framework hidrata markup renderizado no servidor.

  5. 05
    Autentique Páginas Protegidas

    Um módulo de autenticação é executado dentro da sessão do Puppeteer, após o qual o script retorna à URL original com a sessão já estabelecida.

  6. 06
    Recorra a um Mock Apenas se Necessário

    Quando o app não consegue inicializar de forma alguma, a rota do apêndice converte componentes em um único arquivo JSX em vez de capturar uma renderização real.

02 Encontre o ideal para você

Quando Usar a Skill stitch::extract-static-html

Use a skill stitch::extract-static-html no Claude Code ou Codex quando o trabalho for design de UI deste tipo. Adequação e limites abaixo são retirados do próprio arquivo da skill.

Boa Combinação

  • Você precisa capturar um estado específico da UI e entregar a alguém uma versão estática da página.
  • Você está preparando assets para enviar ao Stitch.
  • O app roda localmente em qualquer framework e você prefere não escrever um MockPage.jsx.
  • Você precisa clicar, preencher ou navegar antes que a página chegue ao estado desejado.
  • Você quer uma única story do Storybook em vez de uma rota completa do app.

Conheça os Limites

  • Páginas grandes capturadas pelo subagente de navegador podem ser cortadas pela janela de contexto do agente.
  • O caminho de achatamento manual é desencorajado sempre que o app puder ser efetivamente iniciado.
  • Fontes externas não são convertidas em data URIs; apenas ativos de mesma origem e relativos são.
  • Estados de UI inacessíveis por navegação, como telas de erro e estados vazios, precisam da rota mock em vez disso.

O Que Fornecer

  • Sua escolha de estratégiaO agente não iniciará sem uma decisão explícita entre o snapshot do Puppeteer e o subagente de navegador.
  • O app em execução em localhostUm servidor que você consegue acessar, por exemplo iniciado com o script de dev do projeto, já que o script busca dados da página em execução.
  • Um caminho de arquivo de saída--output é obrigatório, então decida onde cada rota capturada será salva, geralmente em .stitch.
  • Um módulo de autenticação para páginas protegidasUm arquivo JS/TS cuja exportação padrão é uma função assíncrona que recebe a página do Puppeteer, usado para formulários de login, tokens ou injeção de módulos.
  • Um ambiente Node com puppeteerO script de snapshot é executado com npx tsx e precisa que o puppeteer seja resolvível nesse ambiente.

03 Dentro da skill

Regras que a Skill stitch::extract-static-html Dá ao Claude Code e ao Codex

8 instruções concretas, padrões e limites que o SKILL.md define para o agente — a parte do arquivo que muda o resultado.

  1. Nunca Escolha a Estratégia por Conta Própria

    O agente não deve escolher entre o Puppeteer e o subagente de navegador em nome do usuário, nem continuar até que o usuário confirme.

  2. A Estratégia A É o Padrão Declarado

    As opções devem ser apresentadas claramente com a Estratégia A recomendada e um breve resumo de prós e contras para cada uma.

  3. Checkpoint Antes de Capturar o Snapshot

    Depois de iniciar o servidor local, o agente deve pausar e obter confirmação antes de executar o script de snapshot ou lançar um subagente de navegador.

  4. Encerre o Servidor de Dev Depois

    Um servidor de dev iniciado apenas para extração precisa ser interrompido, ou sua tarefa em segundo plano encerrada, assim que a captura for concluída.

  5. Aguarde 1000 Ms por Padrão

    --wait tem como padrão 1000 ms após a rede ficar ociosa e deve ser aumentado para apps com carregamento lazy; --viewport tem como padrão 1280x800.

  6. Não Envie Scripts

    A saída não carrega tags de script; blocos de estilo do Vite HMR para dev (createHotContext, import.meta.hot) e overlays de dev são removidos.

  7. Elementos Fixos São Opcionais

    --remove-fixed tem como padrão false e é a flag para remover banners de cookies e widgets de chat da captura.

  8. Achate Tudo para o Caminho Mock

    O fallback do apêndice não é uma captura em tempo real; requer achatar manualmente os componentes React em um único arquivo JSX.

04 Coloque em prática

Instalar stitch::extract-static-html no Claude Code ou Codex

Um comando npx skills add, depois uma primeira tarefa no seu agente e uma checklist para o resultado.

Adicionar stitch::extract-static-html ao Claude Code, Codex ou Seu Agente

Rode no seu projeto; o instalador pergunta a qual agente adicioná-lo.

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

Formato genérico de CLI de skills para plugins/stitch-design/skills/extract-static-html/SKILL.md; o repositório pode documentar seu próprio caminho.

Dê ao Skill uma Primeira Tarefa de Design de UI

Escrito nos próprios termos do skill; substitua as partes entre colchetes pelo seu 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.

Fonte: escrito a partir do SKILL.md nos próprios termos do skill.

Verifique o Primeiro Resultado

O que o próprio SKILL.md diz sobre como é um resultado correto:

  • Pare o servidor de desenvolvimento e abra o arquivo salvo: se as imagens quebrarem, a inlining do srcset não se manteve e o fallback para o src embutido é importante.
  • Leia o log do script para saber a contagem de imagens embutidas antes de confiar no resultado.
  • Se os ícones aparecerem como texto ou com uma fonte serifada de fallback, a captura do CSSOM ou a inlining do @font-face não ocorreu.
  • Uma página clara mesmo ao solicitar o modo escuro significa que a flag html-class estava ausente na execução.
  • Gráficos renderizados como caixas vazias significam que a flag canvas não foi passada.
  • No Next.js, imagens otimizadas só são embutidas enquanto o servidor de desenvolvimento ainda está ativo durante a captura.

No OpenDesign importe stitch::extract-static-html a partir do link do seu SKILL.md: Plugins → Add → Skill → Import from link, depois selecione-o na barra superior.

05 Código aberto, rastreável

Fonte, Licença e Verificação

De onde vêm os fatos desta página e quando foram verificados pela última vez.

Arquivo da skill
plugins/stitch-design/skills/extract-static-html/SKILL.md Checksum de conteúdo registrado na verificação; commit 0337446
License
Apache-2.0 De LICENSE.
Estrelas do repositório
8.304 Snapshot do GitHub tirado em 14/09/2026 para todo o repositório google-labs-code/stitch-skills, que contém 12 skills neste catálogo. Não é uma classificação ou contagem de uso para stitch::extract-static-html.
Verificado pelo OpenDesign
14/09/2026 Arquivo de origem, caminho, texto da licença e contagem de estrelas foram verificados. Não integrado ao OpenDesign principal (verificado em 28/08/2026); uma execução ao vivo não foi registrada nesta página.

Dentro do SKILL.md

  1. Qual Estratégia UsarTabela de comparação entre Puppeteer e subagente de navegador; o agente deve obter a aprovação do usuário antes de continuar.
  2. Estratégia A: Snapshot com Puppeteer (Recomendado)Snapshot em Chrome headless, HTML autocontido, funciona com qualquer framework, sem necessidade de MockPage.jsx.
  3. Flags do ScriptValores padrão para as flags url, output, wait, viewport, html-class, remove-fixed, full-height, title, auth-script e inline-canvas.
  4. O Que Ele Faz AutomaticamenteCaptura do CSSOM, inlining de folhas de estilo e imagens, limpeza de srcset, remoção de scripts e HMR, resolução de url().
  5. Notas sobre FrameworksTempos de espera e URLs padrão para React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook e SSR.
  6. Solução de ProblemasTabela de sintomas para flags cobrindo imagens ausentes, fontes de ícones, modo escuro, banners de cookies, autenticação e canvases.
  7. Páginas Protegidas por AutenticaçãoEscrevendo um módulo de autenticação Puppeteer; o script navega novamente após o login para a url original.
  8. Estratégia B: Captura com Subagente de NavegadorO subagente navega e interage, depois extrai o outerHTML; páginas grandes podem ser truncadas no contexto do agente.
  9. Apêndice: Fallback Estático (MockPage.jsx)Último recurso: executar extract_inline_html.ts contra um MockPage.jsx achatado manualmente quando o app não pode ser executado.
  10. Regras do MockPage.jsxIncluir o layout completo, achatar condicionais, fixar dados no código, preservar logos, remover elementos flutuantes.
  11. Pós-Processamentopost_process.ts embute imagens locais usando o diretório do app como base-dir.
A Descrição da Própria Skill
"- Extraia HTML estático autocontido de uma aplicação web construída ou componentes React fazendo inline de CSS e imagens. Use esta skill sempre que precisar capturar um estado específico de UI, compartilhar uma versão estática de uma página ou preparar assets para upload no Stitch, mesmo que o usuário apenas peça para 'salvar o HTML' ou 'simular a view'."

Descrição front-matter de SKILL.md. O arquivo completo tem cerca de 10.732 caracteres. Leia o arquivo completo no GitHub.

Stitch Extract Static HTML

Execute stitch::extract-static-html em uma Tarefa Real de Design de UI.

Baixe o OpenDesign, importe stitch::extract-static-html a partir do link SKILL.md, cole o prompt acima e leia o plano antes do resultado.

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

OpenDesign Desktop

Um design system. Sua marca consistente em tudo

No Vibe Design Workspace completo, aplique as mesmas regras de marca a sites, apresentações, protótipos interativos, dashboards, imagens e vídeos HTML. Conecte Codex, Claude Code, Cursor e outros agentes de código locais e crie de graça.

  • Sites, apresentações, protótipos, dashboards, imagens e vídeo
  • Mais de 140 design systems e a biblioteca completa de templates e skills
  • Codex local e mais de 21 agentes de código · Grátis
Baixar grátis

Disponível para macOS e Windows