Presentation Planning Skill
新しいプレゼンテーションの企画・スライド構成を支援するスキル。 AskUserQuestionで徹底的に質問し、発表時間やテーマに合わせた最適なスライド構成を提案する。
作業フロー
Phase 0: ブランチ作成
mainブランチからプレゼン専用ブランチを作成する。
- •現在のブランチを確認
- •mainブランチでない場合は警告
- •ブランチ名をユーザーに確認(例:
fluttergakkai_10,my_conference_2025) - •
git checkout -b <branch_name>でブランチ作成
code
Header: "Branch" Question: "プレゼン用ブランチ名を教えてください(例: fluttergakkai_10)" Options: - イベント名で自動生成: イベント名からブランチ名を提案 - 手動入力: 自分でブランチ名を指定
注意: 既にプレゼン用ブランチにいる場合はこのフェーズをスキップする。
Phase 1: 基本情報収集
AskUserQuestionで以下を順番に確認する。
Question 1: 発表の目的
code
Header: "Purpose" Question: "発表の目的を教えてください" Options: - 技術共有・勉強会: 技術的な知見やノウハウを共有 - プロダクト紹介・デモ: 製品やサービスのデモンストレーション - カンファレンス登壇: 技術カンファレンスでの発表 - 社内報告・レビュー: 社内向けの報告や振り返り
Question 2: 発表時間
code
Header: "Duration" Question: "発表時間はどのくらいですか?" Options: - 5分(LT): ライトニングトーク形式 - 15分(ショートセッション): 短めのセッション - 30分(通常セッション): 標準的なセッション - 45分以上(ロングセッション): 長めのセッション
Question 3: 対象者
code
Header: "Audience" Question: "聴衆のレベルは?" Options: - 初心者・入門者: 基礎から丁寧に説明が必要 - 中級者: ある程度の前提知識あり - 上級者・エキスパート: 深い技術的議論が可能 - 混合: 様々なレベルの人が参加
Phase 2: コンテンツ収集
Question 4: 原案の有無
code
Header: "Draft" Question: "発表内容の原案はありますか?" Options: - Markdownで原案がある: 構造化された原稿がある - 箇条書きのメモがある: ポイントをまとめたメモがある - アイデアのみ: これから内容を考える - 既存資料を変換したい: 他形式の資料がある
Question 5: 原案入力(原案がある場合)
原案がある場合は、ユーザーに貼り付けを依頼:
「原案やメモをここに貼り付けてください。Markdown形式でもプレーンテキストでも構いません。」
Question 6: 主要トピック(原案がない場合)
原案がない場合は、主要トピックを質問:
「発表で伝えたい主要なトピックを教えてください。複数ある場合は箇条書きで記載してください。」
Phase 3: デザイン選択
Question 7: テーマ・雰囲気
code
Header: "Theme" Question: "プレゼンの雰囲気は?" Options: - プロフェッショナル: シンプルでクリーンなデザイン - テック: ダークテーマでモダンな印象 - カジュアル: 明るく親しみやすい雰囲気 - カスタム: 具体的な色やスタイルを指定
Question 8: コード表示量
code
Header: "Code" Question: "コードの表示量は?" Options: - 多い: コード中心の発表 - 普通: 適度にコードを含む - 少ない: 概念中心の発表 - なし: コードは使用しない
Phase 4: 構成提案
収集した情報を基に以下を生成・提案する。
時間配分ガイドライン
| 発表時間 | スライド数目安 | 1枚あたり時間 |
|---|---|---|
| 5分(LT) | 5-8枚 | 40-60秒 |
| 15分 | 12-18枚 | 50-75秒 |
| 30分 | 20-30枚 | 60-90秒 |
| 45分以上 | 30-45枚 | 60-90秒 |
スライド番号規則
code
01-09: オープニング - 01: タイトル - 02: 自己紹介(任意) - 03: アジェンダ 10-79: メインコンテンツ - 10-19: 導入・背景 - 20-69: 本題 - 70-79: デモ(任意) 80-89: まとめ - 80-85: サマリー - 86-89: 補足・参考 90-99: クロージング - 90: まとめスライド - 95: Q&A(任意) - 99: Thank you / クロージング
構成案の表示形式
markdown
## 提案するスライド構成 ### 時間配分 - 総発表時間: XX分 - スライド数: XX枚 - 1枚あたり: 約XX秒 ### スライド一覧 | # | ファイル名 | タイトル案 | テンプレート | 時間目安 | |---|-----------|-----------|-------------|---------| | 01 | 01_title_slide.dart | プレゼンタイトル | .title | 1分 | | 02 | 02_agenda_slide.dart | アジェンダ | .blank | 1分 | | ... | ... | ... | ... | ... |
Phase 5: 確認と生成
Question 9: 構成の確認
提案した構成を表示し、確認を求める:
code
Header: "Confirm" Question: "この構成でスライドを生成しますか?" Options: - はい、生成する: 提案通りに生成 - 修正したい: 変更点を指定 - 最初からやり直す: Phase 1に戻る
修正要望がある場合は、具体的な変更点を確認してから再提案。
スライド生成
承認後、以下を実行:
- •
lib/config/speaker_info.dartを更新(名前、肩書き、タイトル等) - •
lib/slides/に各スライドファイルを作成 - •
lib/slides/slides.dartのバレルファイルを更新 - •
lib/main.dartの slides リストを更新 - •選択されたテーマを
lib/config/theme_config.dartに反映(必要な場合)
Phase 6: 次のステップ案内
生成完了後、以下を案内する:
- •
/flutter-deck-slideで個別スライドの追加・編集が可能 - •
/update-ogpでOGPメタタグの更新を推奨 - •
/preview-slidesでプレビュー確認を推奨
スライドテンプレート参照
各スライドは flutter-deck-slide スキルのテンプレートを使用する。
主要なテンプレート:
- •
.title()- タイトルスライド - •
.blank()- カスタムレイアウト - •
.split()- 2カラム - •
.image()- フルスクリーン画像 - •
.bigFact()- 大きい数字/テキスト - •
.quote()- 引用
注意事項
- •各質問は1つずつ順番に行う(一度に複数質問しない)
- •ユーザーの回答に応じて次の質問を調整する
- •構成提案は必ず時間配分を含める
- •生成前に必ず最終確認を行う
- •既存スライドがある場合は上書きについて確認する