luuuyi

PPT Presenter — 带逐字稿的演讲级PPT生成器

オフィス効率化v1.2.0
作者:luuuyi更新日 2026-05-11全 3 バージョン · 最新版の公開日 2026-03-11ppt-presenter@clawhub_lewislulu/ppt-presenter
スライド作成議事録#Pipeline

AlphaMoatによると、2026-09時点でPPT Presenter — 带逐字稿的演讲级PPT生成器のダウンロード数は4,317、スター数は2で、AIスキル全体5,078件中2,282位、オフィス効率化では435件中194位です。

インストール数
980
ダウンロード数
4317
スター数
2
総合順位
#2,282
全体の上位 45% · オフィス効率化の上位 45%
プラットフォームインストール数ダウンロード数スター数コメント
ClawHub ↗311195--
SkillHub ↗98043172—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

テーマ、メモ、markdown から、まず構成とページ数の計画を作り、次に各ページのタイトル、ボードの説明、登壇メモを生成し、ページごとに画像も用意します。成果物は HTML スライドで、reveal.js は CDN から読み込みローカル依存はありません。画像生成には Gemini の API キーが必要です。 デッキは CDN から reveal.js を読み込み、画像生成要求を Gemini に送信します。利用が承認されていない機密情報は含めないでください。

資料公開日 2026-10-27

できること

  • markdown のメモから逐字原稿付きの共有スライドを作る。
  • 技術共有に向けてプレゼンタービューと各ページのメモを用意する。

使う場面

  • 逐字の原稿が必要な技術共有や基調講演を準備するとき。
  • ローカル依存なしでブラウザからそのまま発表したいとき。

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

この markdown のメモから逐字原稿付きの共有スライドを作って。
このスライドの各ページに画像と登壇メモを追加して。

月次の推移

ダウンロード数4317
1245289545452026-03 · ダウンロード数 14732026-05 · ダウンロード数 29362026-07 · ダウンロード数 35872026-08 · ダウンロード数 37442026-09 · ダウンロード数 431726-0326-09
スター数2
0122026-03 · スター数 -2026-05 · スター数 12026-07 · スター数 22026-08 · スター数 22026-09 · スター数 226-0326-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-094317—2
2026-083744+4.4%2
2026-073587—2
2026-052936—1
2026-031473—-

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

7.3 KB・ClawHub v1.2.0
---
name: ppt-presenter
description: Create professional HTML presentations with complete word-for-word speaker scripts (逐字稿) and presenter view. Use when user asks to create a presentation, PPT, slides, tech sharing, keynote, or talk. Core feature: every slide comes with a full speaker script (150-300 words) visible in presenter view (press S) — so you can present confidently without memorizing anything. Full pipeline: (1) content planning and outline, (2) per-slide content with three-audience-layer explanations, (3) AI-generated whiteboard illustrations via Gemini API, (4) reveal.js HTML assembly with lightbox, (5) word-for-word 逐字稿 in presenter view. Also use when asked to add speaker notes, generate slide images, or convert markdown notes into a presentation.
---

# PPT Presenter — 带逐字稿的演讲级PPT生成器

为每一页生成完整演讲逐字稿 + 演讲者视图,让你自信上台不怯场。

## Pipeline Overview
すべて表示(全 203 行)

```
User Topic/Notes
     ↓
1. Content Planning (outline + page count)
     ↓
2. Per-Slide Content (title, board description, speaker notes)
     ↓
3. Image Generation (Gemini 3 Pro Image, one per slide)
     ↓
4. HTML Assembly (reveal.js + lightbox + presenter view)
     ↓
5. Speaker Scripts (word-for-word 逐字稿 in <aside class="notes">)
```

## Step 1: Content Planning

From user's topic, notes, or markdown files, produce an outline:

- Determine audience (technical level, mixed audiences)
- Plan 15-25 slides grouped into 4-7 sections
- Each section gets a divider slide (colored section number + title)
- Structure: Opening hook → Sections → Quick Start → Takeaway + Q&A

If user provides existing markdown/text content, read it and restructure into slide outline. Ask user to confirm page count and structure before proceeding.

## Step 2: Per-Slide Content

For each slide, define:
- **Page title** — concise, with emoji prefix
- **Visual description** — what to draw on a whiteboard (colors, layout, diagrams)
- **Key content** — bullet points, tables, code blocks, comparison charts
- **Speaker script** — 150-300 words per slide, conversational tone, can be read aloud directly

For mixed audiences, write three-layer explanations:
- 编程小白 (beginners): metaphors, daily-life analogies
- 职场白领 (business): ROI, efficiency, practical scenarios  
- 开发人员 (developers): architecture, code, protocols

Write content to a markdown file first for user review, then proceed to image generation.

## Step 3: Image Generation

Generate one whiteboard-style illustration per slide using Gemini API.

