name: create-seminar-slides
description: Exploratoryセミナー用のスライドを自動作成する。構成案→スライド詳細→PPTX生成の3ステップをオーケストレーションし、各ステップでユーザー確認を挟む。
トリガー: "セミナースライド作成", "スライド作って", "プレゼン作成", "create seminar slides"
使用場面: (1) セミナーのテーマからスライドを一貫して作成する (2) 構成案からPPTXまでの全工程を自動化する
Exploratoryセミナースライド自動作成スキル
概要
セミナーのテーマ・参考情報から、構成案→スライド詳細→PPTXファイルまでを3ステップで自動作成するオーケストレーションスキル。各ステップでユーザー確認を挟み、フィードバックを反映しながら進める。
全体フロー
[入力: テーマ + 参考URL + 制約条件]
|
[ステップ1: 構成案作成]
|
[★ ユーザー確認 → 修正ループ(最大2回)]
|
[ステップ2: スライド詳細作成]
|
[★ ユーザー確認 → 修正ループ(最大2回)]
|
[ステップ3: PPTX生成 + Visual QA]
|
[★ ユーザー確認 → 修正ループ]
|
[出力: .pptx ファイル]
必要な入力
ユーザーから以下の情報を受け取る(不足分は AskUserQuestion で確認):
| 項目 | 必須 | デフォルト |
|---|
| セミナーテーマ/タイトル | 必須 | — |
| 参考URL | 任意 | — |
| 対象者 | 確認 | Exploratory既存ユーザー |
| 発表形式 | 確認 | プレゼン+デモ |
| 発表時間 | 確認 | 40分 |
| 重点テーマ | 任意 | — |
| 出力先フォルダ | 任意 | ./output/ |
ステップ1: 構成案作成
1-1. ヒアリング
上記の必要な入力のうち、ユーザーが提供していない項目を AskUserQuestion で確認する。
1-2. 情報収集(並列サブエージェント)
2つのサブエージェントを並列で起動する。
参考URL リサーチャー
Task:
description: "参考URL リサーチ: {テーマ}"
subagent_type: general-purpose
prompt: |
以下の参考URLから情報を収集してください。
## テーマ
{テーマ}
## 参考URL
{URLリスト}
## 指示
- 各URLの内容をWebFetchで取得する
- Exploratoryのノートページ(exploratory.io/note/)はURLの末尾に /note_content/note.html を付けて取得する
- セミナーの構成に使えるポイントを整理して返す
- 数字・データ・具体的なユースケースを優先的に抽出する
補完リサーチャー
Task:
description: "補完リサーチ: {テーマ}"
subagent_type: general-purpose
prompt: |
以下のテーマについて、WebSearchで補完情報を収集してください。
## テーマ
{テーマ}
## 指示
- テーマに関する最新動向・ベストプラクティスをWebSearchで調査する
- 類似セミナーの構成例があれば参考にする
- 競合ツールとの比較ポイントを整理する
- 聴衆が関心を持ちそうなFAQを想定する
1-3. 構成案作成
リサーチ結果を統合し、seminar-outline スキルのフォーマットに従って構成案を作成する。
Task:
description: "構成案作成: {テーマ}"
subagent_type: general-purpose
prompt: |
以下のリサーチ結果を基に、セミナーの構成案を作成してください。
## テーマ
{テーマ}
## 制約条件
- 対象者: {対象者}
- 発表形式: {発表形式}
- 発表時間: {発表時間}
- 重点テーマ: {重点テーマ}
## 参考URLリサーチ結果
{ステップ1-2の結果}
## 補完リサーチ結果
{ステップ1-2の結果}
## 構成案のフォーマット・ルール
{seminar-outline/SKILL.md の「Step 3: 構成案の作成」「構成設計の原則」「時間別のセクション数目安」セクションを埋め込む}
1-4. ユーザー確認(★ ゲート1)
構成案をユーザーに提示し、確認を求める。
ストーリー構成案を作成しました。以下の点を確認してください:
1. 全体のストーリーラインは意図通りか
2. セクション構成と時間配分は適切か
3. デモの配置と内容は妥当か
4. 追加・削除したいセクションはあるか
修正が必要な場合はフィードバックをお願いします。
OKなら「OK」「次へ」等で進めてください。
- ユーザーがフィードバックを返した場合 → 修正して再提示(最大2回)
- ユーザーがOKした場合 → 構成案をファイルに保存し、ステップ2へ
保存先: {出力先フォルダ}/{テーマ}_構成案.md
ステップ2: スライド詳細作成
構成案を基に、スライド1枚ごとの詳細を作成する。
Task:
description: "スライド詳細作成: {テーマ}"
subagent_type: general-purpose
prompt: |
以下の構成案を基に、スライドの詳細を作成してください。
## 構成案
{ステップ1で確定した構成案}
## スライド詳細のフォーマット・ルール
{seminar-slides-detail/SKILL.md の全内容を埋め込む}
2-1. ユーザー確認(★ ゲート2)
スライド詳細をユーザーに提示し、確認を求める。
スライド詳細を作成しました。以下の点を確認してください:
1. 各スライドのレイアウト構成は適切か
2. コンテンツの文言・数字は正確か
3. スピーカーノートの内容は自然か
4. スライド枚数は多すぎ/少なすぎないか
5. デモの流れ詳細は実行可能か
修正が必要な場合はフィードバックをお願いします。
OKなら「OK」「次へ」等で進めてください。
- ユーザーがフィードバックを返した場合 → 修正して再提示(最大2回)
- ユーザーがOKした場合 → スライド詳細をファイルに保存し、ステップ3へ
保存先: {出力先フォルダ}/{テーマ}_スライド詳細.md
ステップ3: PPTX生成
スライド詳細を基に、PptxGenJSでPPTXファイルを生成する。
3-1. PPTX生成
pptx スキルの「Creating from Scratch」フローに従い、exploratory-slides スキルのデザインガイドを適用する。
重要: 以下のスキルファイルを必ず読み込んでから作業する:
pptx/pptxgenjs.md — PptxGenJSのAPI・ベストプラクティス
exploratory-slides/SKILL.md — Exploratoryセミナー固有のデザインルール
手順:
1. pptx/pptxgenjs.md を読み込む
2. exploratory-slides/SKILL.md を読み込む
3. スライド詳細の各スライドをPptxGenJSのコードに変換する
4. デザインガイドのカラー・フォント・レイアウトルールを厳守する
5. create_slides.js を生成して実行する
3-2. Visual QA(必須)
pptx スキルのQAセクションに従い、Visual QAを実行する。
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
サブエージェントで画像を検査する。プロンプトには exploratory-slides のVisual QAチェックリストを含める:
- 背景色チェック(スライド1のみダーク、それ以外は白)
- カラーチェック(アクセントは
#4CA872 のみ)
- タイポグラフィチェック(Hiragino Sans / Helvetica Neue のみ)
- レイアウトチェック(装飾なし、シンプルな箇条書き)
- 日本語テキスト折り返しチェック
- スペーシングチェック
3-3. ユーザー確認(★ ゲート3)
PPTXファイルを生成しました。Visual QAの結果:
[QA結果のサマリー]
ファイル: {出力先フォルダ}/{テーマ}.pptx
Keynoteで開いて確認してください。修正が必要な場合はフィードバックをお願いします。
- ユーザーがフィードバックを返した場合 → 修正して再生成・再QA
- ユーザーがOKした場合 → 一時ファイルをクリーンアップして完了
出力ファイル
完了時に以下のファイルが出力される:
| ファイル | 内容 |
|---|
{テーマ}_構成案.md | ストーリー構成案 |
{テーマ}_スライド詳細.md | スライドごとのレイアウト・コンテンツ・スピーカーノート |
{テーマ}.pptx | 最終PPTXファイル |
途中から再開する場合
すべてを最初からやる必要はない。ユーザーが途中成果物を持っている場合:
| 持っているもの | 開始ステップ |
|---|
| テーマのみ | ステップ1から |
| 構成案(MD) | ステップ2から |
| スライド詳細(MD) | ステップ3から |
| 構成案 + 修正指示 | ステップ1-4(修正)から |
ユーザーが既存のMDファイルを指定した場合は、それを読み込んで該当ステップから再開する。
実行時の注意
- リサーチは並列でサブエージェントを使い、コンテキストを節約する
- 各サブエージェントにはスキルファイルの内容を直接プロンプトに埋め込む(ファイルパスの参照ではなく)
- ユーザーが修正版を提供した場合は、常にその修正版をベースとして扱う
- PPTX生成時は
pptx スキルと exploratory-slides スキルの両方を参照する
- スクリーンショットや画像素材が必要な場合は、ユーザーに提供を依頼する