본문으로 건너뛰기
cccskills
무료GitHub에 공개

slidekit-templ

Convert PDF presentations to HTML slide templates using a visual reproduction approach. Pipeline: PDF → slide screenshots → Claude writes HTML matching each screenshot. Use when the user wants to convert a PDF to HTML slide templates, reproduce a presentation as HTML, or create reusable templates from existing decks. Triggers: 'pdf to html', 'convert pdf to template', 'reproduce this deck as html', 'create template from pdf'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(2)

  • SKILL.md5.4 KB
  • scripts/pdf_to_images.py2.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

PDF to HTML Slide Converter

Convert PDF presentations to high-fidelity HTML slides by visually reproducing each slide from screenshots.

Pipeline

PDF → (pdftoppm) → Slide images
                        ↓
    Claude reads each image + writes HTML
                        ↓
         001.html, 002.html, ... + print.html

Dependencies

brew install poppler

Workflow

Phase 1: Generate Slide Images

python ~/.claude/skills/pdf-to-html/scripts/pdf_to_images.py input.pdf output_dir

This produces output_dir/slide-01.jpg, slide-02.jpg, etc.

Phase 2: Analyze the Deck

Before writing any HTML:

  1. Read ALL slide images to understand the full deck
  2. Identify the color palette (3-4 colors: primary dark, accent, secondary)
  3. Identify the font style (serif/sans-serif, weight patterns)
  4. Note the header/footer pattern used across content slides
  5. Note the overall style (creative, elegant, modern, professional, minimalist)

Phase 3: Load Design System

Read these files to load the HTML design system rules:

  1. ~/.claude/skills/slidekit-create/SKILL.md — Mandatory constraints, PPTX conversion rules, anti-patterns, design guidelines, HTML boilerplate, pre-delivery checklist
  2. ~/.claude/skills/slidekit-create/references/patterns.md — 15 layout patterns with DOM trees, component snippets

All rules in slidekit-create apply. Key constraints:

  • Slide size: 1280x720px
  • Tailwind CSS 2.2.19 + Font Awesome 6.4.0 + Google Fonts via CDN
  • No JavaScript
  • Root DOM: <body> → single wrapper <div>
  • Text in <p> / <h*> (not <div>)
  • No text in ::before / ::after

Phase 4: Write HTML Slides

For each slide image, one at a time:

  1. Read the slide image carefully
  2. Pick the closest layout pattern from slidekit-create's 15 patterns
  3. Write the HTML that visually reproduces the slide:
    • Match colors precisely (use hex values observed in the image)
    • Match text content exactly (all text, numbers, labels)
    • Match spatial layout (element positions, proportions)
    • Use the consistent header/footer across content slides
    • Use Font Awesome icons where the original has icons or bullets
  4. Save as {output_dir}/{NNN}.html (zero-padded: 001.html, 002.html, ...)

HTML Boilerplate

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8" />
    <meta content="width=device-width, initial-scale=1.0" name="viewport" />
    <title>{Slide Title}</title>
    <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet" />
    <link href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/css/all.min.css" rel="stylesheet" />
    <link href="https://fonts.googleapis.com/css2?family={PrimaryFont}:wght@300;400;500;700;900&family={AccentFont}:wght@400;600;700&display=swap" rel="stylesheet" />
    <style>
        body { margin: 0; padding: 0; font-family: '{PrimaryFont}', sans-serif; overflow: hidden; }
        .font-accent { font-family: '{AccentFont}', sans-serif; }
        .slide { width: 1280px; height: 720px; position: relative; overflow: hidden; }
        /* Custom color classes: .bg-brand-dark, .bg-brand-accent, .bg-brand-sub, etc. */
    </style>
</head>
<body>
    <div class="slide">
        <!-- Content -->
    </div>
</body>
</html>

Phase 5: Generate print.html

After all slides are written, generate {output_dir}/print.html:

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8" />
    <title>View for Print</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { background: #FFFFFF; }
        .slide-frame {
            width: 1280px; height: 720px;
            margin: 20px auto;
            box-shadow: 0 2px 10px rgba(0,0,0,0.15);
            border: 1px solid #e2e8f0;
            overflow: hidden;
        }
        .slide-frame iframe { width: 1280px; height: 720px; border: none; }
        @media print {
            body { background: #FFFFFF; }
            .slide-frame {
                page-break-after: always; box-shadow: none; border: none;
                margin: 0 auto;
                transform: scale(0.85); transform-origin: top center;
            }
        }
    </style>
</head>
<body>
    <!-- One iframe per slide -->
    <div class="slide-frame"><iframe src="001.html"></iframe></div>
    ...
</body>
</html>

Phase 6: Visual QA

Compare each generated HTML against the original screenshot.

For each slide:

  1. Read the original slide image (slide-NN.jpg)
  2. Read the generated HTML file
  3. Check for:
    • Missing or incorrect text
    • Wrong colors or color contrast issues
    • Layout misalignment (elements shifted, wrong proportions)
    • Missing decorative elements (bars, shapes, badges)
    • Overflow or clipping issues
  4. Fix any issues found
  5. Re-verify after fixes

Do not declare success until at least one full comparison pass reveals no issues.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

imgen

무료

Azure OpenAI画像生成CLIツール (gpt-image-1.5 / gpt-5.1)。テキストから画像生成、画像のAI編集、画像の内容説明を行う。Use when the user wants to (1) generate images using Azure OpenAI, (2) edit existing images with AI, (3) explain image contents. Triggers on "画像を生成", "画像を編集", "画像の説明", "generate an image", "edit this image", "describe this image", "imgenで".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nogataka/SlideKit302026년 3월 19일 업데이트

pptx

무료

Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nogataka/SlideKit302026년 3월 19일 업데이트

Generate HTML slide presentations (1 slide = 1 HTML file, 1280x720px) using Tailwind CSS, Font Awesome, and Google Fonts. Use when the user asks to create a new presentation deck or slide HTML files. Covers design guidelines, 43 layout patterns, component library, and PPTX conversion compatibility rules. Supports style selection (creative, elegant, modern, professional, minimalist) and theme selection (marketing, portfolio, business, technology, education).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

nogataka/SlideKit302026년 3월 19일 업데이트

nogataka의 스킬 모두 보기

이 스킬의 문제 신고