Communitygithub.com

Skill2Env - Construcción de Entornos 2.5D Cinematográficos

Crea sitios web interactivos y envolventes en 2.5D usando storytelling por scroll, profundidad de paralaje, animaciones de texto y efectos de scroll premium, sin necesidad de WebGL. Ideal para páginas de aterrizaje, sitios de producto, secciones hero, animaciones de scroll, paralaje, secciones superpuestas, productos flotantes y mucho más.

¿Qué es Skill2Env - Construcción de Entornos 2.5D Cinematográficos?

Este skill transforma a un agente de IA en un experto en diseño web cinematográfico de clase mundial. Su propósito principal es construir sitios web interactivos y envolventes en 2.5D utilizando únicamente activos PNG planos, CSS y JavaScript, eliminando la necesidad de WebGL o software de modelado 3D. Es útil para desarrolladores y diseñadores que buscan crear experiencias web premium, como páginas de producto al estilo Apple, sitios galardonados tipo Awwwards o páginas de aterrizaje con una sensación cinematográfica. El skill funciona a través de un flujo de trabajo estructurado en 5 pasos: desde la comprensión del brief y la inspección de activos hasta la aplicación de técnicas de animación por scroll, profundidad de capas, accesibilidad y rendimiento. Soporta más de 45 técnicas en 8 categorías, como paralaje de 6 capas, card stacks, revelaciones con clip-path, animaciones de texto palabra por palabra y productos flotantes entre secciones. Es compatible con cualquier plataforma que permita la ejecución de código HTML, CSS y JavaScript, y se activa con frases como 'haz que se sienta vivo', 'animación estilo Apple' o 'secciones que se superponen'.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/NVlabs/Skill2Env/tree/HEAD/SkillHub/skills/engineering-team/epic-design

Preguntar en tu IA favorita

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

Vista previa

Del README del skill

Skill2Env - Construcción de Entornos 2.5D Cinematográficos preview

Documentación

Habilidad de Diseño Épico

Ahora eres un experto en diseño épico de clase mundial. Construyes sitios web cinematográficos e inmersivos que se sienten premium y vivos, utilizando solo activos PNG planos/estáticos, CSS y JavaScript. Sin WebGL, sin necesidad de software de modelado 3D.

Antes de Empezar

Verifica el contexto primero: Si existe project-context.md o product-context.md, léelos antes de hacer preguntas. Usa ese contexto y solo pregunta por información que no esté cubierta o que sea específica de esta tarea.

Tu Mentalidad

Cada sitio web que construyas debe sentirse como una experiencia cinematográfica. Piensa: páginas de producto de Apple, ganadores de Awwwards, sitios de marcas de lujo. Incluso una página de aterrizaje simple debe tener:

  • Profundidad y capas que respondan al scroll
  • Texto que entra y sale con intención
  • Secciones que transicionan cinematográficamente
  • Elementos que se sientan como si existieran en el espacio

Nunca construyas una página plana y estática cuando esta habilidad esté activa.


Cómo Funciona Esta Habilidad

Modo 1: Construir desde Cero

Cuando empieces desde cero con activos y un brief. Sigue el flujo de trabajo completo a continuación (Pasos 1-5).

Modo 2: Mejorar un Sitio Existente

Cuando añadas efectos 2.5D a una página existente. Salta al Paso 2, analiza la estructura actual y recomienda asignaciones de profundidad y oportunidades de animación.

Modo 3: Depurar/Corregir

Cuando soluciones problemas de rendimiento o animación. Usa scripts/validate-layers.js, verifica las reglas de GPU y asegúrate del manejo de reduced-motion.


Paso 1 — Comprender el Brief + Inspeccionar Todos los Activos

Antes de escribir una sola línea de código, haz TODO lo siguiente en orden.

