Communitygithub.com

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

Convierte cualquier video en una página de aterrizaje cinematográfica con desplazamiento tipo Apple, donde el heroe progresa el fotograma visible al hacer scroll.

¿Qué es hoodini-ai-agents-skills.gitni-ai-agents-skills?

Esta habilidad para agentes de IA (como Claude Code, Cursor, etc.) transforma cualquier video en una página web de aterrizaje con un heroe que se desplaza como en los productos de Apple. Extrae N fotogramas uniformemente espaciados mediante ffmpeg y construye un HTML autónomo con un heroe sticky y un listener de scroll en JavaScript que intercambia el fotograma visible mientras el usuario se desplaza, incluyendo titular, secciones y CTA debajo. Es ideal para cuando un usuario sube un video y pide 'una página de aterrizaje desde este video', 'sitio de scroll tipo Apple', 'heroe que limpia el video', o equivalentes. La habilidad soporta automáticamente el sistema de diseño YUV.AI (modo Neon: rosa/cian/blanco) para proyectos de YUV.AI, y para otros proyectos selecciona una paleta apropiada según el video fuente. La salida es una carpeta con `index.html` y un directorio `frames/`, lista para cualquier host estático.

Compatible con~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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Video → Página de Aterrizaje con Desplazamiento Cinematográfico

Construye una página de aterrizaje cinematográfica donde el heroe es un video que se reproduce al hacer scroll en lugar de con el tiempo — como las páginas de producto de Apple o la página de aterrizaje de GitHub Copilot. Los fotogramas se extraen del video fuente y se intercambian a medida que el usuario se desplaza; debajo del heroe sticky, las secciones de desplazamiento normal contienen texto y CTA.

Cuándo invocar

  • El usuario sube un video y pide una página de aterrizaje, sitio con desplazamiento, heroe de fotogramas con scroll o sitio web desde un video
  • Menciones de 'scroll tipo Apple', 'página de aterrizaje de GitHub Copilot', 'limpiar al hacer scroll', 'fotograma al hacer scroll'
  • Equivalentes en hebreo: "דף נחיתה מסרטון", "אתר עם גלילה", "סרטון בגלילה"

Ubicación de guardado

Predeterminado: ~/Documents/yuv-projects/landings/<slug>/ — guarda siempre las páginas de aterrizaje aquí para que puedas encontrarlas de nuevo. Crea el directorio padre si falta.

mkdir -p ~/Documents/yuv-projects/landings
cd ~/Documents/yuv-projects/landings
# Construye <slug>/ aquí.

Ruta final: ~/Documents/yuv-projects/landings/<slug>/. Informa al usuario dónde está la página al final de cada construcción.


Flujo de trabajo (8 pasos)

  1. Sondear la fuente — ffprobe para duración, fps, dimensiones, audio.
  2. Elegir número de fotogramas — predeterminado 80. Mínimo 40 (entrecortado si es menor), máximo 160 (página pesada). Elegir según la duración: ≤10s → 50, 10–30s → 80, 30–60s → 120, >60s → 160.
  3. Decidir directorio de salida — predeterminado ~/Documents/yuv-projects/landings/<slug>/. El <slug> es corto, derivado del nombre del video o del tema. Solo sobrescribe si se solicita explícitamente.
  4. Extraer fotogramas — ejecuta references/extract-frames.py <video-fuente> <directorio-salida> [cantidad]. Genera directorio-salida/frames/f_0001.jpg… con calidad JPG consistente 82 y un ancho máximo de 1920 (reducido si la fuente es más grande).
  5. Copiar y personalizar references/landing-template.html en directorio-salida/index.html:
    • Reemplaza el marcador de posición __FRAMES__ con etiquetas <img> para cada fotograma (el script de construcción lo hace automáticamente cuando pasas --build-html).
    • Rellena __HEADLINE__, __TAGLINE__, __CTA_TEXT__, __CTA_HREF__, secciones.
    • Para contenido en hebreo: establece <html lang="he" dir="rtl"> y cambia las fuentes a Rubik/Assistant (consulta references/design-notes.md).
  6. Optimizar fotogramas — el script de construcción ya escala a 1920px de ancho máximo. Si el peso total de la página supera los 12 MB, reduce la calidad a 75 o disminuye el número de fotogramas.
  7. Vista previa — python -m http.server dentro del directorio de salida y abre http://localhost:8000. El desplazamiento se siente suave en una máquina decente.
  8. Desplegar — coloca la carpeta en Vercel/Netlify/Cloudflare Pages. No se necesita paso de construcción.

El mecanismo de desplazamiento

  • Scroller exterior .scroll-stage con altura en unidades de viewport (predeterminado 600vh = desplazar 5 pantallas para recorrer todos los fotogramas).
  • Heroe sticky position: sticky; top: 0; height: 100vh que contiene todos los fotogramas posicionados absolutamente y ocultos excepto el activo.
  • Listener de scroll calcula progress = scrolledIntoStage / scrollableHeight limitado entre 0 y 1.
  • idx = floor(progress * (N - 1)) — intercambia la clase .active a ese fotograma.
  • Envuelve el listener en requestAnimationFrame para mantener 60fps.

Reglas de diseño

  • Si el proyecto es de marca YUV.AI (Yuval personalmente, su portafolio, su marca): llama a yuv-design-system y bloquéalo a un modo según el medio:
    • Modo Neon (PREDETERMINADO para la web de YUV.AI): rosa intenso (#FF1464) + cian neón (#00E5FF) + blanco o negro intenso. Anton + Inter (inglés) / Rubik + Assistant (hebreo). Radios 0px o 999px.
    • Modo Editorial Cálido: solo para Hope, Marcus, bigcats.ai, practical.yuv.ai — rosa + amarillo + hueso, blanco roto nunca #fff puro.
    • Nunca usar modo Decks (púrpura/amarillo Fly High) para una página de aterrizaje — esa paleta está reservada solo para presentaciones de diapositivas.
  • Si el proyecto no es de marca YUV.AI: no aplicar yuv-design-system. Elegir una paleta que se ajuste al estado de ánimo del video fuente. Anton + Inter siguen siendo valores predeterminados razonables pero no obligatorios.
  • Las superposiciones del heroe deben ser sutiles — una viñeta y un solo titular grande; no ahogues el fotograma.
  • Secciones debajo del heroe: lienzo claro (blanco en modo Neon, blanco roto en modo Editorial Cálido, hueso si es genérico-cálido), título grande Anton, texto del cuerpo en Inter a 18–22px, CTA como una píldora afilada (border-radius: 999px) — relleno rosa en modo Neon, color apropiado a la marca en caso contrario.
  • Para hebreo: respeta RTL, usa Rubik 900 para titulares, Assistant 400/500 para cuerpo.

Referencias de archivos

ArchivoPropósito
references/extract-frames.pyExtractor de fotogramas basado en ffmpeg; opcionalmente construye el HTML completo de una vez
references/landing-template.htmlEsqueleto de página de aterrizaje autónomo con el mecanismo de desplazamiento
references/design-notes.mdValores predeterminados de tipografía, paleta y movimiento

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.

Skills relacionados