Communitygithub.com

비디오 → 스크롤 구동 랜딩 페이지

모든 비디오를 시네마틱한 스크롤 구동 랜딩 페이지로 변환합니다. 사용자가 비디오 파일을 제공하고 "이 비디오로 랜딩 페이지", "스크롤-프레임 웹사이트", "Apple 스타일 스크롤 사이트" 등을 요청할 때 사용하세요.

비디오 → 스크롤 구동 랜딩 페이지란 무엇인가요?

이 스킬은 주어진 비디오 파일을 Apple 제품 페이지나 GitHub Copilot 랜딩 페이지와 같은 시네마틱 스크롤 구동 랜딩 페이지로 변환합니다. ffmpeg를 사용하여 비디오에서 균등하게 분포된 N개의 프레임을 추출하고, 스티키 히어로와 JS 스크롤 리스너가 포함된 자체 완결형 HTML 페이지를 빌드합니다. 사용자가 스크롤하면 보이는 프레임이 전환되며, 히어로 아래에는 헤드라인, 섹션, CTA가 배치됩니다. 프로젝트가 YUV.AI 브랜드인 경우 네온 모드 (핑크/시안/화이트)가 적용되며, 그렇지 않은 경우 소스 비디오 분위기에 맞는 팔레트가 선택됩니다. 출력은 `index.html`과 `frames/` 디렉토리로 구성된 하나의 폴더로, Vercel, Netlify, Cloudflare Pages 같은 정적 호스트에 바로 배포할 수 있습니다. YUV.AI가 아닌 일반 프로젝트의 경우 yuv-design-system을 적용하지 않고 비디오에 어울리는 색상을 선택합니다. 히어로 오버레이는 미묘하게 유지하며, 섹션은 밝은 캔버스와 큰 Anton 헤드라인, Inter 본문, 날카로운 CTA 버튼으로 구성됩니다.

지원 대상~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 랜딩", "스크롤 시 프레임 전환", "스크롤로 비디오 탐색" 등 언급
  • 히브리어: "דף נחיתה מסרטון", "אתר עם גלילה", "סרטון בגלילה"

저장 위치

기본 경로: ~/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="he" dir="rtl"> 설정, 폰트를 Rubik/Assistant로 변경 (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 호출, 매체에 따라 모드 고정:
    • 네온 모드 (YUV.AI 웹 기본): 핫 핑크 (#FF1464) + 네온 시안 (#00E5FF) + 흰색 또는 진한 검정 캔버스. Anton + Inter (영어) / Rubik + Assistant (히브리어). 0px 또는 999px 반경.
    • 웜 에디토리얼 모드: Hope, Marcus, bigcats.ai, practical.yuv.ai 전용 — 핑크 + 옐로우 + 본, 순수 #fff가 아닌 오프-화이트.
    • 랜딩 페이지에 Decks 모드(Fly High 퍼플/옐로우) 사용 금지 — 해당 팔레트는 슬라이드 덱 전용.
  • 프로젝트가 YUV.AI 브랜드가 아닌 경우: yuv-design-system 적용하지 않음. 소스 비디오 분위기에 맞는 팔레트 선택. Anton + Inter는 합리적인 기본값이지만 필수는 아님.
  • 히어로 오버레이는 미묘하게 — 비네트와 큰 헤드라인 하나만; 프레임을 압도하지 말 것.
  • 히어로 아래 섹션: 밝은 캔버스 (네온 모드에서 흰색, 웜 에디토리얼에서 오프-화이트, 일반 웜의 경우 본), 큰 Anton 헤드라인, Inter 본문 18–22px, CTA는 날카로운 알약 버튼 (border-radius: 999px) — 네온 모드에서 핑크 채우기, 그 외 브랜드 색상 사용.
  • 히브리어: RTL 준수, 헤드라인에 Rubik 900, 본문에 Assistant 400/500 사용.

파일 참조

파일용도
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.

관련 스킬