사용 가이드로 건너뛰기
stitch::extract-static-html작성자 Google Labs

Stitch Extract Static HTML 스킬.

UI 디자인을 위한 Claude Code 및 Codex 스킬: 인라인 CSS 및 이미지가 포함된 독립형 정적 HTML 스냅샷을 추출합니다.

  • 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)
2026-09-14에 업스트림 파일에서 읽은 프론트 매터 및 섹션 제목 · 전체 10,732자

01 기능

Claude Code와 Codex에서 stitch::extract-static-html Skill이 하는 일

요약, 워크플로, 산출물을 모두 해당 스킬의 SKILL.md에서 그대로 읽어 정리한 내용입니다.

SKILL.md에서2026-09-14 읽음 · 실행 기록 아님

스킬 자체의 표현으로

Puppeteer로 헤드리스 Chrome을 실행해 실행 중인 웹 앱에서 완전히 렌더링된 DOM을 캡처하고, CSSOM 규칙을 인라인화하며 이미지를 base64 데이터 URI로 변환하여 하나의 독립형 HTML 파일을 생성합니다. React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook 등 어떤 프레임워크에서도 작동하며 MockPage.jsx가 필요하지 않습니다.

이 Skill은 진행하기 전에 에이전트가 두 가지 캡처 전략 중 어느 것을 사용할지 묻도록 강제하며, Puppeteer 스냅샷을 권장하고 로컬 서버가 시작된 후 확인을 위해 멈춥니다. 플래그는 대기 시간, 뷰포트, 다크 모드, 고정 요소 제거, 캔버스 인라인화, 로그인이 필요한 페이지를 위한 인증 스크립트를 다룹니다. 문서화된 부록에서는 앱을 로컬에서 실행할 수 없을 때 React 컴포넌트를 수동 MockPage.jsx로 평탄화합니다.

산출물

  • 캡처한 각 경로마다 스타일이 인라인화되고 이미지가 base64로 임베드된 독립형 HTML 파일입니다.
  • 여러 화면(예: 홈, 가격, 대시보드)을 캡처할 때 경로마다 하나의 파일이 생성됩니다.
  • canvas 플래그를 사용할 때 캔버스 요소에서 직렬화되어 base64 이미지로 변환된 차트입니다.
예시 프롬프트 보기 ↗

작동 방식

  1. 01
    사용자가 전략을 선택하도록 하기

    추출 전에 에이전트는 A/B 비교를 제시하고, Puppeteer 방식을 권장하며, 명시적인 선택을 기다립니다.

  2. 02
    경로별로 스냅샷 스크립트 실행하기

    URL마다 하나의 명령을 실행하며, 네트워크가 유휴 상태가 된 뒤 고정된 대기 시간을 두고 각 캡처를 .stitch 안의 개별 파일에 기록합니다.

  3. 03
    스크립트가 페이지를 인라인화하도록 하기

    CSSOM 규칙, 연결된 스타일시트, 이미지, srcset 소스, 동일 출처 아이콘 폰트가 파일에 포함되므로 실행 중인 서버에 의존할 필요가 없습니다.

  4. 04
    프레임워크에 맞게 플래그 조정하기

    대기 시간과 URL은 스택마다 다르며, 예를 들어 서버 렌더링된 마크업을 하이드레이션하는 프레임워크는 더 긴 대기 시간이 필요합니다.

  5. 05
    인증이 필요한 페이지 인증하기

    인증 모듈이 Puppeteer 세션 내부에서 실행되며, 그 후 스크립트는 세션이 유지된 상태로 원래 URL로 돌아갑니다.

  6. 06
    필요할 때만 목(mock)으로 대체하기

    앱이 전혀 부팅되지 않을 때는 실제 렌더링을 캡처하는 대신 부록 경로가 컴포넌트를 하나의 JSX 파일로 평탄화합니다.

02 적합성 확인

stitch::extract-static-html 스킬을 사용하는 경우

