From SLIDE.md
Generates SLIDE-DECK.md design document by auto-selecting slide templates from user input. Accepts text, Markdown, PDF. Useful for creating AI-ready presentation blueprints.
How this skill is triggered — by the user, by Claude, or both
Slash command
/slide-md:slide-deck-builderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
プレゼンの内容を入力すると、カレントディレクトリにあるSLIDE.mdとSLIDE-PATTERN-*.mdを自動で読み込み、各スライドにパターンを割り当てた設計書(SLIDE-DECK.md)を生成する。
プレゼンの内容を入力すると、カレントディレクトリにあるSLIDE.mdとSLIDE-PATTERN-*.mdを自動で読み込み、各スライドにパターンを割り当てた設計書(SLIDE-DECK.md)を生成する。
生成されたSLIDE-DECK.mdにはデザインシステムとスライドパターンの定義がすべて埋め込まれるため、AIツールにこのファイル1枚を渡すだけでスライドを生成できる。
slide-scenario-creator で作成したシナリオがあるかを最初に確認する。
SLIDE-SCENARIO-*.md が渡されたか、またはカレントディレクトリの SLIDE-SCENARIO/ フォルダにファイルがあるかを確認する(複数ある場合は一覧を提示して選んでもらう)title / audience / purpose / slide_count を読み取り、以下のように要約して確認する:「シナリオ
SLIDE-SCENARIO-{name}.mdを読み込みました。以下の内容でスライドを設計します。
- タイトル:[title]
- 対象者:[audience]
- 目的:[purpose]
- 枚数:[slide_count]
よろしいですか?」
プレゼンの基本情報を1問ずつヒアリングする。
「今回のプレゼンのタイトルを教えてください。(例:「2026年度 営業戦略」「新サービスのご提案」)」
「このプレゼンは誰に向けたものですか?番号で選ぶか、自由に入力してください。
- 社内の上司・役員
- 顧客・取引先
- 社内チーム・同僚
- カンファレンス・一般聴衆
- その他(自由に入力してください)」
「このプレゼンの目的を教えてください。番号で選ぶか、自由に入力してください。
- 状況報告・定例報告
- 提案・新サービス説明
- 教育・研修・勉強会
- 意思決定を求める(承認・予算獲得など)
- イベント・発表
- マニュアル・手順書
- その他(自由に入力してください)」
(この選択肢は slide-scenario-creator の「①資料の目的」と共通。変更する場合は両スキルを揃えること)
「スライドは何枚くらいにしたいですか?決まっていない場合は「おまかせ」で構いません。」
4問が揃ったら内容をまとめて確認する:
「以下の内容でスライドを設計します。
- タイトル:[タイトル]
- 対象者:[対象者]
- 目的:[目的]
- 枚数:[枚数 or おまかせ]
よろしいですか?」
承認を得たらSTEP 2へ進む。
以下のいずれかの形式でプレゼンの内容を受け取る:
何も提供されていない場合、以下のように尋ねる:
「プレゼンの内容を教えてください。アウトライン・箇条書き・文章・Markdownファイルなどどんな形式でも構いません。」
内容を受け取ったら「受け取りました。デザインシステムを確認します。」と伝え、STEP 3へ進む。
カレントディレクトリ内の SLIDE-md/SLIDE-md-*/SLIDE.md を検索する。
「デザインシステムとして
SLIDE-md/SLIDE-md-{source}/SLIDE.mdが見つかりました。これを使用しますか?」
承認を得たら読み込む。
各ファイルのOverview(マッチするシーン)を読み取って以下の形式で提示する:
「以下のデザインシステムが見つかりました。どれを使いますか?番号で教えてください。
SLIDE-md/SLIDE-md-{source1}— [SLIDE.mdのOverview「マッチするシーン」の内容]SLIDE-md/SLIDE-md-{source2}— [同上] ...」
選ばれたファイルを読み込む。
カレントディレクトリに1件も見つからない場合、この SKILL.md ファイルのあるフォルダから見て ../../docs/SLIDE-md/SLIDE-md-*/SLIDE.md(プラグインとしてインストールした場合に同梱されるサンプルデザインシステム)を検索する。
見つかったら「複数件見つかった場合」と同じ形式で一覧を提示し、選ばれたフォルダ(SLIDE.md と sample.html)をカレントディレクトリの SLIDE-md/ にコピーしてから読み込む(以後のプロジェクトで再利用できるようにするため)。
プラグイン同梱サンプルも見つからない場合:
「デザインシステム(SLIDE.md)が
SLIDE-md/フォルダに見つかりませんでした。slide-md-creatorスキルでSLIDE.mdを先に生成してから、このスキルを再度呼び出してください。」
→ スキルを終了する。
選択されたSLIDE.mdの全内容(Overview・Colors・Typography・Layout・Slide Frame・Component Style・Do/Don't の全セクション)を読み込んで保持し、STEP 4へ進む。
STEP 1のブリーフとSTEP 2のコンテンツをもとにスライド構成を生成し、ユーザーに提示する。
goal(相手にどうしてほしいか)・structure(構成の型)と各アジェンダ項目の「想定枚数」を尊重して構成する「以下のスライド構成を提案します。順番・内容・枚数の変更があれば教えてください。
- [表紙] タイトル・対象者・日付
- [アジェンダ] 本日の流れ
- [セクション見出し] ○○について
- [箇条書き] ○○の現状と課題
- [データ] 数値・グラフ
- [セクション見出し] 解決策
- [箇条書き] 提案内容 ... N. [まとめ] 今日のポイントと次のステップ
このアウトラインでよいですか?」
変更があれば反映して再提示し、承認を得たらSTEP 5へ進む。
カレントディレクトリの SLIDE-PATTERN/SLIDE-PATTERN-INDEX.md を読み込む。
カレントディレクトリに見つからない場合、この SKILL.md ファイルのあるフォルダから見て ../../docs/SLIDE-PATTERN/SLIDE-PATTERN-INDEX.md(プラグインとしてインストールした場合に同梱されるパターン集)を読み込む。この場合、STEP 6 でのパターン定義ファイルの読み込みも同じ場所の SLIDE-PATTERN-{name}/SLIDE-PATTERN-{name}.md から行う。
プラグイン同梱パターンも見つからない場合:
「
SLIDE-PATTERN/SLIDE-PATTERN-INDEX.mdが見つかりませんでした。SLIDE-PATTERN/フォルダにスライドパターンが存在するか確認し、存在する場合はslide-pattern-creatorスキルを呼び出してインデックスを生成してください。」
→ スキルを終了する。
SLIDE-PATTERN-INDEX.md に記載された各パターンの「概要」と「適したシーン」を参照し、STEP 4で確定した各スライドに最適なパターンを選ぶ。同じパターンを複数スライドに使い回してよい。
カテゴリごとに探す際の参考対応:
| スライドの種類 | 参照するカテゴリ |
|---|---|
| 表紙 | 🎯 表紙・セクション |
| アジェンダ・目次 | 📋 目次 |
| セクション見出し | 🎯 表紙・セクション |
| 箇条書き本文 | 📝 テキストリスト・✏️ コンテンツ(本文) |
| フロー・手順 | ➡️ フロー・ステップ |
| 図解・関係図 | 🔄 図解・ダイアグラム |
| カード・特徴列挙 | 🃏 カード・グリッド |
| グラフ・データ | 📊 グラフ・データ |
| 比較・テーブル | 📑 テーブル・比較 |
| KPI・実績 | 🏆 KPI・まとめ |
| まとめ | 🏆 KPI・まとめ |
| Q&A | ❓ Q&A・FAQ |
| プロフィール・登壇者 | 👤 プロフィール |
割り当て表をテキストで見せるだけでは、ユーザーはどんなレイアウトが選ばれたのかイメージできない。割り当てが決まったら、提示と同時に SLIDE-DECK/pattern-preview.html を生成する(SLIDE-DECK/ フォルダがなければ作成する。このファイルは使い捨ての確認用のため、既存のものがあれば上書きしてよい)。
プレビューの構成:
<a href="https://sho-ai-magic.github.io/slide.md/" target="_blank"> で「全パターンをギャラリーで見る ↗」というボタン(例:padding:10px 20px; border-radius:999px; background:#1A73E8; color:#FFF; font-size:14px; font-weight:700; text-decoration:none)。候補以外のパターンから選びたいときはギャラリーで全127種類を確認できるcode 表記)・INDEXに書かれた概要の1行border:3px solid #1A73E8)にし、「割り当て」バッジを付けて区別するサムネイルの実装(画像は作らず、既存のスケルトンHTMLをiframeで縮小埋め込みする):
.thumb {
width: 384px; height: 236px; overflow: hidden; position: relative;
border: 1px solid #DDD; border-radius: 8px; background: #FFF;
}
.thumb iframe {
width: 1540px; height: 940px; border: 0;
transform: scale(0.25); transform-origin: top left;
pointer-events: none;
}
src には各パターンのスケルトンHTMLを指定する。カレントディレクトリにある場合はプレビューHTMLから見た相対パス(../SLIDE-PATTERN/SLIDE-PATTERN-{name}/SLIDE-PATTERN-{name}.html)、プラグイン同梱パターンを使っている場合はその絶対パスを指定する表示にはローカルサーバーが必須(file://直開きでは表示できない):
pattern-preview.html は同一階層にない別のローカルHTMLファイルをiframeで読み込む構成のため、file:// で直接開くとブラウザのセキュリティ制限によりiframeの中身が空白になる(ダブルクリックで開いた場合や、プレビューパネルがファイルパスをそのまま渡す場合に起きる)。表示確認は必ず http:// 経由で行う。
カレントディレクトリの .claude/launch.json を確認し、カレントディレクトリ全体(SLIDE-DECK/ と SLIDE-PATTERN/ の両方を含む親フォルダ)を配信する設定が無ければ追記する(既存の設定は消さず末尾に追加する)。無ければ以下の形式で新規作成する:
{
"version": "0.0.1",
"configurations": [
{
"name": "patterns-root",
"runtimeExecutable": "python3",
"runtimeArgs": ["-m", "http.server", "{空いているポート番号}", "--directory", "{カレントディレクトリの絶対パス}"],
"port": {空いているポート番号}
}
]
}
そのサーバーを起動し、http://localhost:{port}/SLIDE-DECK/pattern-preview.html を開いて表示を確認する
ユーザーへの提示時にも、直接ファイルを開くのではなく上記のローカルサーバー経由で開くよう明記する
「各スライドにパターンを割り当てました。
スライド 種類 割り当てパターン Slide 1 表紙 {pattern-name}Slide 2 アジェンダ {pattern-name}...
SLIDE-DECK/pattern-preview.htmlで、割り当てたパターンと代替候補をサムネイルで確認できます(file://で直接開くとサムネイルが空白になるため、ローカルサーバー『{launch.jsonの設定名}』を起動してから開いてください)。 変更したいものがあれば「Slide番号 → 変更先のパターン名(または 候補A / 候補B)」の形式で教えてください。この割り当てでよいですか?」
HTMLのプレビュー表示機能が使える環境(Claude Code のプレビュー等)では、上記のローカルサーバーを起動した上で該当URLを開き、生成後にそのまま表示してよい。
変更があれば反映し、pattern-preview.html も再生成してから再提示する。承認を得たらSTEP 6へ進む。
確定したブリーフ・アウトライン・パターン割り当てをもとにSLIDE-DECK.mdを生成する。
フォルダ名はSTEP 1のタイトルから英小文字・ハイフンのみの識別子を生成する。
2026-eigyo、「新製品発表」→ new-product)deck-YYYYMMDD 形式を使う(例:deck-20260604)出力先:カレントディレクトリ内の SLIDE-DECK/ フォルダの中に SLIDE-DECK-{name}/ フォルダを作成して保存する:
SLIDE-DECK/SLIDE-DECK-{name}/SLIDE-DECK-{name}.md
以下の順番でSLIDE-DECK.mdを組み立てる:
SLIDE-PATTERN/SLIDE-PATTERN-{name}/SLIDE-PATTERN-{name}.md を読み込み、全内容をそのままコピーして貼り付ける。使用しないパターンは含めない)以下のテンプレートに従って出力する。各 [ ] に実際の値を入れる。YAMLはコードブロックではなく4スペースインデントで記述する。
出力ファイル:SLIDE-DECK/SLIDE-DECK-{name}/SLIDE-DECK-{name}.md
このファイル1枚をAIツール(Claude Design、NotebookLM、Google Slides等)に渡すだけでスライドを生成できます。デザイン定義・レイアウトパターン・スライド構成の全情報がこのファイルに含まれています。
deck:
title: "[タイトル]"
audience: "[対象者]"
purpose: "[目的]"
slide_count: [N]
以下はSLIDE.mdのデザインシステム定義です。全スライドのデザインはこの定義に従ってください。
[STEP 3で読み込んだSLIDE.mdの全内容をここにそのまま貼り付ける。Overview・Colors・Typography・Layout・Slide Frame・Component Style・Do/Don'tのすべてのセクションを含める]
以下は使用するスライドパターンの定義です。各スライドの「pattern:」に指定されたパターン名と照合してレイアウト構造を確認してください。
[SLIDE-PATTERN-{name1}.mdの全内容をここにそのまま貼り付ける。Overview・Structure・Elements・Usage Guideのすべてのセクションを含める]
[SLIDE-PATTERN-{name2}.mdの全内容をここにそのまま貼り付ける]
(使用するパターンが3件以上ある場合も同様に繰り返す)
各スライドの構成とコンテンツひな型です。「pattern:」に指定されたパターン定義を上記「Slide Patterns」から参照し、各エリアにコンテンツを入れてスライドを生成してください。
slide:
number: 1
type: "[cover / section / bullets / data / summary 等]"
pattern: "[pattern-name]"
コンテンツひな型:
[割り当てたSLIDE-PATTERNのElementsテーブルの各エリアを行として記述する。値の部分は「[○○を入れてください]」形式のひな型テキストにする。アウトラインの内容から推測できる場合はその内容を仮入力する]
例(bullet-listパターンの場合):
AIへの指示: 上記の「Design System」と「Pattern: [pattern-name]」の定義に従い、このスライドを作成してください。
slide:
number: 2
type: "[種類]"
pattern: "[pattern-name]"
コンテンツひな型: [同様に記述]
AIへの指示: 上記の「Design System」と「Pattern: [pattern-name]」の定義に従い、このスライドを作成してください。
(以降、アウトラインの全スライド分を同じ形式で繰り返す)
SLIDE-DECK.md生成後、以下のようにユーザーに伝える:
「
SLIDE-DECK/SLIDE-DECK-{name}/SLIDE-DECK-{name}.mdを生成しました。このファイル1枚をAIツールに添付するだけでスライドを生成できます。デザインシステムと使用したスライドパターン([N]件)の定義がすべて1ファイルにまとめられています。」
npx claudepluginhub sho-ai-magic/slide.md --plugin slide-mdGenerates a professionally designed HTML slide deck from a brief or content notes. Single-file output with 13 layout types and 8 style presets.
Generates slide deck images from content with configurable styles, slide counts, and audience targeting. Can output outlines, prompts, images, or merge into PDF/PPTX.
Creates brand-aware presentations using frontend-slides or reveal.js with automated brand setup and source structure detection.