academic-presentations について
academic-presentations は、研究者向けに論文とユーザー指定のアウトラインからスライドを作るスキルです。ナレーションやデモ動画も任意で作成でき、構成とビジュアルの判断はユーザーが行い、エージェントが制作工程を実行します。
主な機能
- 01指定アウトラインに沿ったスライド原稿の作成
- 02nanobanana によるスライドの生成・編集
- 03スライドごとのナレーション生成(任意)
- 04ffmpeg による動画作成(任意)
- 05PPTX スライドの画像変換
活用シーン
- 01研究論文を学術発表にまとめる
- 02論文の既存図表を使ったスライド制作
- 03スライド用ナレーションの生成
- 04スライド、音声、デモ録画の動画化
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ boom5426/ nature-paper-skills --skill academic-presentationsインストール後、Claude Code で/academic-presentationsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/pptx-conversion.mdslide-generation.mdtts-engines.mdscripts/batch_tts_edge.pybatch_tts_kokoro.py詳細
学術プレゼンテーション
研究論文からスライドデッキ(および任意でナレーション付きデモ動画)を作成します。アウトラインとビジュアルに関する判断はすべて人間が行い、エージェントはその作業を実行します。
パイプライン
[1] Script Draft ──→ [2] Slide Generation ──→ [3] TTS Audio (optional) ──→ [4] Video Assembly (optional)
Claude Code nanobanana /edit edge-tts / Kokoro / ElevenLabs ffmpeg
スライドのみを出力する場合は、ステージ 3~4 をスキップします。ユーザーはどのステージからでも開始できます。
ステージ 1:台本/アウトライン
入力:論文+ユーザーが提示したアウトラインまたはスライドプラン
出力:video-scripts.md または slide-outline.md — スライドごとの内容と話すポイント
エージェントは、ユーザーのアウトラインに基づいて台本を作成します。構成を決めるのはユーザーです。エージェントはスライドの枚数、順序、強調する内容を決定しません。
ステージ 2:スライドの生成
詳細なリファレンス:references/slide-generation.md
ツール:nanobanana(Gemini CLI 拡張機能)
優先順位(編集を優先):
- 論文の図がある → nanobanana の
/editでスライドフレームに組み込む - 既存のスライドがある →
/editで調整する - ユーザー提供の参考資料(例:NotebookLM からの資料、またはユーザーが作成した PPTX)→
/editで仕上げる - タイトルスライドを一から作成 → 学術スタイルのプロンプトで生成する
- コンテンツスライドを一から作成 → デッキスタイルの前文を付けて生成する
重要な原則:一から生成するよりも、高品質な既存の論文図に対して /edit を使うことを優先します。
デッキスタイル:デッキごとに deck-style.md を一度作成し、一から生成するすべてのプロンプトの先頭に追加します。/edit では、スタイルはベース画像から引き継がれます。
deck-style.md の例:
- Canvas: 1920x1080, white background
- Accent: #2563EB blue, text: #1e293b dark slate
- Clean sans-serif, flat design, no gradients/shadows
- Bottom bar: blue accent with white affiliation text
ステージ 3:TTS 音声(任意)
詳細なリファレンス:references/tts-engines.md
バッチスクリプト:scripts/batch_tts_edge.py、scripts/batch_tts_kokoro.py
出力:ナレーション付きスライドごとに音声ファイルを 1 つ
エンジンの選択
| エンジン | 品質 | コスト | レイテンシ | 最適な用途 |
|---|---|---|---|---|
| edge-tts(デフォルト) | とても良い | 無料、無制限 | 約 6 秒/スライド(クラウド) | 素早い生成、男性音声の品質が良い |
| Kokoro | とても良い | 無料、無制限 | 約 1.5 秒/スライド(ローカル) | オフライン利用、高速な一括処理、女性音声の品質が良い |
| ElevenLabs | プレミアム | 月 10k 文字まで無料 | 約 3 秒/スライド(クラウド) | 最高品質、音声クローン |
デフォルト:ユーザーがオフライン利用またはプレミアム品質を希望しない限り、edge-tts を使用します。
クイックスタート(edge-tts)
import edge_tts, asyncio
async def tts_slide(text, output, voice="en-US-AndrewNeural"):
await edge_tts.Communicate(text, voice).save(output)
asyncio.run(tts_slide("Your slide text here", "slide_01.mp3"))
音声:AndrewNeural(男性、プレゼンター)、AriaNeural(女性)、GuyNeural(男性、温かみのある声)、JennyNeural(女性、プロ向け)
ステージ 4:動画の組み立て(任意)
ツール:ffmpeg
入力:スライド PNG + 音声ファイル + 任意のデモ録画
# Use symlink to avoid iCloud path spaces: ln -sfn "long path" /tmp/workdir
# Slide with audio:
ffmpeg -y -loop 1 -i slide.png -i audio.mp3 \
-c:v libx264 -tune stillimage -pix_fmt yuv420p \
-c:a aac -ar 44100 -ac 2 -shortest seg.mp4
# Silent slide (N seconds):
ffmpeg -y -loop 1 -i slide.png -f lavfi -i anullsrc=r=44100:cl=stereo \
-c:v libx264 -tune stillimage -pix_fmt yuv420p \
-c:a aac -ar 44100 -ac 2 -t N seg.mp4
# Concat (always re-encode, never -c copy):
printf "file 'seg1.mp4'\nfile 'seg2.mp4'\n..." > concat.txt
ffmpeg -y -f concat -safe 0 -i concat.txt \
-c:v libx264 -pix_fmt yuv420p -c:a aac -ar 44100 -ac 2 final.mp4
すべてのセグメントで、サンプルレート 44100Hz、ステレオ、AAC コーデックを共通して使用する必要があります。
PPTX 変換(必要な場合)
詳細なリファレンス:references/pptx-conversion.md
既存の PPTX から始める場合は、まずスライドを PNG 画像に変換します:
soffice --headless --convert-to pdf --outdir output/ presentation.pptx
pdftoppm -png -r 300 output/presentation.pdf output/slide
NotebookLM — 人間が参考にする場合のみ
エージェントは NotebookLM を自動で呼び出したり、その出力をスライドや台本の判断に利用したりしてはいけません。 アウトライン、ビジュアルの配置、デッキの方向性を決めるのは人間です。
推奨する場合:ユーザーがスライドに何を載せるべきか迷っている、またはアイデアが必要だと言った場合に限ります。
注意点
- iCloud のパスに空白があると ffmpeg が動作しません —
/tmp/にシンボリックリンクを作成してください - 音声形式の不一致は連結時のエラーにつながります — 必ず
-ar 44100 -ac 2を指定して再エンコードしてください - ElevenLabs の無料枠 —
mp3_22050_32のみ、月 10k 文字 - edge-tts にはインターネット接続が必要です — オフラインの場合は Kokoro に切り替えます
- Kokoro の WAV ファイルは約 7 倍のサイズになります — 動画の組み立て前に ffmpeg で MP3 に変換してください
- Kokoro は初回起動時に約 350MB のモデルをダウンロードします — venv に pip があることを確認してください
/editで図が歪む場合があります — 「元の図を完全にそのまま保ち、フレームの追加のみを行ってください」と、より明確に指示してください- スライド間でスタイルがぶれる場合があります — ベーススライドから
/editを使うか、共有のdeck-style.mdを先頭に追加してください
依存関係
| ツール | ステージ | インストール |
|---|---|---|
| Gemini CLI + nanobanana | 2 | gemini extensions install https://github.com/gemini-cli-extensions/nanobanana |
| LibreOffice + poppler | 2(PPTX) | brew install --cask libreoffice && brew install poppler |
| edge-tts | 3 | pip install edge-tts |
| Kokoro | 3(オフライン) | pip install kokoro soundfile |
| ElevenLabs | 3(プレミアム) | pip install elevenlabs + ELEVENLABS_API_KEY |
| ffmpeg | 4 | brew install ffmpeg |