Communitygithub.com

Bang Motion

バン・モーションスタイルでリールをレンダリングします。多層の光る水平線の背景、浮遊するカラーメッシュブロブ、生きたフィルムグレイン、すりガラスUIカード、エディトリアル風キネティックタイポグラフィ、呼吸するカメラ、アンチPPTペーシングを備えた、ハイエンドなシネマティックモーショングラフィックスです。ユーザーが「シネマティックモーショングラフィック」「プロモオープナー」「プロダクトローンチリール」「キネティックタイポグラフィ」「SaaSプロダクトツアー」「ガラスモーフィックUI」「アンチスライド」と発言したり、デッキではなく映像のように動く動画を依頼した場合に使用します。

Bang Motion とは?

Bang Motionは、Webブラウザ上で動作するハイエンドなシネマティックモーショングラフィックを生成するためのAIエージェントスキルです。HTML/CSS/GSAPで構成された単一のindex.htmlを出力し、プレゼンテーションスライドではなく、まるで本物の映像のように動く動画を実現します。GSAP(GreenSock Animation Platform)をアニメーションエンジンとして使用し、システムクロックに依存しない決定論的なアニメーションを実現。フレームごとに正確にスクラブできるため、After Effectsのようなタイムライン操作が可能です。このスキルは、プロモーション動画、オープナー、製品紹介リール、キネティックタイポグラフィ、SaaS製品ツアー、ガラスモーフィックUIなど、あらゆるモーショングラフィックに対応。さらに、カートゥーン・教育アニメ、ジャーナリズムビジュアル、コラージュスタイルなど、5つのエクスプレーナーモードもサポートしています。出力形式はWebブラウザでそのまま再生可能なHTMLファイルで、Node.jsやPythonのインストールは必須ではありませんが、ffmpegを使用したフレーム単位のMP4書き出しや、Puppeteerによる自動スクリーンショットにも対応します。スキルはRemotion、fframes、kyframの3つのエンジンに対応しており、統合パイプライン内で`MOTION_STYLE`環境変数としてスタイル名を指定するだけで利用できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/boytegar/motion-skills/tree/main/style/bang-motion

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

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

ドキュメント

Bang Motion — PPTではないモーショングラフィックWeb


モーションエクスプレーナーライブラリ. 以下は、単一の自己完結型index.html(HTML + CSS + GSAP)のためのスタンドアロンのBang Motionディレクターズマニュアルです。このライブラリ内では、同じルックが3つのエンジンとしても出荷されており、通常のパイプラインに配線されているため、他のスタイルと同様にリールで使用できます。

  • style.json: マニフェスト (bang-motion, キャンバス1080x1920、30 fps、エンジン remotion, fframes, kyfram)
  • remotion/: kit/ (GlowHorizon, GrainyMeshBlob, GlassCard, KineticTitle, StatusPill, BangBanner, GlassCaptions, LivingGrain), template/, sync_kit.sh, CATALOG.md, AGENT_BRIEF.md
  • fframes/: Cargo.toml, src/ (lib, tokens, kit, look, video, main), tools/ff.sh
  • kyfram/PRELUDE.lgv: パレットトークンとビートファニチャ (drawBackdrop, drawBanner, drawCaptions, drawPanel, drawDot, drawFrame) for .lgv scenes
  • docs/style-guide.md and docs/style-prompt.md: 圧縮されたスタイルシートとポータブルプロンプト

エピソードのスキャフォールディング: ./core/new_episode.sh <series-dir> 01-slug Episode out-name --style bang-motion --engine remotion (または --engine fframes|kyfram)。パイプラインスキルはスタイル名を$MOTION_STYLEとして受け取るため、ワークフローの他の部分は変更する必要がありません。

スタイルのDNAを一言で言うと:一つの連続した世界、常に動く少なくとも2つのレイヤー(深いベースと光る水平線)で構成される背景、ランダムノイズではなくtからオフセットするグレイン、静的なフレームではなく呼吸するカメラ、単一の繰り返しワイプではなく動機付けられたトランジション、そしてスライドの情報量ではなく、1ショットあたり1つのステートメント。

v1.19.0 · by Bang Tutorial · MIT. 変更履歴はCHANGELOG.mdを参照。インストール方法はREADME.mdを参照。

このスキルは、あらゆるAIコーディングエージェント向けです(オープンなAgent Skillsフォーマット)。 内容は、プレゼンテーションではなく、映像のように動くモーショングラフィックのためのルールとレシピです。コードを書き始める前にこれらに従ってください。

前提条件 — ブラウザのみ

