home / skills / ntaksh42 / agents / html-presentation

html-presentation skill

/.claude/skills/html-presentation

This skill generates professional HTML presentations using reveal.js from markdown content, with responsive design, code highlighting, and speaker notes.

npx playbooks add skill ntaksh42/agents --skill html-presentation

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
7.4 KB
---
name: html-presentation
description: Generate HTML-based presentations with reveal.js or similar frameworks. Use when creating web-based presentations.
---

# HTML Presentation Generator Skill

HTMLベースのプレゼンテーションを生成するスキルです。reveal.jsを使用した美しく、インタラクティブなスライドショーを作成できます。

## 概要

このスキルは、マークダウン形式のコンテンツから、プロフェッショナルなHTMLプレゼンテーションを自動生成します。

## 主な機能

- **reveal.jsベース**: 業界標準のプレゼンテーションフレームワーク
- **レスポンシブデザイン**: あらゆる画面サイズに対応
- **豊富なテーマ**: 複数のビルトインテーマ
- **コードハイライト**: プログラミングコードの美しい表示
- **PDF出力対応**: プレゼンテーションをPDFとしてエクスポート可能
- **スピーカーノート**: 発表者用のメモ機能
- **アニメーション**: スライド遷移とフラグメントアニメーション

## 使用方法

### 基本的な使い方

```
HTMLプレゼンテーションを作成してください。
タイトル: "C++のメモリ管理"
スライド内容:
1. イントロダクション
2. メモリリークの問題
3. スマートポインタ
4. まとめ
```

### カスタマイズオプション

```
以下の設定でHTMLプレゼンテーションを作成:
- テーマ: black
- トランジション: slide
- コードハイライト: monokai
- タイトル: "技術プレゼンテーション"
```

## 生成されるファイル

```
presentation/
├── index.html          # メインのプレゼンテーションファイル
├── README.md           # 使い方ガイド
└── assets/             # カスタムアセット(オプション)
    ├── images/
    └── code/
```

## サポートする機能

### 1. スライドの種類

- **タイトルスライド**: プレゼンテーションの表紙
- **コンテンツスライド**: 通常のコンテンツ
- **コードスライド**: シンタックスハイライト付きコード表示
- **2カラムレイアウト**: 左右分割レイアウト
- **画像スライド**: 画像メインのスライド

### 2. テーマオプション

利用可能なテーマ:
- `black` (デフォルト): ダークテーマ
- `white`: ライトテーマ
- `league`: グレーベース
- `beige`: ベージュ
- `sky`: ブルー系
- `night`: ダーク + コントラスト
- `serif`: セリフフォント
- `simple`: シンプル
- `solarized`: Solarizedカラー

### 3. トランジション効果

- `none`: トランジションなし
- `fade`: フェード
- `slide`: スライド(デフォルト)
- `convex`: 凸面
- `concave`: 凹面
- `zoom`: ズーム

### 4. コードハイライト

サポートする言語:
- C/C++
- C#
- Python
- JavaScript
- Java
- Rust
- Go
- その他多数

## 実装例

### 例1: 技術プレゼンテーション

**入力:**
```
C#とC++の相互運用についてのプレゼンテーションを作成。
スライド:
1. タイトル: "C# ⇔ C++ Interop"
2. なぜ相互運用が必要か
3. P/Invokeの基本
4. コード例
5. まとめ
```

**生成される内容:**
- reveal.jsベースのフルHTMLプレゼンテーション
- 各スライドが適切にフォーマットされている
- コード例がハイライトされている
- レスポンシブ対応

### 例2: データ可視化プレゼン

**入力:**
```
データ分析結果のプレゼンを作成。
テーマ: white
グラフや図を含むスライドを5枚
```

**生成される内容:**
- Chart.jsまたはD3.jsを統合したスライド
- データ可視化の実例
- インタラクティブな要素

## プレゼンテーションの実行

生成されたプレゼンテーションを表示するには:

```bash
# ローカルサーバーを起動
cd presentation
python -m http.server 8000

# ブラウザで開く
# http://localhost:8000
```

または、単純に `index.html` をブラウザで開くだけでも動作します。

## キーボードショートカット

プレゼンテーション実行時の操作:

- `→` / `Space`: 次のスライド
- `←`: 前のスライド
- `↑` / `↓`: 縦方向のナビゲーション
- `Home` / `End`: 最初/最後のスライド
- `ESC` / `O`: スライド一覧表示
- `S`: スピーカーノート表示
- `F`: フルスクリーン
- `B` / `.`: 画面を黒く/白く(プレゼン中断時)
- `?`: ヘルプ表示

## PDF出力