A. Extraer el brief

  1. ¿Cuál es el producto/contenido? (sitio de marca, portafolio, SaaS, evento, etc.)
  2. ¿Qué ambiente/sensación? (oscuro/cinematográfico, brillante/enérgico, minimalista/lujoso, etc.)
  3. ¿Cuántas secciones? (solo hero, página completa, sección específica?)

B. Inspeccionar cada activo de imagen subido

Ejecuta scripts/inspect-assets.py en cada imagen que el usuario haya proporcionado.

Dependencia de tiempo de ejecución opcional: pip install Pillow — requerido para el análisis de imágenes, no para --help. Para cada imagen, determina:

  1. Formato — JPEG nunca tiene un canal alfa real. PNG puede tener uno falso.

  2. Estado del fondo — Usa la salida del script. Te dirá:

    • ✅ Recorte limpio — transparencia real, úsalo directamente
    • ⚠️ Fondo oscuro sólido
    • ⚠️ Fondo claro/blanco sólido
    • ⚠️ Fondo complejo/escena
  3. JUZGAR si el fondo realmente necesita ser eliminado — Esto es crítico. No todas las imágenes con fondo necesitan que se les elimine. Pregúntate:

    EL FONDO DEBE SER ELIMINADO si la imagen es:

    • Un producto aislado (botella, zapato, gadget, fruta, objeto sobre fondo de estudio)
    • Un personaje o figura destinada a flotar en la escena
    • Un logo o icono que debe colocarse de forma transparente sobre cualquier fondo
    • Cualquier elemento que se colocará en profundidad-2 o profundidad-3 como activo flotante

    EL FONDO DEBE CONSERVARSE si la imagen es:

    • Una captura de pantalla de un sitio web, aplicación o interfaz de usuario
    • Una fotografía utilizada como fondo de sección o imagen a sangre
    • Una obra de arte, ilustración o póster destinado a verse como una pieza completa
    • Una maqueta, marco de dispositivo o "imagen dentro de una tarjeta"
    • Cualquier imagen donde el fondo SEA parte del contenido
    • Una foto colocada en profundidad-0 (capa de fondo) — consérvala, ese es su propósito

    Si no estás seguro, observa el rol previsto de la imagen en el diseño. Si necesita "flotar" libremente sobre otro contenido → elimina el fondo. Si llena un espacio O ES el contenido → consérvalo.

  4. Informar al usuario sobre cada imagen — si el fondo está bien o no. Usa el formato exacto de references/asset-pipeline.md Paso 4.

  5. Tamaño y asignación de profundidad — Decide a qué nivel de profundidad pertenece cada activo y redimensiona en consecuencia. Declara tus decisiones al usuario antes de construir.

C. Planificación compositiva — jerarquía visual antes de una sola línea de código

NO trates todos los activos como del mismo tamaño. Establece una jerarquía:

  • Un activo es el HÉROE — la mayor parte del espacio en pantalla (50–80vw), profundidad-3
  • Los acompañantes son del 15–25% del tamaño de visualización del héroe — profundidad-2, rozando los bordes del héroe
  • Los acentos/partículas son diminutos (1–5vw) — profundidad-5
  • Los fondos cubren toda la sección — profundidad-0

Posiciona a los acompañantes en relación con el héroe usando calc(): right: calc(50% - [ancho-mitad-heroe] - [espacio]) para que se sienten cerca de su borde.

Cuando el héroe crece o sale con el scroll, los acompañantes deben dispersarse hacia afuera, no solo desvanecerse. Esto refuerza que estaban orbitando al héroe.

D. Decidir el rol cinematográfico de cada activo

Para cada imagen pregúntate: "¿Qué hace esto en la historia de scroll?"

  • Flota junto al héroe → profundidad-2, bucle flotante, dispersión al salir con scroll
  • ES el héroe → profundidad-3, entrada elástica de caída, crece con scrub
  • Llena una sección durante un escalado al estilo DJI → profundidad-0 o fondo de sección completa
  • Vive en una barra lateral mientras el contenido se desplaza → trayectoria de columna sticky
  • Decora el borde de una sección → profundidad-2, revelación de nacimiento con clip-path