成果物 (index.html) は、モダンなブラウザとCDN(GSAP、フォント)のためのインターネット接続のみが必要です。PythonとNodeはオプションであり、作業ツールとしてのみ使用されます:scripts/serve.py(no-cacheサーバー、ローカルモジュールを使用する場合のみ必要)、puppeteer(スナップショット/自動検証、scripts/export-frames.mjs → MP4)。ユーザーがどちらも持っていない場合:(1)シングルファイルをビルドし、ダブルクリックで開く;(2)?debug=1(スクラブパネル)とキーフレーム毎の手動スクリーンショットで視覚検証;(3)画面録画(OBS / ブラウザタブ録画)でMP4 — 画面録画はフレーム落ちする可能性があり、フレーム単位のレンダリングにはNodeが必要であることを説明してください。npm install を必要とする成果物を作成しないでください。

ffmpegもオプションです。 まず確認してください(ffmpeg -version);存在しない場合:

要件ffmpegありffmpegなし
VO同期(文/段落の境界)silencedetectscripts/vo-pauses.html — ブラウザで開き、音声を選択、SEG/PARAをコピー;結果は完全に同じ(Web Audio、インストール不要)
音声の長さ/フォーマットffprobevo-pauses.htmlのDUR値;ブラウザはwav/mp3/m4a/oggを直接再生
MP4書き出しexport-frames.mjsからのPNGを結合MP4なし — ワンコマンドでのインストール(winget install Gyan.FFmpeg / brew install ffmpeg)または画面録画を提案
ビデオ参照の学習(フレーム抽出)fps= + tile=ユーザーにキーフレームのスクリーンショットを送信してもらうか、ブラウザでビデオを開き、特定の秒数でキャプチャ

ffmpegがなくても、VO同期までのエクスプレーナーの流れは完全です。MP4のみインストールが必要です。

プレーヤー — なし、自動再生、ループ

デフォルトの成果物:画面上にパネルやプレーヤーは一切なし、開くとすぐに再生が始まり、終了すると最初から繰り返します(onComplete → play(0);音声がある場合、音声も一緒にループします)。隠しコントロール:Rで最初から、Spaceで一時停止。スクラブパネル/タイムコードは?debug=1(レビューツール)でのみ表示され、?clean=1は書き出しのために自動再生を抑制します。音声がある場合:play()を直接試す;ブラウザによってブロックされた場合は、フレーム0で停止し、最初のクリックで開始 — 「タップして開始」などのテキストは表示しない。これは両方のスターターに組み込まれています。

構造上の禁止事項 — 機械的にチェック可能なPPTテスト

他のモデル(そしてあなたも、疲れている場合)は、以下のルールを読んでもこのパターンに陥ります。提出する前に、感情ではなくコードをチェックしてください。

  1. grep -c "class=\"scene\"\|<section" index.html — 3つ以上のシーンが<section>で構成され、autoAlpha/opacityでオン/オフされている場合 → それはスライドデッキです。シーンは、DUNIA/KAMERAが動くことで変化する必要があります(カメラが動く、別の隅にホイップする、プッシュスルー、背景が変わる)、セクションがフェードアウトするのではありません。正当な例外:ステージカートゥーン (references/kartun-panggung.md) は、ステージ間の96pxのカット/スライドを使用します — 各ステージは完全に生きている(10以上の動作するオブジェクト)、フェードアウトする静止画像ではないため、許可されます。

  2. 持続するビジュアルの共通項がある:1つの被写体(連続アクション)またはカメラがたどる1つのコラージュ/紙/白い世界(カートゥーン、写真、カタログ、スケッチ)。共有の世界なしでフルブリードの写真が次々と変わる → PPT。シーンごとに1枚の画像+1文、シーンが変わるたびに変わる → カメラが動いても依然としてスライドショー:各シーンには、フレーズごとに段階的に現れる3~5個の要素が必要(explainer.md「1シーン=3~5要素」)。

  3. シーンごとにテキストノードを数える:アイブロウ/キッカー + タイトル + 本文/クレジット = 3階層 → PPT。最大2つ:1つの大きな数字/文 + 1つの世界ラベル。ドキュメント/スタンプ/日付ブロックに3行以下の短い行が含まれる場合は、オブジェクトとしてカウントされ、テキスト階層とは見なされません。

  4. ケンブリッジ効果(写真で1.0→1.05にスケール)が唯一の動きである場合 → PPT。毎秒の動きは、スタイルブリーフでtechniques.md §7cのメニューから選択された背景動きの言語に由来する必要があります(テクスチャ背景で呼吸するカメラ、移り変わるグラデーション、浮遊するブロブ、生きているグレイン、セグメントごとの光のスイープ、ゆっくり回転する大きな形状、上昇するパーティクル、呼吸するグリッド、シフトするゴーストテキスト、ケンブリッジ効果+パララックス…)。横に走るバー/ライン/カット(「レーン」、「レンジ」、「ストリーク」、「水平パーティクルレイン」)は、異なる名前で連続して2つのプロジェクトですでに使用されています — それはデフォルトではありません;テーマが実際にスピード/フローである場合のみ、そして連続して2つのプロジェクトで使用してはいけません。

  5. トランジションがすべてのカットでフェード+スケールバンプ+ライトリークのみ → PPTテンプレート。別の隅へのホイップ、楽器へのカット(地図/スピードメーター/プロフィール)、プッシュスルー。

  6. エクスプレーナーは、そのスタイルのスターターから始めます:starter-explainer-kartun、-jurnalisme、-katalog、-sketsa(コラージュモード:カメラが静止アセットをたどる)、starter-explainer(連続アクション:世界が流れる)、またはstarter-explainer-panggung(ステージカートゥーン:シーンごとに1つのステージ、ジョイントリグ、カメラはステージ内のみ)。コラージュは1つのリグ、ステージは別のリグです。assets/starter-opener.html(テキストオープナー)からではなく、ゼロからでもありません。

  7. ミニチュアはスライドです。 カメラのズームが1.08未満で、家が親指の爪のように小さく、空き地が画面の半分を占める → すべて動いていてもPPT。世界は、1つの大きな探索マップではなく、フレームサイズのステージに分割されます(kartun-panggung.md ルール1)。

  8. テンプレートフレームワーク(オープナー/プロモ)。 ランダウンとコードを確認:最初のシーンはテキストが拡大されて左に出ていく;3つの機能タイル/カードが並んでいる;入力される検索ボックス;フック→機能→機能→約束→ロゴ→CTAの順序。コンセプトの要求なしに2つ以上 → テンプレート、たとえ外観が新しくても。references/opener-konsep.mdからフレームワークを選び直してください。

