Skill221 repo starsupdated today
html-slide
html-slide generates single-file, self-contained HTML presentation decks with 16:9 slide sequences and vanilla JavaScript runtime, supporting keyboard navigation, fullscreen mode, PDF print mode, and speaker notes. Use this skill when you need to quickly create browser-viewable slideshows with inline SVG infographics and design system branding without external build tools or dependencies, optionally chaining to pptx-designer for editable PowerPoint export.
Install in Claude Code
Copygit clone --depth 1 https://github.com/modu-ai/cowork-plugins /tmp/html-slide && cp -r /tmp/html-slide/moai-content/skills/html-slide ~/.claude/skills/html-slideThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# html-slide — 단일 파일 HTML 슬라이드 덱 생성기 ## 목적과 범위 `moai-content:html-slide`는 발표용 슬라이드 덱을 **단일 파일·자체 완결형 HTML**로 만듭니다. 이웃 스킬 `html-report`의 "0의존·인라인 SVG·design-system-library 토큰 계약" 아키텍처를 계승하되, 연속 스크롤 문서가 아닌 **16:9 슬라이드 시퀀스 + 자체 vanilla JS 덱 런타임**(키보드 내비게이션·풀스크린·`?print-pdf` 인쇄 모드·speaker notes 토글)을 제공합니다. **핵심 원칙**: - 단일 `.html` 파일 — 외부 빌드 단계·런타임 SPA 의존 없이 `file://`로 즉시 오픈 - 인포그래픽은 LLM이 인라인 SVG로 직접 저작 — 한국어 숫자·라벨 100% 정확, 확대 선명, 재현 가능 - 실사·일러스트 이미지는 Higgsfield MCP 또는 codex(gpt-image-2)로 생성 — 허용 백엔드만 사용 (`references/image-backend-policy.md`) - design-system-library 56개 브랜드 토큰 적용 — 각 토큰별 getdesign.md 상세 페이지 링크 제공 - 편집 가능 PPTX 산출은 `pptx-designer`(moai-office) 체이닝으로 위임 — 자체 구현하지 않음(중복·책임 모호화 방지) **원고 SSOT**: 모든 덱은 구조화 원고 `deck.json`(title/bullets/chart-data/image-path/layout-key/notes)을 단일 진실 원천으로 둡니다. HTML 렌더와 (체이닝 시) pptx-designer PPTX 렌더 양쪽이 같은 원고를 소비합니다 — 픽셀→OOXML 역매핑이 아니라 원고→객체 직접 생성이 "편집 가능 PPTX"의 보증 기구입니다. --- ## 입력 | 인자 | 필수 | 기본값 | 설명 | |------|------|--------|------| | `topic` / 자연어 주제 | ✓ | — | 덱 주제·대상 청중·발표 목적 | | `design_system` | — | `claude` | `claude` \| `clickhouse` \| `clay` 또는 [`design-system-library`](../../../moai-design/skills/design-system-library/SKILL.md)의 56개 시스템. 지정 시 Tailwind Play CDN + shadcn vanilla 컴포넌트로 해당 브랜드 토큰 적용. 각 토큰별 getdesign.md 미리보기 링크는 [`references/design-system-links.md`](references/design-system-links.md) | | `slide_count` / 발표 시간 | — | 주제에서 추천 | 3분=5-7장 · 10분=10-15장 · 30분=20-30장 | | `aspect_ratio` | — | `16:9` | `16:9`(프로젝터 표준) \| `1:1`(소셜/카드뉴스) | | `locale` | — | `ko` | `ko` \| `en` — 헤드라인·카피 언어 | | `image_backend` | — | `higgsfield` | `higgsfield`(Higgsfield MCP, 기본) \| `codex`(gpt-image-2, ChatGPT 구독 한도) \| `svg-only`(이미지 없이 SVG 장식만) | | `export_pptx` | — | `false` | `true` 시 pptx-designer 체이닝으로 편집 가능 .pptx 병행 산출 | | `output_path` | — | `<cwd>/reports/<slug>-slides-<YYYYMMDD>.html` | 출력 경로 | --- ## 출력 - **주 산출물**: 단일 `.html` 파일 (`<cwd>/reports/<slug>-slides-<YYYYMMDD>.html`) - 자체 완결형: 브라우저에서 바로 열기 가능, 이메일 첨부·오프라인 사용 가능 - 외부 의존: design_system 지정 시 폰트 CDN + Tailwind Play CDN, 미지정 시 폰트 CDN 1건만 - **병행 산출물** (`export_pptx: true` 시): 편집 가능 `.pptx` (pptx-designer 체이닝) - **원고**: `deck.json` (HTML·PPTX 양쪽 공통 소스, 산출 디렉토리에 보존) --- ## 핵심 워크플로우 (9단계) ### 1. 컨텍스트 수집 `AskUserQuestion`으로 design_system(56 시스템, 기본 `claude`)·발표 시간(슬라이드 수)·이미지 필요 여부·PPTX 산출 여부를 확인합니다. design_system 선택 시 [`references/design-system-links.md`](references/design-system-links.md)의 getdesign.md 링크로 각 토큰 상세 페이지를 안내해 사용자가 미리보기로 확인할 수 있게 합니다. ### 2. 원고 SSOT 구축 (핵심) `deck.json` 원고를 먼저 작성합니다 — title/bullets/chart-data/image-path/layout-key/notes. 이 원고가 HTML 렌더와 pptx-designer PPTX 렌더 양쪽의 공통 소스입니다. 스키마: [`references/deck-manuscript-schema.md`](references/deck-manuscript-schema.md). layout-key는 pptx-designer 9 아키타입(Title/Agenda/Problem/Solution/Features/Stats/Team/CTA/Closing)에 정합시킵니다. ### 3. 인포그래픽 = 인라인 SVG 직접 생성 차트·다이어그램·KPI 카드·타임라인은 LLM이 인라인 SVG로 직접 작성합니다. 한국어 숫자·라벨 100% 정확을 위해 비트맵 이미지로 우회하지 않습니다. 패턴 라이브러리: [`references/inline-svg-infographics.md`](references/inline-svg-infographics.md). ### 4. 비트맵 이미지 생성 (필요 시) — 이미지 백엔드 정책 포토 히어로·일러스트 컨셉 등 SVG로 표현 불가능한 비트맵이 필요한 슬라이드만 이미지 백엔드로 생성합니다. 정책: [`references/image-backend-policy.md`](references/image-backend-policy.md). | 백엔드 | 모델 | 인증 | 권장 용도 | |--------|------|------|-----------| | **`higgsfield`** (기본) | GPT Image 2·Nano Banana Pro·Soul 등 11종 | Higgsfield MCP(API 키) | 프로덕션·멱등·CI 무인 | | **`codex`** (공식 추가 2026-06-17) | gpt-image-2 | codex CLI + ChatGPT OAuth(구독 한도, API 키 불필요) | 로컬·개발자·구독 한도 재사용 | | `antigravity` | Imagen·Nano Banana (agy -p) | Google OAuth 브라우저 + 구독 quota | ⚠️ 비권장 — OAuth/quota/CI 무인 불가, 로컬 단발 프로토타입 only | | `svg-only` | (이미지 없음) | — | 오프라인·비용 민감·빠른 폴백 | > 위 4개 백엔드만 허용됩니다. 그 외 외부 이미지 백엔드(MCP·API·게이트웨이)는 사용하지 않습니다 — [`references/image-backend-policy.md`](references/image-backend-policy.md). 한국어 텍스트가 이미지에 들어가면 `moai-media:gpt-image-2-prompt`(6-Block 프롬프트 빌더)로 verbatim 지시 후 선택 백엔드로 생성합니다. ### 5. design-system-library 토큰 적용 design_system 지정 시 `systems/<name>.md` 토큰 → Tailwind Play CDN config + shadcn vanilla 컴포넌트로 렌더. 미지정 시 0의존 기본 템플릿. html-report와 동일 계약 재사용. 사용자가 getdesign.md 링크로 토큰을 미리 확인한 뒤 선택할 수 있습니다. ### 6. 단일 파일 HTML 덱 조립 16:9 슬라이드 컨테이너 + 자체 vanilla JS 덱 런타임(키보드 내비·풀스크린·`?print-pdf` 인쇄 모드·speaker notes 토글·progress bar)을 단일 `.html`로 산출. 런타임 구현: [`references/html-runtime.md`](references/html-runtime.md). ### 7. AI 슬롭 후처리 (의무) 모든 슬라이드 카피·speaker notes 텍스트에 `ai-slop-reviewer` → `humanize-korean` 체인 적용. CLAUDE.local.md §3-2 HARD 규칙. ### 8. PPTX 산출 (선택, export_pptx: true 시) `deck.json` 원고를 `pptx-designer`(moai-office)에 전달하며 체이닝. pptx-designer가 pptxgenjs로 편집 가능 OOXML `.pptx` 생성(원고→객체 직접 생성). html-slide 자체는 PPTX 생성 로직을 구현하지 않습니다. 체이닝 규약: [`references/pptx-chaining.md`](references/pptx-chaining.md). ### 9. 자체 검수 단일 HTML 열기·`?print-pdf` 인쇄 미리보기·speaker notes 표시·이미지 broken link·한국어 폰트 렌더·이미지 백엔드 정책 준수(허용 백엔드만 사용)를 자체 검수 후 PASS/FAIL 보고. PPTX 체이닝 시 pptx-designer QA 결과 통합 보고. --- ## 디자인 시스템 적용 (`design_system` 파라미터) `design_system` 입력으로 [`moai-design:design-system-library`](../../../moai-design/skills/design-system-library/SKILL.md)에서 브랜드 토큰을 로드해 **Tailwind Play CDN + shadcn vanilla 컴포넌트**로 렌더합니다. html-report와 동일한 두 렌더 엔진을 제공합니다. | `design_system` | 엔진 | 외부 의존 | 산출물 특성 | |-----------------|------|-----------|-------------| | **미지정** | 0의존 (기본 템플릿) | 폰트 CDN 1건만 | 오프라인·인쇄·이메일 첨부 가능 | | **`claude` / `clickhouse` / `clay` / 56개** | Tailwind Play CDN | Tailwind CDN + 폰트 CDN | 브랜드 무드 적용, 인터넷 연결 필요 | ### 테마별 적합 슬라이드 (자동 추천) | 발표 성격 | 추천 design_system | |-----------|-------------------| | 사업계획서·보고서·편집성 (기본) | `claude` (warm editorial, 크림+코랄) | | 기술·데이터·엔지니어링·다크 프로젝터 | `clickhouse` (dark tech) | | 제품 소개·SaaS·스타트업 | `notion` (light minimalism) | | 마케팅·키노트·임팩트 | `spotify`·`nike` (bold) | ### getdesign.md 미리보기 링크 각 design_system 값에 대해 [`references/design-system-links.md`](references/design-system-links.md)의 `https://getdesign.md/<slug>` 링크로 상세 페이지를 안내합니다. 사용자가 테마 선택 전 링크를 열어 팔레트·타이포그래피·무드를 직접 확인할 수 있습니다. 56개 시스템 전체 매핑표(저장