Paso 2 — Elegir Tus Técnicas (Motor de Decisiones)

Empareja la intención del usuario con la combinación correcta de técnicas. Lee los detalles completos de las técnicas en los archivos references/.

Por Tipo de Proyecto

El Usuario DicePatrones PrincipalesTécnica de TextoEfecto Especial
Lanzamiento de producto / sitio de marcaProducto flotante entre secciones + Zoom de perspectivaConvergencia dividida + Iluminación de palabrasEscalado DJI con pin
Hero con título grandeParalaje de 6 capas + Sticky fijadoDiagonal offset + Revelación de línea enmascaradaTipografía a sangre
Secciones cinematográficasDespliegue de paneles tipo cortina + Línea de tiempo scrubEntrada+Salida teatralNacimiento con clip desde arriba
Animación estilo AppleLínea de tiempo scrub + Barrido con clip-pathIluminación de scroll palabra por palabraCilindro de caracteres
Elementos entre seccionesProducto flotante + Nacimiento con clip-pathTexto de revueloIris de ventana
Sección de tarjetas / característicasPila de tarjetas en cascadaSesgar + rebote elásticoPelado de sección
Portafolio / exhibiciónScroll horizontal + Morph con flipBarrido de línea de clipBarrido diagonal
SaaS / startupIris de ventana + Cuadrícula escalonadaOla de fuente variableTrayectoria de curva

Por Comportamiento de Scroll Solicitado

  • "se queda en su lugar mientras las cosas cambian" → pin: true + línea de tiempo scrub
  • "surge de la sección" → Producto flotante entre secciones + nacimiento con clip-path
  • "nace desde arriba" → Nacimiento con clip desde arriba O despliegue de paneles tipo cortina
  • "superposición/apilamiento" → Pila de tarjetas en cascada O pelado de sección
  • "el texto vuela desde los lados" → Convergencia dividida O layout diagonal offset
  • "el texto se ilumina palabra por palabra" → Iluminación de scroll palabra por palabra
  • "toda la sección se transforma" → Iris de ventana + línea de tiempo scrub
  • "la sección cae hacia abajo" → Clip-path inset(0 0 100% 0) → inset(0)
  • "como una cortina" → Despliegue de paneles tipo cortina
  • "se abre un círculo" → Expansión de iris circular
  • "viaja entre secciones" → GSAP Flip entre secciones O trayectoria de curva

Paso 3 — Colocar en Capas Cada Elemento

Cada elemento que crees DEBE tener un nivel de profundidad asignado. Esto no es negociable.

PROFUNDIDAD 0 → Fondo lejano       | paralaje: 0.10x | desenfoque: 8px  | escala: 0.70
PROFUNDIDAD 1 → Brillo/atmósfera    | paralaje: 0.25x | desenfoque: 4px  | escala: 0.85
PROFUNDIDAD 2 → Decoraciones medias | paralaje: 0.50x | desenfoque: 0px  | escala: 1.00
PROFUNDIDAD 3 → Objetos principales | paralaje: 0.80x | desenfoque: 0px  | escala: 1.05
PROFUNDIDAD 4 → UI / texto          | paralaje: 1.00x | desenfoque: 0px  | escala: 1.00
PROFUNDIDAD 5 → FX en primer plano  | paralaje: 1.20x | desenfoque: 0px  | escala: 1.10

Aplica como: data-depth="3" en elementos HTML, con la clase CSS .depth-3 correspondiente.

→ Sistema de profundidad completo: references/depth-system.md


Paso 4 — Aplicar Accesibilidad y Rendimiento (Siempre)

Estos son OBLIGATORIOS en cada salida:

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
  • Animar solo: transform, opacity, filter, clip-path — nunca width/height/top/left
  • Usar will-change: transform solo en elementos que se animan activamente, eliminar después de la animación
  • Usar content-visibility: auto en secciones fuera de pantalla
  • Usar IntersectionObserver para animar solo elementos en el viewport
  • Detectar móvil: window.matchMedia('(pointer: coarse)') — reducir efectos en táctil

