Vai alla guida all’uso
stitch::extract-static-htmldi Google Labs

Stitch Extract Static HTML Skill.

Una skill per Claude Code e Codex per il design UI: estrae snapshot HTML statici autonomi con CSS e immagini inline.

  • 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 intestazioni di sezione letti dal file upstream il 14/09/2026 · 10.732 caratteri completi

01 Cosa fa

Cosa fa la skill stitch::extract-static-html in Claude Code e Codex

Sintesi, workflow e output, tutto letto dal SKILL.md della skill.

Dal SKILL.mdLetto il 14-09-2026 · non è un'esecuzione registrata

Nelle parole della skill

Genera un singolo file HTML autonomo a partire da una web app in esecuzione, avviando Chrome headless tramite Puppeteer, catturando il DOM completamente renderizzato, inserendo inline le regole CSSOM e convertendo le immagini in data URI base64. Funziona con qualsiasi framework — React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook — senza bisogno di MockPage.jsx.

La skill obbliga l'agente a chiedere quale delle due strategie di acquisizione utilizzare prima di procedere, raccomandando lo snapshot con Puppeteer, e a fermarsi per una conferma dopo l'avvio del server locale. I flag riguardano il tempo di attesa, il viewport, la modalità scura, la rimozione degli elementi fissi, l'inlining dei canvas e uno script di autenticazione per le pagine protette da login. Un'appendice documentata riduce i componenti React a un MockPage.jsx manuale quando l'app non può essere eseguita in locale.

Che cosa produce

  • Un file HTML autonomo per ogni route acquisita, con gli stili inseriti inline e le immagini incorporate come base64.
  • Un file per route quando si acquisiscono più viste, ad esempio home, pricing e dashboard.
  • Grafici serializzati dagli elementi canvas in immagini base64 quando si utilizza il flag canvas.
Vedi l'esempio di prompt ↗

Come funziona

  1. 01
    Lasciare Scegliere la Strategia all'Utente

    Prima di qualsiasi estrazione l'agente presenta il confronto A/B, raccomanda la strada di Puppeteer e attende una scelta esplicita.

  2. 02
    Eseguire lo Script di Snapshot per Ogni Route

    Un comando per ogni URL, che scrive ogni acquisizione nel proprio file in .stitch con un'attesa fissa dopo l'inattività di rete.

  3. 03
    Lasciare che lo Script Inserisca la Pagina Inline

    Le regole CSSOM, i foglio di stile collegati, le immagini, le sorgenti srcset e i font icona dello stesso dominio vengono incorporati nel file, così nulla dipende da un server in esecuzione.

  4. 04
    Adattare i Flag al Framework

    I tempi di attesa e gli URL variano in base allo stack, per esempio un'attesa più lunga quando il framework effettua l'hydration di markup renderizzato dal server.

  5. 05
    Autenticare le Pagine Protette

    Un modulo di autenticazione viene eseguito all'interno della sessione Puppeteer, dopo il quale lo script ritorna all'URL originale con la sessione già impostata.

  6. 06
    Ricorrere a un Mock Solo se Necessario

    Quando l'app non può essere avviata in alcun modo, l'appendice riduce i componenti a un unico file JSX invece di acquisire un rendering live.

02 Trova la tua applicazione

Quando Utilizzare la Skill stitch::extract-static-html

Utilizza la skill stitch::extract-static-html in Claude Code o Codex quando il lavoro riguarda il design UI di questo tipo. Ambito e limiti riportati di seguito sono tratti dal file della skill stessa.

Buona applicazione

  • Deve catturare un particolare stato dell'interfaccia e fornire a qualcuno una versione statica della pagina.
  • Sta preparando degli asset da caricare in Stitch.
  • L'app viene eseguita in locale con qualsiasi framework e preferisce non scrivere un MockPage.jsx.
  • Deve cliccare, compilare o navigare prima che la pagina raggiunga lo stato desiderato.
  • Desidera una singola storia di Storybook piuttosto che un'intera route dell'app.

Conosci i limiti

  • Le pagine di grandi dimensioni catturate tramite il subagent del browser possono essere troncate dalla finestra di contesto dell'agente.
  • La via manuale di appiattimento è sconsigliata ogni volta che l'app può effettivamente essere avviata.
  • I font esterni non vengono convertiti in data URI: solo gli asset same-origin e relativi lo sono.
  • Gli stati dell'interfaccia non raggiungibili tramite navigazione, come le schermate di errore e gli stati vuoti, richiedono invece la mock route.

