Communitygithub.com

Página de Aterrizaje Cinemática con Desplazamiento

Construye una página de aterrizaje cinemática impulsada por desplazamiento a partir de un video corto. El usuario proporciona un video de 5 a 15 segundos (a menudo generado por IA); esta habilidad extrae cada fotograma en calidad JPEG HD, luego produce una página HTML de un solo héroe donde el gesto de desplazamiento del usuario reproduce los fotogramas en su lugar (la página nunca se desplaza) y 5 superposiciones de texto dramáticas se funden/apagan.

¿Qué es Página de Aterrizaje Cinemática con Desplazamiento?

Esta habilidad transforma un videoclip corto (de 5 a 15 segundos) en una página de aterrizaje cinemática de una sola pantalla que responde al desplazamiento. El usuario hace scroll y el video avanza fotograma a fotograma, con cinco escenas de texto que se funden en momentos clave. La página parece desplazarse pero en realidad no lo hace; JavaScript intercepta el gesto y lo traduce en progreso virtual de fotogramas. Es ideal para presentaciones dramáticas tipo 'parallax hero' o 'página de aterrizaje con scrub de video'. Soporta modo independiente (crea una carpeta nueva) o integración en un showcase existente (como el de la carpeta `examples/parasites/`). Utiliza un lenguaje visual propio: tipografía Anton (títulos), Caveat (acentos escritos a mano) e Inter (cuerpo), con una paleta de acentos en oro, ámbar, rosa y crema. Incluye un cargador que precarga todos los fotogramas antes de la interacción, una superposición de viñeta y grano de película, y un contador de fotogramas en la esquina inferior derecha. El peso total es de aproximadamente 120–220 KB por fotograma, por lo que un clip de 6 segundos a 24 fps (~145 fotogramas) ocupa unos 25 MB.

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/parallax-landing-page

Preguntar en tu IA favorita

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

Documentación

Página de Aterrizaje Parallax

Convierte un video corto en una página de aterrizaje cinemática de una sola pantalla donde el gesto de desplazamiento del usuario reproduce el video fotograma a fotograma mientras cinco escenas de texto dramáticas se funden y se desvanecen. El documento nunca se desplaza realmente — la rueda, el toque y la entrada del teclado se interceptan en JS y se convierten en progreso virtual de fotogramas.

Esta habilidad codifica los patrones probados en la referencia incluida en ../../examples/parasites/ (las páginas de aterrizaje github / lion / hope — tres páginas funcionales construidas con esta misma habilidad). Trata esa carpeta como la verdad absoluta si algo aquí es ambiguo.

Dónde se sitúa esta habilidad en la pirámide de YUV.AI

parallax-landing-page está en el nivel medio de la pirámide de habilidades de YUV.AI, junto a yuv-design-system, yuv-decks, yuv-viral-video y video-to-landing-page. El orquestador de nivel superior yuv-pilot enruta aquí cada vez que un clip de video de 5 a 15 segundos necesita convertirse en una página de aterrizaje de un solo héroe con scrub de desplazamiento.

Esta habilidad trae su propio lenguaje visual (Anton + Caveat + Inter, paleta de acentos oro/ámbar/rosa/crema) — NO llama a yuv-design-system. Los dos sistemas coexisten: yuv-design-system posee la paleta de marca en superficies web/app/presentaciones, parallax-landing-page posee la estética cinemática de scrub de desplazamiento específicamente. Para las páginas de aterrizaje parallax de YUV.AI, puedes OPCIONALMENTE agregar una marca de agua de phoenix + la URL canónica de Linktree en el área del pie de página como un hilo de marca — consulta yuv-design-system/assets/ para el archivo de marca de agua. NO intercambies la pila de tipografía Anton/Caveat por la paleta Neon del sistema de diseño — eso perdería la apariencia característica.

Lo que estás construyendo

Cada página de aterrizaje es una única ventana gráfica bloqueada con:

  • Un lienzo que llena la pantalla, dibujando un fotograma a la vez (cover-fit, DPR ≤ 2)
  • 5 escenas de texto posicionadas absolutamente (kicker + titular Anton en mayúsculas + línea manuscrita Caveat), cada una con su propia ventana de progreso de desplazamiento
  • Una navegación fija con PARALLAX // showcase logo y enlaces a páginas de aterrizaje hermanas
  • Un cargador que precarga cada fotograma antes de permitir que el usuario interactúe
  • Una superposición de viñeta y grano de película
  • Una sugerencia de desplazamiento inferior que se desvanece una vez que el usuario comienza a desplazarse
  • Un contador de fotogramas en la esquina inferior derecha (ej. 073 / 145)
  • Una escena final que es la sección de CTA — sin una sección .end separada debajo

Peso total a q:v 2: aproximadamente 120–220 KB por fotograma × número de fotogramas. Un clip de 6 segundos a 24 fps = 145 fotogramas ≈ 25 MB. Un clip de 10 segundos = 241 fotogramas ≈ 53 MB.

Ubicación de guardado

Predeterminado: ~/Documents/yuv-projects/landings/<slug>/ — siempre guarda las páginas de aterrizaje independientes aquí para que puedas encontrarlas de nuevo. Anula solo si el usuario elige explícitamente una ubicación diferente O si se selecciona el Modo B (integrar en el showcase existente examples/parasites/).

mkdir -p ~/Documents/yuv-projects/landings
cd ~/Documents/yuv-projects/landings
# La habilidad crea <slug>/ aquí a medida que extrae fotogramas y construye el HTML.