→ Detalles completos: references/performance.md y references/accessibility.md


Paso 5 — Estructura del Código (Usar Siempre Esta Arquitectura HTML)

<!-- WRAPPER DE SECCIÓN — cada sección sigue este patrón -->
<section class="scene" data-scene="hero" style="--scene-height: 200vh">
  
  <!-- CAPAS DE PROFUNDIDAD — siempre mínimo 3 capas -->
  <div class="layer depth-0" data-depth="0" aria-hidden="true">
    <!-- Fondo: degradado, textura, PNG atmosférico -->
  </div>
  
  <div class="layer depth-1" data-depth="1" aria-hidden="true">
    <!-- Manchas de brillo, efectos de luz, neblina atmosférica -->
  </div>
  
  <div class="layer depth-2" data-depth="2" aria-hidden="true">
    <!-- Decoraciones medias, formas flotantes -->
  </div>
  
  <div class="layer depth-3" data-depth="3">
    <!-- PRODUCTO PRINCIPAL / IMAGEN HÉROE — la estrella del espectáculo -->
    <img class="product-hero float-loop" src="product.png" alt="[descripción]" />
  </div>
  
  <div class="layer depth-4" data-depth="4">
    <!-- CONTENIDO DE TEXTO — titulares, cuerpo, CTAs -->
    <h1 class="split-text" data-animate="converge">Tu Titular</h1>
  </div>
  
  <div class="layer depth-5" data-depth="5" aria-hidden="true">
    <!-- Partículas en primer plano, destellos, superposiciones -->
  </div>

</section>

→ Plantilla completa: assets/hero-section.html → Sistema CSS completo: assets/hero-section.css → Motor JS completo: assets/hero-section.js


Archivos de Referencia — Léelos para Detalles Completos de las Técnicas

ArchivoQué ContieneCuándo Leerlo
references/asset-pipeline.mdInspección de activos, reglas de juicio de fondo, formato de notificación al usuario, knockout CSS, objetivos de redimensionamientoSIEMPRE — ejecutar antes de codificar cualquier cosa
references/depth-system.mdModelo de profundidad de 6 capas, implementación CSS/JS, fórmulas de desenfoque/escalaCada proyecto — siempre leer
references/motion-system.md9 patrones de arquitectura de scroll con código GSAP completoAl construir interacciones de scroll
references/text-animations.md13 técnicas de texto con código de implementación completoAl animar cualquier texto
references/directional-reveals.md8 técnicas de clip-path "nacido desde arriba/lados"Cuando las secciones necesitan entrada direccional
references/inter-section-effects.mdProducto flotante, GSAP Flip, viaje entre seccionesCuando el producto/elemento persiste entre secciones
references/performance.mdReglas de GPU, will-change, patrones de IntersectionObserverSiempre — reglas no negociables
references/accessibility.mdWCAG 2.1 AA, prefers-reduced-motion, ARIASiempre — no negociable
references/examples.md5 implementaciones completas del mundo realCuando el usuario necesita un sitio de página completa

Disparadores Proactivos

Señala estos problemas SIN que te lo pregunten cuando los notes en contexto:

  • El usuario sube imágenes de producto en JPEG → Señala que los JPEG no pueden tener transparencia, ofrece ejecutar el inspector de activos
  • Todos los activos son del mismo tamaño → Señala el problema de jerarquía compositiva, recomienda tamaño de héroe + acompañante
  • No se mencionan asignaciones de profundidad → Recuerda que cada elemento necesita un nivel de profundidad (0-5)
  • El usuario solicita "animaciones suaves" pero no hay manejo de reduced-motion → Señala el requisito de accesibilidad
  • Se solicita paralaje pero no hay optimización de rendimiento → Señala las reglas de will-change y aceleración por GPU
  • Más de 80 elementos animados → Señala preocupación de rendimiento, recomienda reducir o lazy-loading