이러한 종류의 UI 디자인 작업인 경우 Claude Code 또는 Codex에서 stitch::extract-static-html 스킬을 사용하십시오. 아래의 적합성 및 제한 사항은 스킬 자체 파일에서 가져온 것입니다.

적합한 경우

  • 특정 UI 상태를 캡처해 페이지의 정적 버전을 누군가에게 전달해야 하는 경우입니다.
  • Stitch에 업로드할 자산을 준비하는 경우입니다.
  • 앱이 어떤 프레임워크에서든 로컬에서 실행되고, MockPage.jsx를 작성하지 않으려는 경우입니다.
  • 원하는 상태에 도달하기 전에 클릭, 입력 또는 이동이 필요한 경우입니다.
  • 앱 전체 경로가 아니라 하나의 Storybook 스토리를 원하는 경우입니다.

한계 인지하기

  • 브라우저 서브에이전트로 캡처한 큰 페이지는 에이전트 컨텍스트 윈도우에 의해 잘릴 수 있습니다.
  • 앱을 실제로 실행할 수 있는 경우에는 수동 플래튼(flatten) 방식을 사용하지 않는 것이 권장됩니다.
  • 외부 폰트는 데이터 URI로 변환되지 않으며, 동일 출처(same-origin) 및 상대 경로 리소스만 변환됩니다.
  • 오류 화면이나 빈 상태처럼 내비게이션으로 도달할 수 없는 UI 상태는 목(mock) 라우트가 필요합니다.

제공할 사항

  • 전략 선택Puppeteer 스냅샷과 브라우저 서브에이전트 중 어느 쪽을 사용할지 명시적으로 결정하지 않으면 에이전트는 시작하지 않습니다.
  • localhost에서 실행 중인 앱스크립트가 실제 페이지에서 데이터를 가져오므로, 프로젝트의 dev 스크립트 등으로 도달 가능한 서버가 필요합니다.
  • 출력 파일 경로--output은 필수 항목이므로, 캡처한 각 라우트가 저장될 위치(일반적으로 .stitch 아래)를 결정해야 합니다.
  • 제한된 페이지를 위한 인증 모듈기본 내보내기(default export)가 Puppeteer 페이지를 전달받는 비동기 함수인 JS/TS 파일로, 로그인 폼, 토큰 또는 모듈 주입에 사용됩니다.
  • puppeteer가 포함된 Node 환경스냅샷 스크립트는 npx tsx로 실행되며, 해당 환경에서 puppeteer를 확인할 수 있어야 합니다.

03 스킬 내부

stitch::extract-static-html 스킬이 Claude Code와 Codex에 부여하는 규칙

SKILL.md가 에이전트에게 설정하는 8가지 구체적인 지시, 기본값, 제한 — 결과를 바꾸는 파일의 부분입니다.

  1. 전략을 직접 선택하지 마십시오

    에이전트는 사용자를 대신하여 Puppeteer와 브라우저 서브에이전트 중 하나를 선택해서는 안 되며, 사용자가 확인하기 전까지 진행해서도 안 됩니다.

  2. 전략 A가 명시된 기본값입니다

    각 옵션은 명확하게 제시되어야 하며, 전략 A를 추천 사항으로 표시하고 각 옵션에 대한 간단한 장단점 요약을 함께 제공해야 합니다.

  3. 스냅샷 전 체크포인트

    로컬 서버를 시작한 후 에이전트는 스냅샷 스크립트를 실행하거나 브라우저 서브에이전트를 실행하기 전에 반드시 멈추고 확인을 받아야 합니다.

  4. 작업 후 Dev 서버 종료

    추출을 위해서만 시작한 dev 서버는 캡처가 완료되면 중지하거나 백그라운드 작업을 종료해야 합니다.

  5. 기본 대기 시간은 1000 ms입니다

    --wait는 네트워크 유휴 상태 이후 기본값이 1000 ms이며, 지연 로딩 앱의 경우 값을 늘려야 합니다. --viewport의 기본값은 1280x800입니다.

  6. 스크립트를 포함하지 않습니다

    출력물에는 스크립트 태그가 포함되지 않습니다. Vite HMR 개발용 블록(createHotContext, import.meta.hot)과 개발용 오버레이는 제거됩니다.

  7. 고정 요소는 선택 사항입니다

    --remove-fixed의 기본값은 false이며, 쿠키 배너나 채팅 위젯을 캡처에서 제거할 때 사용하는 플래그입니다.

  8. 목(mock) 경로에서는 모든 것을 플래튼(flatten)합니다

    부록 폴백은 실시간 캡처가 아닙니다. React 컴포넌트를 하나의 JSX 파일로 수동으로 평탄화해야 합니다.