Ruta final (Modo A — independiente): ~/Documents/yuv-projects/landings/<slug>/. Ruta final (Modo B — integrar): el directorio de showcase existente que el usuario eligió.

Informa al usuario la ruta final al final de cada compilación.


Flujo de trabajo

Hay cuatro fases. No te saltes fases — cada una alimenta a la siguiente.

Fase 1 — Descubrir

Confirma con el usuario:

  1. Ruta del video — dónde se encuentra el MP4 fuente.
  2. Slug — nombre corto de carpeta/archivo (ej. hope, marcus, desk). Una palabra, minúscula, sin espacios. Esto se convierte tanto en el nombre de la carpeta de fotogramas (<slug>/) como en el nombre del archivo HTML (<slug>.html).
  3. Tema / tópico — ¿de qué trata esta página de aterrizaje? ¿Un lanzamiento de producto? ¿Un momento personal? ¿Un encuentro con la vida silvestre? Necesitas esto para escribir el texto.
  4. Modo del proyecto — independiente (carpeta nueva) o integrar en el showcase existente de parasites en examples/parasites/ (parte superior de este repositorio). Si el usuario dice «agrégalo al showcase», significa Modo B a continuación.
  5. Color de acento — para el script/destacado de CTA: gold (#f5b042), amber (#ff8a3d), accent (rosa #ff4d6d), cream (#f5e9d4), o algo nuevo (agrégalo a :root en style.css y escribe una nueva regla .script.<nombre>).

Si el usuario no ha especificado algunos de estos, propón valores predeterminados y continúa — no te detengas en preguntas que puedan responder una vez que vean el resultado.

Fase 2 — Extraer fotogramas

Ejecuta el script de extracción incluido. Sondea el video con ffprobe y extrae cada fotograma en resolución nativa con -q:v 2 (JPEG casi sin pérdida), nombrándolos frame-001.jpg hasta frame-NNN.jpg (3 dígitos rellenados con ceros).

python <skill>/scripts/extract_frames.py <ruta_del_video> <carpeta_de_salida>

Ejemplo:

python C:/Users/User/.claude/skills/parallax-landing-page/scripts/extract_frames.py \
    C:/Users/User/Documents/parasites/hope/hope.mp4 \
    C:/Users/User/Documents/parasites/hope

El script imprime un bloque de metadatos JSON en stdout. Captúralo — necesitas frame_count y suggested_scroll_budget para el HTML.

Por qué -q:v 2: ezgif y herramientas similares re-comprimen agresivamente (~55 KB/fotograma). ffmpeg nativo a q:v 2 da ~120–220 KB/fotograma en las mismas dimensiones — visiblemente más nítido. No reduzcas la resolución; nunca aumentes la resolución (infla los archivos sin agregar detalle).

Por qué la fórmula de presupuesto de desplazamiento (≈26 px por fotograma): mantiene constante la sensación táctil de «píxeles de desplazamiento por fotograma avanzado» entre las duraciones de los clips. 145 fotogramas → ~4200, 241 fotogramas → ~6300, 90 fotogramas → ~2500 (mínimo). El script lo calcula por ti y lo limita a [2500, 8000].

Fase 3 — Crear la página

Lee la plantilla en <skill>/assets/landing-page-template.html. Es un archivo funcional completo con marcadores {{PLACEHOLDER}} y comentarios <!-- TODO: --> junto a las partes creativas. Escribe un nuevo archivo en <target>/<slug>.html con todo sustituido.

Lista de verificación de sustituciones (cada marcador de posición debe ser reemplazado):

MarcadorQué ponerEjemplo
{{PAGE_TITLE}}<title> HTMLHope — The Fastest Heart in the Negev
{{PAGE_DESCRIPTION}}meta descripción, una oraciónA moment with Hope, the cheetah of Midbarium.
{{SLUG}}nombre de carpeta (sin ruta, sin barra)hope
{{FRAME_COUNT}}número entero de fotogramas241
{{FRAME_COUNTER_TEXT}}001 / NNN con ancho coincidente001 / 241
{{SCROLL_BUDGET}}número entero del JSON del extractor6300
{{PREVIEW_FRAME_MID}}fotograma medio rellenado con ceros121
{{PREVIEW_FRAME_END}}último fotograma rellenado con ceros241
{{LOADER_TITLE}}una palabra, mayúsculasHOPE
{{LOADER_SCRIPT}}línea manuscrita que termina en …summoning the runner…
{{NAV_LINKS_HTML}}bloque completo de etiqueta <a> para navver abajo
{{SCENE_N_*}}kicker, titular, línea manuscrita para cada una de las 5 escenasver guía de copy
{{SCROLL_HINT_TEXT}}indicación en mayúsculas de 2 a 4 palabrasSCROLL TO RUN
{{CTA_BUTTONS_HTML}}2 a 4 etiquetas `<a class=

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

Turn any video into a cinematic scroll-driven landing page — Apple-style hero where scrolling progresses the visible frame through the video. Use when the user provides a video file and asks for "a landing page from this video", "scroll-frame website", "Apple-style scroll site", "hero that scrubs the video", "like the GitHub Copilot landing", or any equivalent. Extracts N evenly-spaced frames via ffmpeg, builds a self-contained HTML page with a sticky hero + JS scroll listener that swaps the visible frame as you scroll, plus headline, sections and CTA below. For YUV.AI projects, applies the yuv-design-system skill in Neon mode (pink/cyan/white, default for YUV.AI web) — Decks (purple/yellow) is reserved for slides only. For generic / non-YUV.AI projects, picks an appropriate palette per the source video. Output is one folder with `index.html` and a `frames/` directory — drop on any static host.

Skills relacionados