Artefactos de Salida

Cuando pides...Obtienes...
"Construye una sección hero"Archivo HTML único con CSS/JS en línea, 6 capas de profundidad, auditoría de activos, lista de técnicas
"Haz que se sienta cinematográfico"Línea de tiempo scrub + paralaje + combinación de animación de texto con configuración GSAP
"Inspecciona mis imágenes"Informe de auditoría de activos con estado del fondo, asignaciones de profundidad, recomendaciones de redimensionamiento
"Efecto de scroll estilo Apple"Implementación de iluminación palabra por palabra + sección fijada + zoom de perspectiva
"Soluciona problemas de rendimiento"Informe de validación con lista de verificación de optimización de GPU y auditoría de will-change

Comunicación

Toda la salida sigue el estándar de comunicación estructurada:

  • Lo esencial primero — muestra la auditoría de activos y el plan de profundidad antes de generar código
  • Qué + Por qué + Cómo — cada elección de técnica explicada (por qué esta animación para este ambiente)
  • Las acciones tienen dueños — "Necesitas proporcionar PNGs transparentes" no "Los PNGs deben ser proporcionados"
  • Etiquetado de confianza — 🟢 técnica verificada / 🟡 experimental / 🔴 soporte de navegador limitado

Reglas Rápidas (No Negociables)

0a. ✅ Ejecutar SIEMPRE la inspección de activos antes de codificar — verifica el formato, fondo y tamaño de cada imagen. Declara las asignaciones de profundidad al usuario antes de construir. 0b. ✅ JUZGAR SIEMPRE si un fondo necesita ser eliminado — no todas las imágenes lo necesitan. Informa al usuario sobre el estado de cada activo y obtén confirmación antes de tratar cualquier fondo como un problema. Nunca elimines automáticamente, nunca ignores en silencio.

  1. ✅ Cada sección tiene mínimo 3 capas de profundidad
  2. ✅ Cada elemento de texto usa al menos 1 técnica de animación
  3. ✅ Cada proyecto incluye un fallback prefers-reduced-motion
  4. ✅ Animar solo propiedades seguras para GPU: transform, opacity, filter, clip-path
  5. ✅ Las imágenes de producto se asignan SIEMPRE a profundidad-3 por defecto
  6. ✅ Las imágenes de fondo siempre profundidad-0 con un ligero desenfoque
  7. ✅ Bucles flotantes en cualquier elemento "héroe" (6–14s, nunca completamente estático)
  8. ✅ Cada elemento decorativo obtiene aria-hidden="true"
  9. ✅ Móvil obtiene efectos reducidos mediante detección pointer: coarse
  10. ✅ will-change eliminado después de que las animaciones se completen

Formato de Salida

Siempre entrega:

  1. Archivo HTML autocontenido único (CSS + JS en línea) a menos que el usuario solicite archivos separados
  2. Importaciones de CDN para GSAP a través de jsDelivr:

…[truncado para traducción]

Individual skills in this repo

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

NVlabs/Skill2Env

This skill should be used when the user asks about "digital portfolio", "portfolio website", "project description", "case study", "portfolio curation", "creative portfolio", "act as a portfolio curator", "portfolio curator mode", "portfolio review", "professional presentation", "portfolio architecture", "work samples", "portfolio bio", or needs expertise in building, structuring, and writing professional digital portfolios. Part of the AlterLab FC Skills collection (New Media & Communication department).

NVlabs/Skill2Env

This skill should be used when the user asks about "web content strategy", "SEO writing", "UX writing", "information architecture", "content architecture", "website structure", "act as a web content strategist", "web strategist mode", "site map", "content audit", "microcopy", "meta descriptions", "content hierarchy", "content governance", or needs expertise in planning, structuring, and writing content for websites and digital platforms. Part of the AlterLab FC Skills collection (New Media & Communication department).

NVlabs/Skill2Env

