Communitygithub.com

IAmCosmin-YT/emotion-factory-devlog-shorts

このスキルは、YouTube Shorts、TikTokのDevlog、ゲームプロモーションビデオを編集・レビュー・スクリプト作成・プログラムによる生成を行うためのものです。81本の動画をフレーム単位で分析し、Vedinad、Danidev、c dev、Wishbone Games、SSundee、wyngeのスタイルを再現します。

emotion-factory-devlog-shorts とは?

このスキルは、高リテンションなYouTube ShortsやTikTok Devlogを制作するための、完全な制作マニュアルとフレームベースの合成システムです。81本の動画(162枚のコンタクト&フックシート)をフレームごとに分析し、Vedinad、Danidev、Wishbone Games、c dev、SSundee、wyngeといったトップクリエイターのスタイルを体系的に再現します。 主な機能として、OpenCVとPILを用いた60fpsのフレーム単位モーショングラフィックス合成、単語単位でアニメーションするコメントズームフック、ブラックスクリーンでのデッドパンテキストスラム、3Dパースペクティブを付けたコード/UIカード、アニメーションする統計カウンター、レアリティラダー、ブラウザベースの人間らしいボイスオーバー生成、そしてハイパーコンプレッションされたオーディオマスタリングをカバーします。 特に、永続的なトップヘッダーバナー禁止、0.00~2.50秒の真のフレーム単位フックアーキテクチャ、1.0~1.7秒ごとの中間切り替え、巨大で高コントラストなキネティックタイポグラフィ(95pt~160pt)、およびシームレスな無限ループエンディングという7つの不変の法則に基づいています。 対応プラットフォームはYouTube ShortsとTikTokで、Pythonスクリプト(OpenCV、PIL、Playwright、Whisper)とFFmpeg、そして詳細なリファレンスマニュアルから構成されています。プロフェッショナルなDevlog制作者や、データ駆動型でエンゲージメントの高いショート動画を量産したい開発者に最適です。

対応~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/IAmCosmin-YT/emotion-factory-devlog-shorts/tree/HEAD/.agents/skill-backups/devlog-shorts-editing-20261018-132844

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

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

ドキュメント

Devlog & 高リテンションショート動画編集スキル(81動画フレーム単位フォレンジック版)

バイラルなYouTube Shorts、TikTok Devlog、ゲームプロモーション動画を制作するための完全な制作マニュアルとPython/OpenCV/PIL 60fpsフレーム単位合成システムです。81動画(162枚のコンタクト&フックシート)をフレーム単位でフォレンジック分析して導き出されました。対象はVedinad(全28 Shorts + 長編2本)、Danidev(Devlog 15本、Dani2動画、DaniClips Shorts)、Wishbone Games(Shorts & Devlog 10本)、c dev(Shorts & Devlog 14本)、SSundee(イントロフック5本)、および7本のバイラルリファレンスShorts(tt_wynge、ref5、story_video、speed_main、speed_rivals、speed_toh、speed_flop)です。


