Communitygithub.com

trend-explainer-video

GitHub トレンドランキング解説動画(中国語ナレーション・ダークテックスタイル)を作成する完全パイプライン。

trend-explainer-video とは?

このスキルは、GitHub トレンドランキングやトップ 10 リストを解説する中国語口述動画を、ダークテクノロジーデザインの Remotion ベースで自動生成するための統合パイプラインです。スナップショット取得、口述スクリプト生成 (35フレーム固定構成)、edge-tts による音声合成と単語レベルのタイムスタンプ生成、ランキング専用ページ、コンテンツカード、使い方解説カードといった標準化されたビジュアルテンプレートを備えています。また、ビート検査、モーション検査、音響検査、契約検査などの自動品質チェック(機械ゲート)を通過し、loudnorm による最終調整と縦型カバー画像生成までをカバー。Cursor、Claude Code、Codex などの AI エージェントと連携し、「今週の GitHub トレンドを解説して」「ランキング Top10 動画を作って」といったリクエストに応えます。Windows 環境での edge-tts プロキシ設定や、フレームレート不整合によるモーション検査の誤判定といった実運用上の注意点もドキュメント化されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/daxian942-tech/trend-explainer-video/tree/main

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

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

ドキュメント

trend-explainer-video:ランキング解説動画パイプライン

C:/Users/<あなたのユーザー名>/.workbuddy/skills/video-talkcraft(TalkCraft スキル)をレンダリングエンジンとして、本スキルはランキング系コンテンツのプロジェクト骨格、全チェーンスクリプト、ビジュアルデザイン、実戦的なトラブルシューティングを提供します。動画理論や共通ゲートについては TalkCraft 本体を参照し、本スキルでは重複しません。

パイプライン手順(コマンドと落とし穴は references/pipeline.md 参照)

  1. スナップショット取得:ランキングページを一括取得(curl でユーザーエージェント設定)、data/snapshot.md/.json に保存。ランク・スター数・概要・言語はこの一度の取得のみを信頼し、捏造禁止。
  2. 口述スクリプト script.json:35フレーム固定構成 = オープニング 1 + プロジェクト10 ×(ランク文 + 詳細/スター总数文 + 使い方文 + スター总数文)+ エンディング 3(まとめ/金言/CTA)。厳格ルール:数字はすべて漢数字(例:「35」「10」「3」)各プロジェクトの先頭は必ず「第1位」「第2位」…… 各プロジェクトに「使い方」ナレーション(動詞で始め、使用場所・方法・解決する問題を解説)を追加。オープニングは「今日の GitHub 週間トレンド、トップ10 を一気に解説します」と直接切り出す。
  3. 音声合成:synth_voice.py(VOICE/RATE は冒頭、edge-tts は HTTP_PROXY 必要)→ assemble_voice.py(full.wav + timestamps.json)→ cp audio/full.wav remotion/public/narration.wav。
  4. タイムライン再構築:make_timing.py → gen_beats.py(anchors.json 生成を含む)→ gen_cues.py。3か所のアンカーテーブルは必ず同期:gen_beats の REPO_ANCHORS、gen_cues の REPO_CFG、all.tsx の REPO_CFG、さらに scenes/index.ts の sceneFor(エンディング chart/quote/cta のシーン番号は挿入句により後ろにずれる)。音声パラメータ変更 = 全チェーン再構築、単なる音声差し替えは不可。
  5. プロジェクト実装:assets/remotion-template/ からスケルトンコピー;src/data.ts(スナップショットデータ)、src/scenes/all.tsx の REPO_CFG/USES/STEPS/ICONS/DETAILS の5テーブル + RANK_LIST(ランクシーンテーブル)を編集。その他のシーンコードはそのまま再利用。npx tsc --noEmit で検証。
  6. レンダリング:node <video-talkcraft>/scripts/render_shots.mjs --all --concat out/assembled.mp4 --audio out/full-mix.wav --mux out/v?.mp4(full-mix は timing フィンガープリントに基づき自動再レンダリング)。
  7. 機械ゲート(すべて緑でなければ納品不可):beat_lint → motion_check(静止 + 振動)→ sfx_check solo+mix → workbench_contract_lint。しきい値と FAIL 処方は pipeline.md 参照。
  8. 納品:loudnorm 2パス(測定→線形正規化)→ delivery.mp4 → sfx_check --mix を再実行 → present_files。
  9. カバー画像:gen_cover.py で 1080×1920 縦型汎用カバー(特定プロジェクトなし、長期再利用)を生成、cover_vertical.png/.jpg を出力。

本パイプラインの独自ビジュアル(v16 デザイン確定、詳細は references/style-guide.md 参照)

  • ランク独立ページ RankPage:ランク名を読み上げるシーンは画面全体を独立した「第N位」ページとしてレンダリング(金色 240px 大文字 + RANK #N + リポジトリ名 + スター数 + 10セグメント進捗バー)、プロジェクトコンテンツとは同画面に表示しない。
  • コンテンツカード3点セット:IllBg(全画面イラスト背景、blur30+暗転)+ OgiCard(動的イラストカード、EFFECT PREVIEW + Ken Burns + 光点 + スキャン光)+ DemoPanel(ターミナル/グリッドデモ)、USES 3項目(絵文字)+ DetailBlock(詳細カルーセル)付き。
  • 使い方3ステップカードシーン HowScene:各ステップ1枚の StepIcon イラストカード(グラデーション背景 + 大きな絵文字 + STEP バッジ)、STEPS/ICONS 2テーブルで駆動。
  • Ambient 全画面環境動画:3本の光帯が位相をずらしてスキャン、motion_check の静止区間対策(小カード/テキストシーンには必須)。
  • ダークカラーパレット:カラーパレットは style-guide.md 参照。スター数金色 #FFC94D、週間増加緑 #63E6A4。

高頻度トラップ(詳細は references/pipeline.md 参照)

  • ImageGen 画像生成が 429 レート制限に直面する可能性 → イラストカードは emoji アイコンカード(StepIcon)、カバーは PIL プログラム(gen_cover.py)で、コストゼロで安定かつ適切。サービス復旧次第 AI 画像に切り替え可。
  • motion_check 静止区間(freezedetect noise=0.003):小カード/静的テキスト/ぼかし背景シーン、低速 sin 動画では対処不可 → Ambient 3本光帯位相ずらしスキャン(3本以上、2本では真空期間発生)。
  • <Video> サーバーサイドレンダリングで必ずクラッシュ → OffthreadVideo + muted。
  • 素材 fps ≠ 成果物 fps → motion_check が「重複フレーム」と判定;オプティカルフロー補間は minterpolate=mi_mode=blend を使用。
  • Windows:シンボリックリンクはすべて拒否 → ディレクトリコピー;ffmpeg 7+ では -vsync なし → -fps_mode passthrough。
  • edge-tts はプロキシ必要:HTTP_PROXY/HTTPS_PROXY=http://<あなたのプロキシ>。
  • all.tsx 編集は Python アトミック書き換え(Windows EBUSY 競合により Edit が成功扱いになる可能性);bash heredoc でバッククォート含む Python を渡すと途中で切れる → Write で .py ファイルを書き込んで実行。

環境クイックリファレンス

  • bash PATH はセッションごとに補完:PortableGit usr/bin + ffmpeg-bin;Python は venv 使用:C:/Users/<あなたのユーザー名>/.workbuddy/binaries/python/envs/default/Scripts/python.exe;node は管理版を直接実行;tsc は node_modules/typescript/lib/tsc.js(bin/tsc は fnm shim に乗っ取られている)。

関連スキル