Communitygithub.com

Karthic1981/hoodini-ai-agents-skills.gitni-ai-agents-skills

任意の動画を、Apple製品のランディングページのようなシネマティックなスクロール駆動型ランディングページに変換します。スクロールに応じて動画のフレームが切り替わる、没入感のあるヒーローセクションを実現します。

hoodini-ai-agents-skills.gitni-ai-agents-skills とは?

このスキルは、提供された動画ファイルからApple製品ページやGitHub Copilotランディングのような「スクロール駆動型ビデオヒーロー」を持つランディングページを自動生成します。ffmpegを使用して動画から等間隔のフレームを抽出し、それらをスクロール位置に応じて切り替える自己完結型のHTMLページを構築します。ヒーローセクションはスティッキーに固定され、その下に通常のスクロールでコンテンツ(見出し、セクション、CTA)が続きます。YUV.AIプロジェクトの場合は、自動的に「yuv-design-system」スキルを呼び出し、Neonモード(ピンク/シアン/ホワイト)を適用します(Decksモードはスライド専用)。非YUV.AIプロジェクトでは、動画の雰囲気に合ったカラーパレットを自動選択します。出力は`index.html`と`frames/`ディレクトリを含むフォルダで、VercelやNetlifyなどの静的ホストにそのままデプロイ可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Karthic1981/hoodini-ai-agents-skills.gitni-ai-agents-skills/tree/HEAD/skills/video-to-landing-page

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

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

ドキュメント

動画 → スクロール駆動型ランディングページ

Apple製品ページやGitHub Copilotのランディングのように、スクロールに応じて動画が再生されるシネマティックなランディングページを構築します。ソース動画からフレームを抽出し、ユーザーのスクロールに合わせてフレームを切り替えます。スティッキーなヒーローの下には、通常のスクロールでコピーとCTAが続きます。

呼び出すタイミング

  • ユーザーが動画をドロップし、「ランディングページ」「スクロールサイト」「スクロールフレームヒーロー」「動画からウェブサイト」などを依頼した場合
  • 「Apple風スクロール」「GitHub Copilotランディング」「スクロールに連動」「スクロールでフレーム切り替え」などの言及があった場合
  • 日本語での同様の依頼:
    • 「動画からランディングページを作って」
    • 「スクロールで動画が再生されるサイト」
    • 「Apple製品のページみたいなスクロールサイト」

保存場所

デフォルト: ~/Documents/yuv-projects/landings/<slug>/ — 後で見つけられるように、ランディングページは常にここに保存します。親ディレクトリが存在しない場合は作成します。

mkdir -p ~/Documents/yuv-projects/landings
cd ~/Documents/yuv-projects/landings
# ここに <slug>/ を構築します。

最終パス: ~/Documents/yuv-projects/landings/<slug>/。ビルドの最後にユーザーにランディングページの場所を伝えてください。


ワークフロー(8ステップ)

  1. ソースのプローブ — ffprobe で長さ、fps、寸法、オーディオを取得。
  2. フレーム数を決定 — デフォルト 80。下限 40(これより低いとカクつく)、上限 160(ページが重くなる)。動画の長さで選択:≤10秒→50、10〜30秒→80、30〜60秒→120、>60秒→160。
  3. 出力ディレクトリを決定 — デフォルト ~/Documents/yuv-projects/landings/<slug>/。<slug> は短く、動画ファイル名またはトピックから派生させます。明示的なリクエストがある場合のみ上書き。
  4. フレームを抽出 — references/extract-frames.py <source-video> <output-dir> [count] を実行。出力は output-dir/frames/f_0001.jpg … 一貫したJPG品質82、最大幅1920(ソースがより大きい場合は縮小)。
  5. テンプレートをコピーしてカスタマイズ — references/landing-template.html を output-dir/index.html にコピー:
    • __FRAMES__ プレースホルダーを各フレームの <img> タグに置き換え(ビルドスクリプトが --build-html を渡すと自動で行います)。
    • __HEADLINE__、__TAGLINE__、__CTA_TEXT__、__CTA_HREF__、セクションを埋める。
    • コンテンツが日本語の場合:<html lang="ja" dir="ltr"> を設定。フォントは Noto Sans JP / Noto Serif JP などを使用(references/design-notes.md を参照)。
  6. フレームを最適化 — ビルドスクリプトはすでに最大幅1920pxにスケーリングします。ページの総容量が12MBを超える場合は、品質を75に下げるか、フレーム数を減らします。
  7. プレビュー — 出力ディレクトリ内で python -m http.server を実行し、http://localhost:8000 を開きます。普通のマシンでもスムーズにスクロールできます。
  8. デプロイ — フォルダを Vercel/Netlify/Cloudflare Pages にドロップします。ビルドステップは不要です。