Cosa fornire

  • La sua scelta della strategiaL'agente non parte senza una decisione esplicita tra lo snapshot Puppeteer e il subagente browser.
  • L'app in esecuzione su localhostUn server raggiungibile, ad esempio avviato con lo script dev del progetto, poiché lo script recupera i dati dalla pagina live.
  • Un percorso file di output--output è obbligatorio, quindi decida dove finisce ogni route acquisita, tipicamente sotto .stitch.
  • Un modulo di autenticazione per le pagine protetteUn file JS/TS il cui export predefinito è una funzione asincrona che riceve la page di Puppeteer, usato per form di login, token o injection di moduli.
  • Un ambiente Node con puppeteerLo script di snapshot viene eseguito con npx tsx e richiede che puppeteer sia risolvibile in quell'ambiente.

03 Dentro la skill

Le Regole che lo Skill stitch::extract-static-html Impone a Claude Code e Codex

8 istruzioni concrete, valori predefiniti e limiti che il SKILL.md imposta per l'agente — la parte del file che cambia il risultato.

  1. Non Scegliere Mai la Strategia da Solo

    L'agente non deve scegliere tra Puppeteer e il subagente browser per conto dell'utente, né procedere finché l'utente non confermi.

  2. La Strategia A È il Default Dichiarato

    Le opzioni devono essere presentate chiaramente con la Strategia A consigliata e un breve riepilogo di pro/contro per ciascuna.

  3. Punto di Controllo Prima dello Snapshot

    Dopo aver avviato il server locale, l'agente deve fermarsi e ottenere una conferma prima di eseguire lo script di snapshot o avviare un subagente browser.

  4. Interrompere il Dev Server in Seguito

    Un dev server avviato solo per l'estrazione deve essere fermato, o il suo task in background terminato, una volta completata l'acquisizione.

  5. Attendere 1000 Ms per Default

    --wait ha come default 1000 ms dopo il network idle e va aumentato per le app a caricamento lazy; --viewport ha come default 1280x800.

  6. Non Includere Script

    L'output non contiene tag script; i blocchi in stile Vite HMR dev (createHotContext, import.meta.hot) e gli overlay di sviluppo vengono rimossi.

  7. Gli Elementi Fixed Sono Opt-in

    --remove-fixed ha come default false ed è il flag per rimuovere dalla cattura i banner dei cookie e i widget di chat.

  8. Appiattire Tutto per il Percorso Mock

    Il fallback dell'appendice non è una registrazione live; richiede di appiattire manualmente i componenti React in un unico file JSX.

04 Mettila al lavoro

Installa stitch::extract-static-html in Claude Code o Codex

Un comando npx skills add, poi un primo task nel tuo agente e una checklist per il risultato.

Aggiungi stitch::extract-static-html a Claude Code, Codex o al Tuo Agent

Eseguitelo nel Suo progetto; l'installer chiede a quale agente aggiungerlo.

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

Forma generica della CLI skills per plugins/stitch-design/skills/extract-static-html/SKILL.md; il repository potrebbe documentare un proprio percorso.

Assegna alla skill un primo compito di progettazione UI

Redatto nei termini propri della skill; sostituisca le parti tra parentesi con il suo materiale.

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: redatto a partire dal SKILL.md, nei termini propri della skill.

Verifica il primo risultato

Ciò che il SKILL.md stesso indica come risultato corretto:

  • Interrompere il dev server e apra il file salvato: se le immagini si rompono, l'inlining dello srcset non ha funzionato e il fallback al src inlineato diventa rilevante.
  • Legga il log dello script per il conteggio delle immagini inlineate prima di considerare attendibile l'output.
  • Se le icone vengono rese come testo o con un font serif di fallback, la registrazione CSSOM o l'inlining delle @font-face non è avvenuto.
  • Una pagina chiara nonostante la richiesta di dark mode significa che il flag html-class non era presente nell'esecuzione.
  • Grafici resi come riquadri vuoti significano che il flag canvas non è stato passato.
  • Su Next.js, le immagini ottimizzate vengono inlineate solo se il dev server è ancora attivo durante la registrazione.

