name: new-presentation description: 新しいプレゼンテーションの企画・構成を支援。「新しいプレゼン」「プレゼン作成」「発表準備」「登壇準備」などで発動。 allowed-tools: Read, Write, Edit, Glob, Grep, Bash(git:), Bash(flutter:)
Presentation Planning Skill
新しいプレゼンテーションの企画・スライド構成を支援するスキル。 AskUserQuestionで徹底的に質問し、発表時間やテーマに合わせた最適なスライド構成を提案する。
作業フロー
Phase 0: ブランチ作成
mainブランチからプレゼン専用ブランチを作成する。
- 現在のブランチを確認
- mainブランチでない場合は警告
- ブランチ名をユーザーに確認(例:
fluttergakkai_10,my_conference_2025) git checkout -b <branch_name>でブランチ作成
Header: "Branch"
Question: "プレゼン用ブランチ名を教えてください(例: fluttergakkai_10)"
Options:
- イベント名で自動生成: イベント名からブランチ名を提案
- 手動入力: 自分でブランチ名を指定
注意: 既にプレゼン用ブランチにいる場合はこのフェーズをスキップする。
Phase 1: 基本情報収集
AskUserQuestionで以下を順番に確認する。
Question 1: 発表の目的
Header: "Purpose"
Question: "発表の目的を教えてください"
Options:
- 技術共有・勉強会: 技術的な知見やノウハウを共有
- プロダクト紹介・デモ: 製品やサービスのデモンストレーション
- カンファレンス登壇: 技術カンファレンスでの発表
- 社内報告・レビュー: 社内向けの報告や振り返り
Question 2: 発表時間
Header: "Duration"
Question: "発表時間はどのくらいですか?"
Options:
- 5分(LT): ライトニングトーク形式
- 15分(ショートセッション): 短めのセッション
- 30分(通常セッション): 標準的なセッション
- 45分以上(ロングセッション): 長めのセッション
Question 3: 対象者
Header: "Audience"
Question: "聴衆のレベルは?"
Options:
- 初心者・入門者: 基礎から丁寧に説明が必要
- 中級者: ある程度の前提知識あり
- 上級者・エキスパート: 深い技術的議論が可能
- 混合: 様々なレベルの人が参加
Phase 2: コンテンツ収集
Question 4: 原案の有無
Header: "Draft"
Question: "発表内容の原案はありますか?"
Options:
- Markdownで原案がある: 構造化された原稿がある
- 箇条書きのメモがある: ポイントをまとめたメモがある
- アイデアのみ: これから内容を考える
- 既存資料を変換したい: 他形式の資料がある
Question 5: 原案入力(原案がある場合)
原案がある場合は、ユーザーに貼り付けを依頼:
「原案やメモをここに貼り付けてください。Markdown形式でもプレーンテキストでも構いません。」
Question 6: 主要トピック(原案がない場合)
原案がない場合は、主要トピックを質問:
「発表で伝えたい主要なトピックを教えてください。複数ある場合は箇条書きで記載してください。」
Phase 3: デザイン選択
Question 7: テーマ・雰囲気
Header: "Theme"
Question: "プレゼンの雰囲気は?"
Options:
- プロフェッショナル: シンプルでクリーンなデザイン
- テック: ダークテーマでモダンな印象
- カジュアル: 明るく親しみやすい雰囲気
- カスタム: 具体的な色やスタイルを指定
Question 8: コード表示量
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秒 |
スライド番号規則
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 / クロージング
構成案の表示形式
## 提案するスライド構成
### 時間配分
- 総発表時間: XX分
- スライド数: XX枚
- 1枚あたり: 約XX秒
### スライド一覧
| # | ファイル名 | タイトル案 | テンプレート | 時間目安 |
|---|-----------|-----------|-------------|---------|
| 01 | 01_title_slide.dart | プレゼンタイトル | .title | 1分 |
| 02 | 02_agenda_slide.dart | アジェンダ | .blank | 1分 |
| ... | ... | ... | ... | ... |
Phase 5: 確認と生成
Question 9: 構成の確認
提案した構成を表示し、確認を求める:
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つずつ順番に行う(一度に複数質問しない)
- ユーザーの回答に応じて次の質問を調整する
- 構成提案は必ず時間配分を含める
- 生成前に必ず最終確認を行う
- 既存スライドがある場合は上書きについて確認する