プレゼンテーションをPDFとして保存:

1. ChromeまたはChromiumベースのブラウザで開く
2. URLに `?print-pdf` を追加: `index.html?print-pdf`
3. ブラウザの印刷機能で「PDFとして保存」

## カスタマイズ

### CSSカスタマイズ

```html
<style>
.reveal h1 {
    color: #42A5F5;
}

.reveal code {
    background: #272822;
    padding: 2px 6px;
}
</style>
```

### JavaScriptカスタマイズ

```javascript
Reveal.initialize({
    controls: true,
    progress: true,
    center: true,
    hash: true,
    transition: 'slide'
});
```

## ベストプラクティス

1. **1スライド1メッセージ**: 情報を詰め込みすぎない
2. **視覚的に**: 図やコードを活用
3. **コントラスト**: テーマに合わせた配色
4. **フォントサイズ**: 最小でも24px以上
5. **アニメーション控えめ**: 過度なエフェクトは避ける

## トラブルシューティング

### reveal.jsが読み込まれない

CDNから読み込んでいるため、インターネット接続を確認してください。
オフライン使用の場合は、reveal.jsをローカルにダウンロードして参照を変更します。

### コードハイライトが機能しない

highlight.jsが正しく読み込まれているか確認してください。
言語指定が正しいか確認(例: `language-cpp`)

### スライドが表示されない

ブラウザの開発者コンソールでエラーを確認してください。
多くの場合、HTMLの構文エラーやJavaScriptのエラーです。

## 高度な使い方

### 縦方向のスライド

```html
<section>
    <section>メイントピック1</section>
    <section>詳細1-1</section>
    <section>詳細1-2</section>
</section>
```

### フラグメント(段階的表示)

```html
<ul>
    <li class="fragment">最初に表示</li>
    <li class="fragment">次に表示</li>
    <li class="fragment">最後に表示</li>
</ul>
```

### スピーカーノート

```html
<aside class="notes">
    これは発表者だけに見えるノートです。
    重要なポイントをメモしておけます。
</aside>
```

## 参考リンク

- [reveal.js 公式ドキュメント](https://revealjs.com/)
- [reveal.js GitHub](https://github.com/hakimel/reveal.js)
- [コード例集](https://revealjs.com/demo/)

## 制限事項

- インターネット接続が必要(CDN使用時)
- 最新のブラウザ推奨(IE11非対応)
- 大量の画像使用時はパフォーマンスに注意

## バージョン情報

- reveal.js: 4.5.0
- highlight.js: 11.8.0

---

**使用例:**

```
次のトピックでプレゼンテーションを作成してください:
- タイトル: "Agentベース開発"
- テーマ: night
- スライド5枚
- コード例を含む
```

このプロンプトで、完全なHTMLプレゼンテーションが生成されます!

Overview

This skill generates polished HTML-based presentations using reveal.js or similar frameworks. It converts markdown or structured input into responsive, interactive slide decks with themes, code highlighting, and speaker notes. The output is ready to view in a browser or export to PDF.

How this skill works

Provide slide content, title, and optional settings (theme, transition, code theme) and the skill produces a presentation folder with index.html and assets. It integrates reveal.js, highlight.js, and optional Chart/D3 hooks for data visualization. The generated HTML supports speaker notes, fragments, vertical slides, and keyboard navigation.

When to use it

  • Creating a web-first slide deck from markdown or structured prompts
  • Sharing interactive technical talks with code samples and syntax highlighting
  • Producing printable PDFs from a live HTML presentation
  • Embedding charts or interactive visualizations in slides
  • Rapidly iterating presentation themes and layouts for web demos

Best practices

  • Keep one main idea per slide to maintain clarity
  • Use fragments for stepwise reveals rather than crowding a single slide
  • Choose contrast-appropriate themes and maintain minimum 24px font size
  • Limit heavy animations and large images to preserve performance
  • Verify highlight.js language tags for accurate code styling

Example use cases

  • Technical talk: generate slides with C++ and C# code examples and syntax highlighting
  • Data report: build a 5-slide deck integrating Chart.js charts and export to PDF
  • Workshop: create two-column slides for exercises and solutions
  • Marketing demo: produce an image-heavy deck using a light theme for client review
  • Lecture notes: add speaker notes and vertical subsections for topic breakdowns

FAQ

Can I export the presentation to PDF?

Yes — open the generated index.html in Chrome/Chromium with ?print-pdf appended, then use the browser print dialog to save as PDF.

Do I need an internet connection to run the slides?

By default reveal.js and highlight.js load from CDNs, so an internet connection is required. For offline use, download the libraries and update the references to local files.