In OpenDesign importi stitch::extract-static-html dal suo link SKILL.md: Plugins → Add → Skill → Import from link, poi lo selezioni nella barra superiore.

05 Open source, tracciabile

Sorgente, licenza e verifica

Da dove provengono i dati di questa pagina e quando sono stati verificati l'ultima volta.

File della skill
plugins/stitch-design/skills/extract-static-html/SKILL.md Checksum del contenuto registrato alla verifica; commit 0337446
License
Apache-2.0 Da LICENSE.
Stelle del repository
8.304 Snapshot GitHub scattato il 14/09/2026 per l'intero repository google-labs-code/stitch-skills, che contiene 12 skill in questo catalogo. Non è un punteggio o un conteggio di utilizzo per stitch::extract-static-html.
Verificato da OpenDesign
14/09/2026 File sorgente, percorso, testo della licenza e conteggio delle stelle sono stati verificati. Non inclusa in OpenDesign main (verificato il 28/08/2026); un'esecuzione live non è stata registrata in questa pagina.

All'interno di SKILL.md

  1. Quale Strategia UsareTabella di confronto tra Puppeteer e subagent del browser; l'agente deve ottenere l'approvazione dell'utente prima di procedere.
  2. Strategia A: Snapshot con Puppeteer (Consigliata)Snapshot con Chrome headless, HTML autonomo, funziona con qualsiasi framework, non richiede MockPage.jsx.
  3. Flag dello ScriptValori predefiniti per i flag url, output, wait, viewport, html-class, remove-fixed, full-height, title, auth-script e inline-canvas.
  4. Cosa Fa AutomaticamenteRegistrazione CSSOM, inlining di foglio di stile e immagini, pulizia dello srcset, rimozione di script e HMR, risoluzione degli url().
  5. Note sui FrameworkTempi di attesa e URL predefiniti per React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook e SSR.
  6. Risoluzione dei ProblemiTabella sintomo-flag che copre immagini mancanti, font di icone, dark mode, banner dei cookie, autenticazione e canvas.
  7. Pagine Protette da AutenticazioneScrittura di un modulo di autenticazione Puppeteer; lo script torna a navigare verso l'url originale dopo il login.
  8. Strategia B: Registrazione con Subagent del BrowserIl subagent naviga e interagisce, poi estrae l'outerHTML; le pagine grandi possono troncarsi nel contesto dell'agente.
  9. Appendice: Fallback Statico (MockPage.jsx)Ultima risorsa: extract_inline_html.ts eseguito su un MockPage.jsx appiattito manualmente quando l'app non può essere eseguita.
  10. Regole per MockPage.jsxIncludere il layout completo, appiattire i condizionali, codificare i dati in modo fisso, preservare i loghi, eliminare gli elementi fluttuanti.
  11. Post-Elaborazionepost_process.ts inlinea le immagini locali usando la directory dell'app come base-dir.
Descrizione della skill
"- Estrae HTML statico autonomo da un'applicazione web compilata o da componenti React incorporando inline CSS e immagini. Usa questa skill ogni volta che devi catturare uno stato specifico dell'interfaccia, condividere una versione statica di una pagina o preparare asset per il caricamento su Stitch, anche se l'utente chiede semplicemente di 'salvare l'HTML' o 'simulare la vista'."

Descrizione del front-matter da SKILL.md. Il file completo è di circa 10.732 caratteri. Leggi il file completo su GitHub.

Stitch Extract Static HTML

Esegui stitch::extract-static-html su un'attività di design UI reale.

Scarica OpenDesign, importa stitch::extract-static-html dal suo link SKILL.md, incolla il prompt qui sopra e leggi il piano prima del risultato.

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

OpenDesign Desktop

Un solo design system. Il tuo brand, coerente ovunque

Nel Vibe Design Workspace completo, applica le stesse regole di brand a siti, presentazioni, prototipi interattivi, dashboard, immagini e video HTML. Collega Codex, Claude Code, Cursor e gli altri agenti di coding locali e crea gratis.

  • Siti, presentazioni, prototipi, dashboard, immagini e video
  • Oltre 140 design system e la libreria completa di template e skill
  • Codex locale e oltre 21 agenti di coding · Gratis
Scarica gratis

Disponibile per macOS e Windows