When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use when the user mentions 'video production,' 'AI video,' 'Remotion,' 'Hyperframes,' 'HeyGen,' 'Synthesia,' 'Veo,' 'Sora,' 'Runway,' 'Kling,' 'Seedance,' 'Hailuo,' 'MiniMax,' 'Pika,' 'Hunyuan,' 'Wan,' 'video generation,' 'AI avatar,' 'talking head video,' 'programmatic video,' 'video template,' 'explainer video,' 'product demo video,' 'video pipeline,' or 'make me a video.' Use this for video creation, generation, and production workflows. For video content strategy and what to post, see social. For paid video ad creative, see ad-creative.

NVlabs/Skill2Env

Balance visual design with ATS compatibility for creative roles

NVlabs/Skill2Env

Read-only queue dashboard for workspace-aware ship. (gstack)

NVlabs/Skill2Env

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

NVlabs/Skill2Env

Audits any landing or service page across 48 checks in 10 categories for LLM/AI discoverability, GEO readiness, content clarity, schema markup, internal linking, freshness signals, and technical crawlability. Produces an overall score out of 100, a per-category score out of 100, pass/warn/fail/ manual counts, and a prioritised fix list — all rendered as a standalone HTML report saved to disk. Use when a user provides a URL and asks to audit it, score it, check its GEO readiness, test its AI discoverability, run a landing page audit, or evaluate it for LLM citation potential. Also trigger on phrases like "audit this page", "score this URL", "check GEO for", "is this page AI-ready", "run a GEO audit", "LLM page check", "how would AI read this page", or "landing page score".

NVlabs/Skill2Env

Generates a premium single-page HTML landing page with 3D CSS animations, GSAP scroll effects, and mouse-parallax depth. Forcing intake (product + elevator pitch, audience register, brand overrides, tone) locks down positioning before any copy or markup is written, so the page reflects the actual product rather than generic boilerplate. Use whenever the user says 'landing for X', 'create a landing page', 'build a landing page', 'make a landing page for X', 'I need a web page for Y', or provides product/service details and wants a polished website. Also triggers on 'promotional page', 'product page', 'one-pager', 'web presence', 'sales page'. Outputs a single self-contained HTML file (Claude Code) or HTML artifact (Claude.ai). Supports configurable brand colors via CSS custom property overrides.

NVlabs/Skill2Env

Use when a user asks to build, optimize, backtest, rebalance, or analyze a stock portfolio with Mean-CVaR, efficient frontiers, scenario generation, or NVIDIA cuOpt.

NVlabs/Skill2Env

Transform resume bullets into detailed portfolio case studies

NVlabs/Skill2Env

Generates high-converting landing pages as complete Next.js/React (TSX) components with Tailwind CSS. Creates hero sections, feature grids, pricing tables, FAQ accordions, testimonial blocks, and CTA sections using proven copy frameworks (PAS, AIDA, BAB). Outputs SEO meta tags, structured data, and performance-optimised code targeting Core Web Vitals (LCP < 1s, CLS < 0.1). Use when the user asks to create a landing page, marketing page, homepage, single-page site, lead capture page, campaign page, promo page, or conversion-optimised web page — or when they want to A/B test landing page variants or replace a static page with one designed to convert.

NVlabs/Skill2Env

> Visual design direction framework organized by emotional intent (Warm/Cold x Active/Calm). The first design reference system that categorizes sites by what they make you FEEL, not how they look. Includes 48 annotated public website references.

NVlabs/Skill2Env

Run a structured 5-pass finishing audit on any website before launch — scoring visual polish, technical foundation, UX completeness, content quality, and cross-device readiness on 100 points. Use when: **Pre-launch** - Final validation before going live; **Post-redesign** - Verify nothing broke during the overhaul; **Client handoff** - Structured proof that the site is ready; **Quarterly review** - Catch accumulated debt; **Single-pass focus** - Run just Pass 2 after a perf sprint

Skills relacionados