スクロールの仕組み

  • 外側のスクローラー .scroll-stage の高さはビューポート単位で設定(デフォルト 600vh = 全フレームを通過するのに5画面スクロール)。
  • スティッキーヒーロー position: sticky; top: 0; height: 100vh には、すべてのフレームが絶対配置され、アクティブなもの以外は非表示。
  • スクロールリスナーは progress = scrolledIntoStage / scrollableHeight を計算し、0〜1にクランプ。
  • idx = floor(progress * (N - 1)) — .active クラスをそのフレームに切り替え。
  • リスナーを requestAnimationFrame でラップして60fpsを維持。

デザインルール

  • プロジェクトが YUV.AIブランド(Yuval個人、彼のポートフォリオ、彼のブランド)の場合:yuv-design-system を呼び出し、メディアに応じてモードを固定します —
    • Neonモード(YUV.AIウェブのデフォルト):ホットピンク(#FF1464)+ ネオンシアン(#00E5FF)+ ホワイトまたはリッチブラックのキャンバス。Anton + Inter(英語)/ 日本語の場合は適切なフォント。0px または 999px の角丸。
    • Warm Editorialモード: Hope、Marcus、bigcats.ai、practical.yuv.ai のみ — ピンク + イエロー + ボーン、オフホワイト(純粋な #fff は使用しない)。
    • ランディングページでは Decksモード(Fly High パープル/イエロー)は使用しない — このパレットはスライドデッキ専用です。
  • プロジェクトが YUV.AIブランドでない 場合:yuv-design-system は適用しません。ソース動画の雰囲気に合ったパレットを選びます。Anton + Inter は適切なデフォルトとして残りますが、必須ではありません。
  • ヒーローのオーバーレイは控えめに — ビネットと1つの大きな見出しのみ。フレームを覆いすぎないように。
  • ヒーロー下のセクション:明るいキャンバス(Neonモードでは白、Warm Editorialではオフホワイト、汎用ウォームではボーン)、大きなAnton見出し、本文はInter 18〜22px、CTAはシャープなピル型(border-radius: 999px)— Neonモードではピンク塗り、それ以外ではブランドに適した色。
  • 日本語の場合:適切なLTRレイアウト、見出しに適切なウェイト(例:Noto Sans JP Bold)、本文に標準的なウェイト(例:Noto Sans JP Regular/Medium)を使用。

ファイル参照

ファイル目的
references/extract-frames.pyffmpegベースのフレーム抽出器。オプションでHTMLも一度にビルド
references/landing-template.htmlスクロール機構を備えた自己完結型ランディングページのスケルトン
references/design-notes.mdタイポグラフィ、パレット、モーションのデフォルト設定

Individual skills in this repo

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

Karthic1981/hoodini-ai-agents-skills.gitni-ai-agents-skills

Build a premium cinematic landing page with mouse-scrub video hero and brand-driven narrative-arc sections. Use whenever the user provides a hero video plus a product / subject / brand and wants a landing page, promo site, product showcase, marketing page, or storytelling site. Works for any language (RTL or LTR — Hebrew, English, Arabic, Spanish, French, Japanese, etc.) and any subject (food, tech, animals, fashion, services, SaaS, wildlife campaigns, music releases, books, real estate). The signature effect is mouse-driven video scrubbing — the hero video lives across the entire page as a fixed backdrop, and moving the mouse left-right scrubs the video timeline so the subject responds to the cursor. Below the hero, 4-5 fully-opaque sections each carry their own brand identity (color, typography emphasis, layout pattern) and walk the viewer through a narrative arc (e.g. longing → joy → nostalgia → contemplation → action). Triggers on phrases like "build a landing page from this video", "cinematic landing ...

Karthic1981/hoodini-ai-agents-skills.gitni-ai-agents-skills

Build a scroll-driven cinematic landing page from a short video. The user provides a 5–15 second video (often AI-generated); this skill extracts every frame at HD JPEG quality, then produces a single-hero HTML page where the user's scroll gesture scrubs the frames in place (the page itself never scrolls) and 5 dramatic text overlays crossfade in/out — Google Anton headlines, Caveat handwritten accents, locked body, virtual scroll. Use this skill whenever the user wants to "turn this video into a landing page", "make a scroll-scrub landing page", "build a parallax hero from this clip", "add a new landing page to the parasites showcase", "do the same as github/lion/hope for this new video", or any variant that pairs a short clip with dramatic scroll-triggered storytelling. Trigger even if the user only says "use my video for a landing page" — that is this skill.

関連スキル