Use the script: `scripts/generate_slide_images.py`

```bash
python3 scripts/generate_slide_images.py \
  --prompts-file prompts.json \
  --output-dir ./images \
  --api-key "$GEMINI_API_KEY"
```

### Prompt Guidelines

- Style: "whiteboard marker drawing, hand-drawn educational style, colorful markers (red, blue, green, orange)"
- Include Chinese text in prompts when audience is Chinese
- Describe specific visual elements: diagrams, flowcharts, comparison tables, icons
- Keep prompts under 500 chars for best results

### API Details

- Model: `gemini-3-pro-image-preview` (preferred) or `imagen-4.0-generate-001`
- Endpoint: `https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent`
- Request body for Gemini 3:
  ```json
  {
    "contents": [{"parts": [{"text": "Generate this image: {prompt}"}]}],
    "generationConfig": {"responseModalities": ["IMAGE", "TEXT"]}
  }
  ```
- Response: `candidates[0].content.parts[].inlineData.data` (base64)
- Rate limit: add 2-3 second delay between requests
- Retry on network errors (SSL EOF, connection reset)

### Finding API Key

Check TOOLS.md for `Gemini Image Generation` section, or ask user for API key.

## Step 4: HTML Assembly

Use the template: `assets/reveal-template.html`

### Structure

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <!-- reveal.js 5.1.0 from CDN -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/reveal.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/theme/black.css">
  <!-- Custom styles (see template) -->
</head>
<body>
<div class="reveal"><div class="slides">
  <!-- Section dividers: colored background gradient + section number -->
  <section data-background-gradient="...">
    <div class="section-num">1</div>
    <h2>Section Title</h2>
  </section>
  
  <!-- Content slides -->
  <section>
    <h2>Slide Title</h2>
    <!-- Content: .two-col, .three-col, .card, table, .code-block, .timeline -->
    <aside class="notes">Speaker script here...</aside>
  </section>
</div></div>

<!-- Lightbox overlay (see template) -->
<!-- reveal.js init + lightbox JS (see template) -->
</body>
</html>
```

### Key CSS Classes (defined in template)

| Class | Use |
|-------|-----|
| `.card` | Dark rounded content box |
| `.two-col` / `.three-col` | Flex column layouts |
| `.code-block` | Styled code with `.comment`, `.cmd`, `.flag` |
| `.warning-box` | Red-border alert box |
| `.slide-img` | Clickable image (max-height 420px) |
| `.flow-box` + `.flow-arrow` | Horizontal flow diagrams |
| `.timeline` + `.timeline-item` | Vertical timeline with colored dots |
| `.tag-blue/green/red/orange/purple` | Colored pill tags |
| `.accent/.green/.red/.blue/.purple/.yellow/.pink` | Text colors |
| `.checklist` | Checkbox-style list |
| `.photo-row` | Horizontal image gallery |
| `.gradient-text` | Gradient colored heading |

### Lightbox Feature

All images with `.slide-img`, `.slide-img-large`, `.slide-img-full`, or inside `.photo-row` are clickable. Clicking opens fullscreen lightbox with:
- Left/right navigation (arrows + keyboard)
- Counter (current/total)
- Close button + ESC key
- Pauses reveal.js keyboard while open

The lightbox JS is included in the template.

### reveal.js Configuration

```javascript
Reveal.initialize({
  hash: true,
  slideNumber: 'c/t',
  transition: 'slide',
  width: 1280,
  height: 720,
  margin: 0.06,
  plugins: [RevealHighlight, RevealNotes]
});
```

Keyboard hints shown at bottom: `← → 翻页 · S 演讲者视图 · F 全屏 · O 总览`

## Step 5: Speaker Scripts

Add `<aside class="notes">` to every content slide (not section dividers).

### Script Guidelines

- **Length**: 150-300 words per slide (1-2 minutes speaking time)
- **Tone**: Conversational, as if speaking to audience directly
- **Structure**: Hook → explain visual → key points → transition to next
- **Language**: Match audience language (Chinese for Chinese audience)
- **Include**: Analogies, real examples, audience engagement ("大家看...")
- **Avoid**: Reading bullet points verbatim; scripts should expand on slide content

### Presenter View

User presses `S` to open presenter view showing:
- Current slide (left)
- Speaker notes/script (right)  
- Next slide preview
- Timer

## Output Checklist

Before delivering, verify:
- [ ] All slides have titles with emoji prefixes
- [ ] All content slides have `<aside class="notes">` with full scripts
- [ ] All slide images generated and saved to `images/` directory
- [ ] Images use `.slide-img` class (clickable lightbox)
- [ ] Section dividers have colored backgrounds and section numbers
- [ ] Lightbox JS is included and functional
- [ ] reveal.js loads from CDN (no local dependencies)
- [ ] File opens correctly in browser (`open index.html`)

オフィス効率化の人気スキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。