1. 7つの不変の法則(フレームごとの証拠より)

  1. 永続的なトップヘッダーバナーは禁止:

    • 動画の上部に幅広の静的な長方形ヘッダーバナーを固定してピン留めしてはいけません。Danidevの動画15本、Wishbone動画10本、c dev動画14本、SSundee動画5本、リファレンスShorts 7本(tt_wynge、ref5、story_video、speed_*)のすべてにおいて、永続的なトップヘッダーバナーを使用しているものは一つもありません。
    • VedinadのShortsでさえ、多くは(PvmyoTRTKho、qEOSXthsSUUなど)上部にテキストがないか、コンパクトで一時的なネイティブTikTokテキストステッカーを使用し、それがアクションごとに消えたり変わったりします(0–4秒のフック -> Bロール中に消える -> 一時的な「待って…」 -> 消える)。ゲームプレイの上部HUDを永続的なバナーで覆ってはいけません。
  2. 真のフレーム単位フックアーキテクチャ(0.00秒 – 2.50秒):

    • アーキタイプA — クリーンなグリッドまたは暗くぼかした背景上の、アニメーションする単語単位のコメント/Discordカード(Vedinad / Dani / c dev):
      • クリーンな斜めスクロールの青いタイルグリッド(#1A66CCから#2B82F6)、暗いスレートグリッド(#12131A)、または強くぼかしたゲームプレイ(GaussianBlur(25))で開く。
      • 3D傾斜したYouTubeコメントカードまたは暗いDiscordメッセージ(#313338)が1.0xスケール(-3.5°から-5°傾斜)で始まります。コメントテキストがナレーションに同期して単語単位でタイプされていく間(0.00秒–1.60秒)、仮想カメラはズームイン(1.0x -> 2.0x)し、左から右へ水平にパンして各単語を追跡します。
      • 1.60秒–2.10秒で、カメラは**1.0xにスナップバックし(傾斜を+3.5°に反転)、ナレーターのリアクション(1~2単語)(「UH OH」、「OKAY..」、「BRO...」、「CHALLENGE ACCEPTED」)を映し、2.00秒–2.50秒でハードカットにより完全に消滅**します。
    • アーキタイプB — 高インパクトモーショングラフィックス/カウンタースラムフック(tt_wynge / c dev rcS9EkA_pco / Wishbone):
      • フルスクリーンの3D傾斜UIカード、減少/増加するステータスバー($8,356 -> $0または0 -> 278,824)、または1単語のセンター画面ネオングロースラム(「This」 -> 「Roblox」 -> 「Game」)で即座に開始し、RGB色収差と画面シェイクを伴います。
  3. 1.0秒 – 1.7秒ごとの中間切り替えとBロールカットアウェイ(35~55カット/分):

    • 生のゲームプレイだけでは、たとえズームカットがあっても、フルスクリーンのグラフィックパターンによる中断で区切らなければ、視聴者の疲労を引き起こします。タイトなゲームプレイが4~6秒続くごとに、以下の5つの代表的なDevlogカットアウェイのいずれかで区切らなければなりません(持続時間0.6秒–1.8秒):
      1. ブラックスクリーンデッドパンテキストスラム(#000000): 純粋な黒い画面に、中央揃えのテキストがスラムインする(「でももっと悪くなる」、「さらにクレイジーになる」、「だからね」、「待って…」、または小文字のデッドパン「rip bean」)。
      2. ブラックスクリーン番号付き開発チェックリスト: 純粋な黒い画面に3~4項目のリストをタイプアウトする(「1. 感情工場を建てる」、「2. 不機嫌な労働者を雇う」、「3. 10倍の雷雨」、「4. 利益??」)。
      3. 3Dパースペクティブ傾斜コード/スタジオインスペクターカード: 暗いIDE(#0D1117)またはインスペクターカードを3Dパースペクティブで傾け(cv2.warpPerspective)、シンタックスハイライトされたコミカルなコード(cube.Value *= 10; // バランスとれたw)またはスピードランプされたタイピング(400%–800%)を表示。
      4. アニメーション数字カウンター/マルチプライヤーカード: 暗いぼかしカードに巨大なカウンターが急速に増加(1x -> 10x -> 1,000xまたは$0 -> $1,000,000,000)し、光るプログレスバーを伴う。
      5. スタック型レアリティ/ティアラダーカード: 色分けされた水平ピルバーの垂直スタック(HAPPY $5 -> GRUMPY $75 -> RAGE $400 -> SHOCKED 10x -> ASCENDED $10,000)が順にポップインする。
  4. クリーンでタイトなゲームプレイクロッピング(散らかったメニューは禁止):

    • 16:9のゲームプレイを9:16(1080x1920)にクロップする際、誤って設定ポップアップ、セーブスロットダイアログ、または小さく読めないサイドバーを含めてはいけません。
    • アクティブな焦点(キャラクター、コンベア上のアイテム、物理衝突、ボスのレーザー、浮遊ダメージ/キャッシュナンバー)にタイトにクロップします(スケール 1.35倍–1.85倍)。上部/下部に微妙な暗いグラデーションヴィネット(アルファ 0.0 -> 0.55)を使用し、キネティックタイポグラフィが100%のコントラストを持つようにします。
  5. 巨大で高コントラストなキネティックタイポグラフィ(95pt – 160pt):

    • 画面下部に埋もれた小さな50pt–60ptのキャプションは絶対に使用しないでください。
    • 標準ゲームプレイ位置: 下半分の安全ゾーン(Y = 1280 から 1380、上から67%–72%)。中央のキャラクターアクションの下、下部UIレール(Y > 1550)の上にすっきりと配置します。
    • フルスクリーンカード/スラム位置: 真正面中央(Y = 860 から 980、上から45%–51%)。
    • スタイリング: 太いジオメトリックサンセリフ(Segoe UI Black、Montserrat Black、Arial Black)、すべて大文字、最大1~3単語(または「EMOTION\nTYCOON」、「10X SHOCK\nVALUE」のような2行スタックのパンチ複合語)、12px–16pxのソリッド#000000ストローク+深いドロップシャドウ+オプションの色付きネオンアウターグロー(赤、金、ネオングリーン、シアン)。
    • スプリング&ブラーエントリー: 各単語チャンクは4フレームのスプリングオーバーシュート(70% -> 116% -> 100%)と、高速トランジション時のオプションの1フレーム水平方向モーションブラーでポップインします。
  6. クリアで自然なブラウザボイスオーバー(ロボット的なEdge-TTSは禁止):

    • フラットでメタリックなCLIシンセサイザー(edge-ttsやOS SAPI)は絶対に使用しないでください。
    • Playwrightを介して組み込まれたChromiumブラウザを通じてボイスオーバーを生成します。表現力豊かなニューラル音声エンジン(例:https://www.openai.fmにカスタム音声演技プロンプト、またはブロック解除されていればブラウザ上のElevenLabs)を使用し、その後purge_silence.pyを実行して> 80msの間をすべて除去し、Whisper(words.py)で正確なフレーム単位の単語タイムスタンプを抽出します。
  7. シームレスな無限ループ(言語的+視覚的):

    • 動画の最後の1.0秒は決してフェードアウトしたり、「ご視聴ありがとうございました。チャンネル登録お願いします!」と言ってはいけません。代わりに、不意打ちのコメディカットまたは未完了の文節(「…だからこそ、人々は言い続けるんだ…」)で終わり、それがフレーム0に直接解決するようにします(「…感情そのものを栽培する工場なんて作れないって!」)。

2. エンドツーエンド制作パイプライン

ステップ1: ブラウザボイスオーバー生成と単語タイムスタンプ取得

  1. タイトな30~38秒のスクリプト(95~125単語、185~210 WPM)を、5つの急展開の幕と無限ループエンディングで構成して書きます。
  2. Playwright Chrome(scripts/generate_browser_tts.py)で明瞭で表現力豊かなオーディオを生成し、デッドエア> 80msを除去し(scripts/purge_silence.py)、words.pyを使用して正確な単語レベルのタイムスタンプを抽出します。

ステップ2: フレーム単位の60fps OpenCV + PIL コンポジター

静的なFFmpegオーバーレイフィルターに頼る代わりに、フレーム単位のPythonコンポジター(cv2 + PIL + numpy)を使用して1080x1920 @ 60fpsで動画をレンダリングします。このコンポジターは、フレームごとの正確なアニメーション計算(ease_out_back、ease_in_out_cubic、3Dパースペクティブワープ、カメラシェイク、RGBグリッチスプリット、パーティクルオーバーレイ)を実行します。

  • 0.00秒 – 2.20秒(第1幕 — コメントズームフック): アニメーションする青/暗いグリッド背景+3D傾斜コメントカードが単語ごとにタイプされながら1.0x -> 1.85xにズームインし、単語間をパン、ナレーターのリアクションでスナップバック。
  • 2.20秒 – 8.50秒(第2幕 — 前提とコアループ): タイトなパン&スキャンゲームプレイカット(各1.1秒–1.5秒)に、3D傾斜Luau/C#スクリプトカードとブラックスクリーンの番号付き開発チェックリストを挟み込む。
  • 8.50秒 – 21.00秒(第3幕 — メカニクス拡大とシナジー): アップグレード/ワーカー/シナジーの高速ゲームプレイショーケースに、ブラックスクリーンのデッドパンスラム(「でももっと悪くなる」)と5段階スタック型レアリティ/感情ラダーカードを挟み込む。
  • 21.00秒 – 31.00秒(第4幕 — 天候/ボスクライマックスとアニメーションカウンター): 高強度イベントのゲームプレイ(例:サンダーストーム10倍落雷、ブラッドムーン深紅キューブ、油圧圧縮機)と、刻々と変化するマルチプライヤー/キャッシュカウンターカード($1 -> $1,000,000,000)およびフルスクリーンインパクトフラッシュを組み合わせる。
  • 31.00秒 – 34.50秒(第5幕 — CTAとシームレスループアウトロ): ゲームタイトル/プレイCTAカードが文の途中でフレーム0に遷移する。

ステップ3: ハイパーコンプレッションオーディオミックス(-14 LUFS、LRA 3.1 LU)

サイレンス除去されたボイスオーバー(0 dB)と、ダッキングされた明るいBGM(ボイス下で-20 dB)、およびロイヤリティフリーのリアルなSFX(Pixabay / MyInstants / Kenney — AI生成ノイズは絶対に使用しない)をミックスします。

  • キーボードタイピングクリック音:フックコメントカードとチェックリストカードに現れるすべての単語に同期。
  • 明瞭なウィッシュ音:すべてのカメラパンチインと3Dカードフリップに合わせて。
  • ポップ/ウッドクリック音:キーワードの字幕出現に合わせて。
  • バスブーム/バインブーム:ブラックスクリーンデッドパンスラムとクライマックス披露時に。
  • キャッシュチャイム/雷鳴:カウンター終了とマルチプライヤーヒット時に。

3. 詳細なフォレンジックリファレンスマニュアル


4. 品質ゲートとビジュアル確認チェックリスト

レンダリングされたShortを納品する前に、60フレームのコンタクトシート+24フレーム4fpsのフックシートを生成し、view_fileで両方を検査してください。

  • 永続的なトップヘッダーピルがないこと: 動画の上部に恒久的な白または黒のバナーがピン留めされていないことを確認。
  • フレーム0~60のフックの動き: オープニングのコメントカードまたはモーショングラフィックスフックが、0.0秒–2.2秒の間で単語ごとにアクティブにタイプオンされ、ズーム/パンし、その後完全に消えるか?
  • クリーンなゲームプレイクロップ: ゲームプレイショットの100%が、誤って「設定」、「セーブ」、または散らかったメニューポップアップを含んでいないか?
  • ビジュアルメディアの多様性: 動画は、タイトなゲームプレイとフルスクリーングラフィックカットアウェイ(ブラックスクリーンスラム、3Dコードカード、アニメーションカウンター、ティアラダー)を、少なくとも4~6秒ごとに切り替えているか?
  • 特大で読みやすいタイポグラフィ: 字幕は95pt–150ptで、太い黒い輪郭/グローがあり、下部UIボタンと重ならずに安全ゾーン(Y = 1280–1380、またはグラフィックカード上では中央Y = 880–960)にきれいに配置されているか?
  • ボイスオーバーの明瞭さ: ボイスオーバーは、ロボット的なCLIのedge-ttsではなく、ブラウザのニューラルTTSで生成され、すべての間> 80msが除去されているか?

Individual skills in this repo

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

関連スキル