04 활용하기

Claude Code 또는 Codex에 stitch::extract-static-html 설치

npx skills add 명령 한 번 실행 후, 에이전트에서 첫 번째 작업을 수행하고 결과 체크리스트를 확인합니다.

Claude Code, Codex 또는 사용자의 에이전트에 stitch::extract-static-html 추가

프로젝트에서 실행합니다. 설치 프로그램이 어떤 에이전트에 추가할지 묻습니다.

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

plugins/stitch-design/skills/extract-static-html/SKILL.md를 위한 일반적인 skills CLI 형식이며, 저장소마다 자체 경로를 문서화할 수 있습니다.

스킬에 첫 UI 디자인 작업 부여하기

스킬 자체의 용어로 작성되었습니다. 대괄호 부분은 각자의 자료로 교체합니다.

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.

출처: 스킬 자체의 용어로 SKILL.md에서 작성했습니다.

첫 번째 결과 확인

SKILL.md 자체가 올바른 결과의 모습으로 제시하는 내용:

  • 개발 서버를 중지하고 저장된 파일을 엽니다. 이미지가 깨진다면 srcset 인라이닝이 유지되지 않았다는 뜻이며, 인라인 src로의 폴백이 중요합니다.
  • 출력 결과를 신뢰하기 전에 인라인된 이미지 개수를 스크립트 로그에서 확인하십시오.
  • 아이콘이 텍스트나 serif 대체 폰트로 표시된다면 CSSOM 캡처 또는 @font-face 인라이닝이 이루어지지 않았다는 뜻입니다.
  • 다크 모드를 요청했는데도 밝은 페이지가 나온다면 실행 시 html-class 플래그가 누락되었다는 뜻입니다.
  • 그래프가 빈 상자로 표시된다면 canvas 플래그가 전달되지 않았다는 뜻입니다.
  • Next.js에서는 캡처 중 개발 서버가 계속 실행 중일 때만 최적화된 이미지가 인라인됩니다.

OpenDesign에서 SKILL.md 링크를 통해 stitch::extract-static-html을 가져옵니다: Plugins → Add → Skill → Import from link, 그런 다음 상단 바에서 선택합니다.

05 오픈 소스, 추적 가능

출처, 라이선스 및 검증

이 페이지의 사실이 어디에서 왔으며 언제 마지막으로 확인되었는지 안내합니다.

스킬 파일
plugins/stitch-design/skills/extract-static-html/SKILL.md 검증 시 기록된 콘텐츠 체크섬; 커밋 0337446
License
Apache-2.0 LICENSE에서 확인.
리포지토리 스타
8,304 GitHub 스냅샷은 2026-09-14에 촬영되었으며, 이 카탈로그의 12개 스킬이 포함된 google-labs-code/stitch-skills 저장소 전체에 대한 것입니다. stitch::extract-static-html에 대한 평가나 사용 횟수가 아닙니다.
OpenDesign에서 검증됨
2026-09-14 소스 파일, 경로, 라이선스 텍스트 및 스타 수가 확인되었습니다. OpenDesign 메인에 번들로 포함되지 않음(2026-08-28 확인); 이 페이지에 실제 실행 기록이 없습니다.