一つでも失敗したら → ユーザーに見せる前に作り直してください。

カバーする仕事の種類

このスキルは、モーショングラフィックWeb全般を対象としています。エクスプレーナーはその一種に過ぎません — 構造が異なるため独自のドキュメントがありますが、主要なものというわけではありません。

スターターはカテゴリに応じて命名されています:オープナー、プロモ、バンパー、イントロ、キネティックタイポグラフィにはstarter-opener.html;エクスプレーナーにはstarter-explainer-*.htmlで、末尾にモード/スタイルが付きます(-kartun、-jurnalisme、-katalog、-sketsa = コラージュ;末尾なし = 連続アクション;-panggung = ステージカートゥーン)。ステージカートゥーンはエクスプレーナーモード(スタイル6)であり、独自のカテゴリではありません:目的はVOで説明することであり、異なるのは制作方法のみです。

種類一般的な長さ特徴レシピ
オープナー / 製品プロモ25–40秒メニューからの1つのコンセプト(フレームワークは製品から生まれ、標準的な順序ではない)、1つの特別な瞬間、ブランドクロージングreferences/opener-konsep.md + 以下のワークフロー + references/techniques.md
バンパー / アイデンティティ / ロゴスティング3–8秒ロゴビルドオン、1つのシグネチャームーブ、視聴者が気づく前に終了techniques.md (ロゴビルドオン、ライトリーク)
チャンネルイントロ / アウトロ5–12秒チャンネル名 + 毎回同じシグネチャームーブ以下のワークフロー
キネティックタイポグラフィ / 歌詞15–60秒テキストが主役;単語/文字ごとに分割;リズムは音声に従うtechniques.md (分割 + 方向性ブラー、単語ごとの3Dパン)
タイトル / ローワーサード / セグメントバンパー2–6秒映像上の小さな要素、クリーンな出入り、透明な背景techniques.md
エクスプレーナー / 説明動画30–90秒事実に基づく、エンティティの出現、視点の変更、5つのスタイルreferences/explainer.md + スタイルごとのスターター

エクスプレーナーとキャラクター:ショットを決定する前に読むこと

フラットなキャラクターを使ったカートゥーン教育アニメーション(6番目のスタイル、ステージカートゥーン)、またはスライドショー/ミニチュアのように感じられるリビジョンの場合は、references/kartun-panggung.mdを読んでください:シーンごとに1つのステージ、ズーム1.08–1.95、ステージ内で連続、ステージ間で96pxのカット/スライド、手動トランスフォームによるジョイントリグ、キャプションなし、明るいフラットパレット。文、ビジュアルビート、フレーミング、ステージの切り替えを区別してください。After Effectsで直接構築するには、references/ae-bridge-higgsfield.mdを読んでください。これらのエクスプレーナー固有のガイドラインは、以下のオープナールールを明確にします;フォントの例、シーン数、エフェクトは普遍的なレシピではありません。

ルール #1 — これは動画であり、スライドではない

最も一般的な問題:モデルはシーンをスライドのように構成します — タイトル + サブタイトル + 本文 + バッジの列。これはすぐに「PPT」と見なされ、拒否されます。

