Communitygithub.com

atlantis-mk/remotion-video-template

与えられたテーマをもとに、ダークな情報グラフィックスタイルの口述動画を自動生成します。台本作成、音声合成(豆包TTS)、ストーリーボードと素材取得、Remotionアニメーション、レンダリング、サムネイルと公開文案の作成までを一貫して行います。「作成開始」や「口述動画/情報グラフィック/経済・テクノロジー解説動画を作って」といった指示で起動します。横長・縦長両対応。

remotion-video-template とは?

このスキルは、与えられたテーマに基づいて、ダークな情報グラフィック(GI)スタイルの口述動画を完全自動で生成するAIエージェント用テンプレートです。台本作成、豆包TTSによる音声合成、AIによるストーリーボードと素材管理、Remotionを使ったアニメーション制作、最終的な動画・サムネイルレンダリング、さらに各プラットフォーム向けの公開文案作成までを一貫して実行します。ユーザーが「作成開始」と指示するだけで、ステップ0から9までの固定ワークフローが自動的に進行します。横長(1920×1080)と縦長(1080×1440)の両方に対応し、配布テンプレートの参照ファイル(STYLE、MOTION、COMPONENTS、LAYOUTなど)に従って、一貫したデザインルールが適用されるのが特徴です。スクリプトはPython標準ライブラリのみで動作し、Node 18+、ffmpeg、ffprobeが必要です。APIキーは.envファイルで管理され、チャットに直接貼り付けたり、他のTTSエンジンに変更することは禁止されています。また、数字には必ず出典を明記し、権利不明の素材は使用しないなど、厳格なルールの下で高品質な動画を生産できるように設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/atlantis-mk/remotion-video-template/tree/HEAD/.agents/skills/remotion-infographic-video

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

情報グラフィック口述動画

配置とディレクトリ構造(アーキテクチャ v1.11)

  • デリバリルートに AGENTS.md(本テンプレートの使い方)が存在すること。本スキルは .agents/skills/remotion-infographic-video/ に固定配置。
  • tests/ はリポジトリルート(.agents/ と同階層)にあり、開発CI用であり、スキル実行時には不要。スキルのみをコピーする際は複製しない。
  • .env はこのスキルディレクトリ内のみに配置し、リポジトリルートには置かない。

使用前の準備(コピーしてすぐ使う)

  1. コピー方法:
    • リポジトリ全体:デリバリリポジトリをクローン/コピーしてルートを開く(ルートの AGENTS.md と tests/ を含む)。
    • スキルのみ:.agents/skills/remotion-infographic-video/ をターゲットプロジェクトの同名パスにコピーする(scripts/ とその下の lib/ を含む)。
    • スキルパッケージ自体に pip や npm インストールは不要。scripts/ はPython標準ライブラリのみ使用し、.env を設定後、ステップ0〜5を実行可能。
  2. .env の設定: 本スキルディレクトリで cp .env.example .env を実行し、.env を編集する:
    • 必須: DOUBAO_TTS_API_KEY=(=の後にキーを記述。引用符不要)
    • オプション: DOUBAO_SPEAKER=(デフォルト音声は VOICE 参照)
    • .env は .gitignore で無視されている。キーをチャットに貼り付けたり、他のTTSエンジンに変更してはならない。
  3. 環境要件(スクリプトが自動インストールすることはない): Node 18+、Python 3、ffmpeg、ffprobe、インターネット接続。
  4. 制作開始: ユーザーが「作成開始」または同等の意図を示した場合:
    • 最初に python3 scripts/check_env.py を実行する(--skill-dir <スキルパッケージの絶対パス> オプション可能。デフォルトはカレントディレクトリ)。
    • 終了コード3:.agents/skills/remotion-infographic-video/.env(またはスキルパッケージの絶対パス下の .env)に DOUBAO_TTS_API_KEY を設定するよう促す。ユーザーが「設定完了」と返答したら再実行する。それまでは音声合成もプロジェクト構築も行わない。
    • チェック通過後:メッセージ内にすでにテーマがあればそのまま固定ステップへ進む。そうでなければテーマを1回だけ尋ねる(必要に応じて「縦長」を明記可能。デフォルトは横長1920×1080、縦長1080×1440。ルールは LAYOUT 参照)。プラットフォーム名は画角に影響しない。

絶対ルール

  • APIキーは本スキルディレクトリの .env(デリバリリポジトリでは .agents/skills/remotion-infographic-video/.env)の DOUBAO_TTS_API_KEY からのみ読み取る。ユーザーにチャットでキーを貼らせたり、他のTTSエンジンに変更したり、出力にキーを表示してはならない。
  • 公開・アップロードは行わない:成果物は動画ファイル、サムネイル、文案ファイルのみを生成する。
  • 数字には必ず出典が必要。画面上の数字には出典ソースのアイコンを表示。イラストには「イメージ」と明記する。
  • 各スクリプトのstdout最終行はJSON形式のサマリーとする。終了コードで処理を分岐する: 3 キー不足(.env 設定を促し停止)、4 認証失敗(停止)、5 先行成果物の修正、6 失敗項目のみ再実行、7 修復モード。