SKILL.md 내부

  1. 어떤 전략을 사용할지Puppeteer와 브라우저 서브에이전트 비교표이며, 에이전트는 진행 전에 사용자 승인을 받아야 합니다.
  2. 전략 A: Puppeteer 스냅샷(권장)헤드리스 Chrome 스냅샷, 자체 완결형 HTML, 모든 프레임워크에서 작동하며 MockPage.jsx가 필요하지 않습니다.
  3. 스크립트 플래그url, output, wait, viewport, html-class, remove-fixed, full-height, title, auth-script, inline-canvas 플래그의 기본값입니다.
  4. 자동으로 수행하는 작업CSSOM 캡처, 스타일시트 및 이미지 인라이닝, srcset 정리, 스크립트 및 HMR 제거, url() 해석입니다.
  5. 프레임워크 참고 사항React/Vite, Next.js, Angular, Vue/Nuxt, Svelte, Storybook, SSR에 대한 대기 시간과 기본 URL입니다.
  6. 문제 해결이미지 누락, 아이콘 폰트, 다크 모드, 쿠키 배너, 인증, 캔버스를 다루는 증상-플래그 대응표입니다.
  7. 인증이 필요한 페이지Puppeteer 인증 모듈을 작성합니다. 스크립트는 로그인 후 원래 url로 다시 이동합니다.
  8. 전략 B: 브라우저 서브에이전트 캡처서브에이전트가 탐색하고 상호작용한 뒤 outerHTML을 추출합니다. 큰 페이지는 에이전트 컨텍스트에서 잘릴 수 있습니다.
  9. 부록: 정적 폴백(MockPage.jsx)앱을 실행할 수 없을 때 손수 평탄화한 MockPage.jsx에 대해 실행하는 최후의 수단인 extract_inline_html.ts입니다.
  10. MockPage.jsx 규칙전체 레이아웃 포함, 조건문 평탄화, 데이터 하드코딩, 로고 유지, 부동 요소 제거입니다.
  11. 후처리post_process.ts는 앱 디렉터리를 base-dir로 사용하여 로컬 이미지를 인라인합니다.
스킬 자체 설명
"- 빌드된 웹 애플리케이션이나 React 컴포넌트에서 CSS와 이미지를 인라인하여 독립 실행형 정적 HTML을 추출합니다. 특정 UI 상태를 캡처하거나, 페이지의 정적 버전을 공유하거나, Stitch 업로드용 자산을 준비해야 할 때마다 이 스킬을 사용하십시오. 사용자가 단순히 'HTML 저장' 또는 '뷰 모킹'을 요청하는 경우에도 해당됩니다."

SKILL.md의 front-matter 설명입니다. 전체 파일은 약 10,732자입니다. GitHub에서 전체 파일 읽기.

Stitch Extract Static HTML

실제 UI 디자인 작업에서 stitch::extract-static-html 실행하기.

OpenDesign을 다운로드하고 SKILL.md 링크에서 stitch::extract-static-html을 가져온 다음 위의 프롬프트를 붙여넣고 결과 전에 계획을 읽으십시오.

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

OpenDesign 데스크톱

하나의 디자인 시스템으로 모든 결과물에 브랜드 일관성을

완전한 Vibe Design Workspace에서 하나의 브랜드 규칙을 웹사이트, 슬라이드, 인터랙티브 프로토타입, 대시보드, 이미지, HTML 영상에 적용하세요. 로컬 Codex, Claude Code, Cursor 등을 연결해 무료로 제작할 수 있습니다.

  • 웹, 슬라이드, 프로토타입, 대시보드, 이미지, 영상
  • 140개+ 디자인 시스템과 전체 템플릿·스킬 라이브러리
  • 로컬 Codex 및 21개+ 코딩 에이전트 연결 · 무료
무료 다운로드

macOS, Windows 지원