厳格なルール:

  • オープナーの場合:各シーンに1つの短い文 + 最大1つの主要オブジェクト。 キッカー(「01 — 機能」)、サブタイトル、説明段落、機能チップ/バッジ、技術的メタデータ(パッケージ名、長いURL)はありません。使用中の製品UIの一部であるチップ、ボタン、ラベルは含まれません。
  • 新しい情報 = 新しいビジュアルレスポンス。 エクスプレーナーでは、関連性がある場合は同じ世界内の状態/アクションを変更します;文が変わっても必ずしもショットを変える必要はありません。
  • 箇条書きはビジュアルに置き換え、自動的に3つのタイルにはしない。 references/opener-konsep.mdの機能メニューから方法を選んでください(1つの機能をデモ、単語の変更、オブジェクトの変形、カードのシャッフル、グリッドタイル…);連続する2つのオープナーは同じ方法を使用しません。
  • シーンは生きていなければなりません。 オブジェクトがアクションを実行している間、カメラは留まっても構いません。何かを追跡または明らかにするためにカメラを動かしてください;静止した背景の上でテキストをフェード/スライドさせたり、すべてのセグメントでパン/ズームを繰り返したりすることに頼らないでください。
  • 「ズームインアウト」= ショットサイズであり、カメラの呼吸ではありません。 動画が静的に感じられる場合やユーザーがズームを要求した場合、カメラはストーリーを伝えている要素に近づき(ミディアムクローズアップ / クローズアップ)、コンテンツのビートに合わせてワイドに戻ります;数パーセントの呼吸はほとんど目立ちません(techniques.md §3b)。

シーンをデザインする前にreferences/anti-ppt.mdを読んでください — 実際の違反とその修正のリストが含まれています。

ルール #2 — 決定論的であるか、死んでいるか

システムクロックを読み取る行は1行もあってはなりません。すべてのビジュアルは、tl.time()(GSAPタイムラインの時間)の純粋な関数です:スペクトル、カウンター、パーティクル、カメラの震え(高周波サイン、Math.random()ではない)、「流れる」オブジェクトの位置(距離のトゥイーン、フレームごとの速度の蓄積ではない)。結果:スクラブはAfter Effectsのタイムラインのように正確で、フレーム単位のMP4レンダリングは毎回同一の画像を生成します。

ルール #3 — スタイルはテーマから生まれ、スターターからでも、リファレンスからでもない

よくある失敗:別の製品のオープナーが、以前の製品のオープナーとまったく同じ外観(ダーク、ブルーアクセント、グロー、ネビュラ、同じフォント)で仕上がってしまう — モデルがスターターからスタイルを取得するためです。アニメーションは素晴らしくても、失敗です:オープナーは製品の顔であり、2つの製品が同じ顔を持つことはできません。

  1. スタイルブリーフが先、コードは後。 スターターに触れる前に、次の6行を書き、シーンランダウンと一緒にユーザーに示してください:
    • テーマ/製品 +

...(省略)” }

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

isometric

Render a reel in the Isometric style: calm precise product line art in 2:1 dimetric isometric on a white or dark ground, drawn only with constant 2px hairlines, white-filled faces so nearer objects hide farther lines, rounded slabs with visible thickness, stacked layers, repeated-part grids, and one tiny dark accent per frame. Use when the user says isometric, product line art, technical illustration, exploded hardware view, or asks for a clean documentation-grade diagram look.

motion-build

Build and render a papercut episode from a storyboard with the library. Scaffolds the project, builds scenes with parallel agents, assets and audio, renders the mp4, then harvests reusables. Use for "build the reel", "scaffold an episode", "rebuild scene 4", "render it".

motion-explainer

Make a papercut reel, video or explainer end to end. Short vertical (9:16) cut-paper explainers from a link (repo, product page, announcement), idea to mp4. Also routes partial asks to the stage skills and hands out the style prompt for other tools.

motion-script

Turn a link into a papercut reel script. Researches a sourced facts list, writes the 75-95 word script on the 10-beat spine, a banner fact track, a staging table with one set per banner, and the humour pass. Use for "write the script", "research this repo for a reel".

motion-storyboard

Storyboard a papercut script before any code. Writes the Camera / Cut table, one block per scene with frame-level events on each stressed word, the SFX plan and the proof beat. Use for "storyboard this script" or "plan the camera moves and cuts".

papercut

Render a reel in the Papercut style: layered construction paper brought to life with paper grain, torn edges, stacked shade strips, drop shadows, rigid cut-out animation, a slow camera push, taped headline banners and word-by-word torn-tag captions. Use when the user says cut paper, papercraft, paper cutout, paper collage, construction paper, or asks for the default handcrafted explainer look.

関連スキル