固定ステップ

  1. 事前チェック: python3 scripts/check_env.py。終了コード3の場合は上記の手順で .env を設定後、再実行。
  2. テーマ決定: topic、slug、画角を確定し、<slug>/job.json を作成(画角指定がない場合は横長をデフォルトとする)。ユーザーがプラットフォームを指定した場合は platforms に記録し、それ以外は PUBLISH のデフォルトプラットフォームに従う。
  3. 台本作成: script.md(## Sxx セグメント名 + - [01] テキスト {context: … | rate: 0 | pause: 300})と sources.md(末尾にjsonブロック)を作成し、python3 scripts/validate.py sources <slug>/script.md <slug>/sources.md を実行。出典のない数字は削除するか、出典を追加する。
  4. 音声合成: 環境に同等の入出力を持つMCP音声合成ツール(tts_synthesize)が利用可能であればそれを使用し、そうでなければ python3 scripts/tts_doubao.py <slug>/script.md --out-dir <slug>/voice を実行。両者の出力する timeline.json は同一スキーマ(assets/schemas/)で検証する: python3 scripts/validate.py timeline <slug>/voice/timeline.json。失敗したセンテンスは --only で再実行。
  5. ストーリーボード: storyboard.json を作成(各センテンスが少なくとも1つのショットでカバーされ、セグメントトランジションとショットの出現方法は列挙値から選択)。python3 scripts/validate.py storyboard <slug>/storyboard.json --timeline <slug>/voice/timeline.json を実行。
  6. 素材: python3 scripts/fetch_asset.py の add で各素材を登録。prune で未使用素材を削除。権利が不明な素材は使用禁止。
  7. プロジェクト構築: python3 scripts/scaffold_project.py --job <slug>/job.json --out <slug>/project でプロジェクトを生成し、サンプル(assets/example/)を参考に各セグメントのシーンを作成。次に python3 scripts/build_timeline.py --timeline <slug>/voice/timeline.json --storyboard <slug>/storyboard.json --subtitles <slug>/voice/subtitles.json --manifest <slug>/assets-manifest.json --project <slug>/project を実行。その後、プロジェクト内で npm ci。
  8. セルフチェック: bash scripts/check_project.sh < slug>。失敗した場合は check/report.json を読んで修正後、最大3回まで再実行。それでも失敗した場合は停止して報告。
  9. レンダリング: bash scripts/render.sh <slug> で動画(<slug>/out/video.mp4)とサムネイル(<slug>/publish/cover_<W>x<H>.png)を生成し、自動検証。
  10. 公開文案と納品: PUBLISH に従い、各ターゲットプラットフォーム向けに publish/<platform>/title.txt、description.txt、タグはプラットフォームごとに publish/<platform>/tags.txt(1行1タグ)を作成。python3 scripts/validate.py publish <slug>、python3 scripts/validate.py deliverable <slug>、python3 scripts/validate.py leak <slug> を実行。最後に python3 scripts/fetch_asset.py credits-diff --manifest <slug>/assets-manifest.json --slug-dir <slug> でクレジット表示の確認を行う。

スタイルの絶対ルール概要

  • カラー、フォントサイズ、アニメーション値は assets/tokens.json のみから取得。背景色は #070A0F をベースとする。シーンコードに色値を直接記述しない(STYLE)。
  • 出現アニメーションは統一してスプリング。セグメントトランジションは5種類、ショット出現は3種類。ストーリーボードで指定された列挙値に従う(MOTION)。
  • 使用するコンポーネントはレジストリ内の15個のみ。リスト外のものはプロジェクト内で新規作成し、tokens + useLayout() を使用する(COMPONENTS)。
  • レイヤーは background / scene / hud / subtitle の4層のみ。エンドクレジット画面はない。動画の長さ = 音声の長さ。
  • 乱数は random(seed) のみ使用。Math.random は禁止。
  • レイアウトはキャンバスの幅と高さから導出する。src/ 内でキャンバスサイズを記述できるのは src/layout/presets.ts のみ(LAYOUT)。
  • 台本の記法は SCRIPT、音声合成パラメータは VOICE、素材のライセンスとクレジットは ASSETS を参照。

禁止事項

  • いかなるプラットフォームにも公開・アップロードしない。
  • キーを漏洩しない:表示しない、成果物に書き込まない、ユーザーにチャットで貼らせない、他のTTSエンジンに変更しない。
  • 権利が不明な素材を使用しない。クレジット、説明文、タイトルにリンクを掲載しない。
  • データを捏造しない:出典のない数字は台本に含めず、画面にも表示しない。
  • テーマ決定後、納品までの間はユーザーに質問したり、素材を要求したりしない。

納品

deliverable.json の内容を一度に報告する:動画ファイルパスと長さ、画角、サムネイル、各プラットフォームのタイトルと説明文、タグ、素材クレジット、出力ディレクトリ、備考。

関連スキル