Communitygithub.com

Rohithdgrr/REEK-uninstaller

Construye sitios web interactivos 2.5D inmersivos y cinematográficos utilizando narrativa por scroll, profundidad de paralaje, animaciones de texto y efectos de scroll premium — sin necesidad de WebGL.

¿Qué es REEK-uninstaller?

Esta habilidad transforma a un agente de IA en un experto en diseño cinematográfico para la web, permitiéndole construir sitios interactivos 2.5D con narrativa por scroll, profundidad de paralaje, animaciones de texto y efectos de desplazamiento premium, todo utilizando únicamente CSS, JavaScript y assets PNG/estáticos sin necesidad de WebGL. Es compatible con plataformas como Claude Code, Cursor y Codex, y cubre más de 45 técnicas en 8 categorías, incluyendo superposición de secciones, productos flotantes, revelaciones con clip-path, texto que entra desde los lados, palabras que se iluminan al hacer scroll, cortinas, iris circulares, pilas de tarjetas y tipografía sangrante. La habilidad se activa con frases como "haz que se sienta vivo", "animación estilo Apple", "secciones que se superponen", "inmersivo" o cualquier efecto visual impulsado por scroll. Antes de codificar, el agente inspecciona, juzga y planifica todos los assets, siguiendo un flujo de trabajo estructurado de 5 pasos que incluye la comprensión del briefing, la inspección de imágenes (con reglas para decidir si se debe eliminar el fondo), la asignación de profundidad a cada elemento, la elección de técnicas según el tipo de proyecto y la aplicación de principios de accesibilidad y rendimiento. Es ideal para páginas de aterrizaje, sitios de productos, secciones de héroe, portafolios y cualquier sitio que busque una sensación cinematográfica y premium.

Compatible con~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/Rohithdgrr/REEK-uninstaller/tree/HEAD/.opencode/skills/epic-design

Preguntar en tu IA favorita

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

Vista previa

Del README del skill

REEK-uninstaller 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 assets PNG/estáticos planos, CSS y JavaScript. Sin WebGL, sin necesidad de software de modelado 3D.

Antes de Empezar

Verifica el contexto primero: Si existen project-context.md o product-context.md, léelos antes de hacer preguntas. Usa ese contexto y solo pregunta por información no cubierta o 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 responden al scroll
  • Texto que entra y sale con intención
  • Secciones que transicionan cinematográficamente
  • Elementos que se sienten 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 empiezas desde cero con assets y un briefing. Sigue el flujo de trabajo completo a continuación (Pasos 1-5).

Modo 2: Mejorar un Sitio Existente

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

Modo 3: Depurar/Corregir

Cuando solucionas problemas de rendimiento o animación. Usa scripts/validate-layers.js, verifica las reglas de GPU, comprueba el manejo de reduced-motion.


Paso 1 — Comprender el Briefing + Inspeccionar Todos los Assets

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

A. Extraer el briefing

  1. ¿Cuál es el producto/contenido? (sitio de marca, portafolio, SaaS, evento, etc.)
  2. ¿Qué estado de ánimo/sensación? (oscuro/cinematográfico, brillante/energético, minimalista/lujo, etc.)
  3. ¿Cuántas secciones? (solo héroe, página completa, sección específica?)

B. Inspeccionar cada asset 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 el resultado del script. Te dirá:

    • ✅ Recorte limpio — transparencia real, úsalo directamente
    • ⚠️ Fondo oscuro sólido
    • ⚠️ Fondo claro/blanco sólido
    • ⚠️ Fondo complejo/escena
  3. JUZGA 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 ELIMINARSE 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 logotipo o icono que debe colocarse de forma transparente sobre cualquier fondo
    • Cualquier elemento que se colocará en profundidad-2 o profundidad-3 como un asset flotante

    EL FONDO DEBE MANTENERSE 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) — mantenla, ese es su propósito

    Si no estás seguro, observa el papel 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 → mantenlo.

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

  5. Tamaño y asignación de profundidad — Decide a qué nivel de profundidad pertenece cada asset y redimensiona en consecuencia. Expresa 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 assets como si tuvieran el mismo tamaño. Establece una jerarquía:

  • Un asset es el HÉROE — más 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, abrazando los bordes del héroe
  • Los acentos/partículas son diminutos (1–5vw) — profundidad-5
  • Los rellenos de fondo cubren toda la sección — profundidad-0

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

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

D. Decidir el papel cinematográfico de cada asset

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

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

Paso 2 — Elige Tus Técnicas (Motor de Decisión)

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 palabrasEscala DJI pin
Héroe con título grandeParalaje de 6 capas + Pegajoso fijadoDiagonal desplazada + Revelación de línea enmascaradaTipografía sangrante
Secciones cinematográficasPanel de cortina enrollable + Línea de tiempo scrubEntrada+salida teatralNacimiento con clip de arriba a abajo
Animación estilo AppleLínea de tiempo scrub + Barrido con clip-pathIluminación de scroll palabra por palabraCilindro de carácter
Elementos entre seccionesProducto flotante + Nacimiento con clip-pathTexto revueltoIris de panel de ventana
Sección de tarjetas / característicasPila de tarjetas en cascadaSesgado + rebote elásticoPelado de sección
Portafolio / exhibiciónScroll horizontal + Transformación FlipBarrido de línea con clipBarrido diagonal
SaaS / startupIris de panel de ventana + Cuadrícula escalonadaOla de fuente variableViaje en trayectoria curva

Por Comportamiento de Scroll Solicitado

  • "permanece 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 de arriba a abajo O panel de cortina enrollable
  • "superposición/apilamiento" → Pila de tarjetas en cascada O pelado de sección
  • "el texto vuela desde los lados" → Convergencia dividida O diseño diagonal desplazado
  • "el texto se ilumina palabra por palabra" → Iluminación de scroll palabra por palabra
  • "toda la sección se transforma" → Iris de panel de ventana + línea de tiempo scrub
  • "la sección cae" → Clip-path inset(0 0 100% 0) → inset(0)
  • "como una cortina" → Panel de cortina enrollable
  • "se abre un círculo" → Expansión de iris circular
  • "viaja entre secciones" → GSAP Flip entre secciones O viaje en trayectoria curva

Paso 3 — Capa 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 de 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.

→ Detalles completos del sistema de profundidad: references/depth-system.md


Paso 4 — Aplica 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;
  }
}
  • Anima solo: transform, opacity, filter, clip-path — nunca width/height/top/left
  • Usa will-change: transform solo en elementos que se animan activamente, elimínalo después de la animación
  • Usa content-visibility: auto en secciones fuera de pantalla
  • Usa IntersectionObserver para animar solo elementos en el viewport
  • Detecta móvil: window.matchMedia('(pointer: coarse)') — reduce efectos en táctil

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


Paso 5 — Estructura del Código (Usa 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, bruma 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 DEL 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 de 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 Obtener Detalles Completos de las Técnicas

ArchivoQué ContieneCuándo Leer
references/asset-pipeline.mdInspección de assets, reglas de juicio de fondo, formato de notificación al usuario, knockout CSS, objetivos de redimensionamientoSIEMPRE — ejecuta antes de codificar cualquier cosa
references/depth-system.mdModelo de profundidad de 6 capas, implementación CSS/JS, fórmulas de desenfoque/escalaCada proyecto — léelo siempre
references/motion-system.md9 patrones de arquitectura de scroll con código GSAP completoCuando construyas interacciones de scroll
references/text-animations.md13 técnicas de texto con código de implementación completoCuando animes cualquier texto
references/directional-reveals.md8 técnicas de clip-path "nacido desde arriba/lados"Cuando las secciones necesiten entrada direccional
references/inter-section-effects.mdProducto flotante, GSAP Flip, viaje entre seccionesCuando el producto/elemento persista a través de 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 necesite un sitio de página completa

Disparadores Proactivos

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

  • El usuario sube imágenes de producto JPEG → Señala que los JPEG no pueden tener transparencia, ofrece ejecutar el inspector de assets
  • Todos los assets tienen el 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 sin manejo de reduced-motion → Señala el requisito de accesibilidad
  • Se solicita paralaje pero sin optimización de rendimiento → Señala las reglas de will-change y aceleración por GPU
  • Más de 80 elementos animados → Señala la preocupación por el rendimiento, recomienda reducir o lazy-loading

Artefactos de Salida

Cuando pides...Obtienes...
"Construye una sección de héroe"Un solo archivo HTML con CSS/JS en línea, 6 capas de profundidad, auditoría de assets, 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 assets 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
"Corrige problemas de rendimiento"Informe de validación con lista de verificación de optimización GPU y auditoría de will-change

Comunicación

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

  • Primero la conclusión — muestra la auditoría de assets 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 estado de ánimo)
  • Las acciones tienen dueños — "Necesitas proporcionar PNGs transparentes" no "Los PNGs deben ser proporcionados"
  • Etiquetado de confianza — 🟢 técnica verificada / 🟡 experimental / 🔴 soporte limitado del navegador

Reglas Rápidas (No Negociables)

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

  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 una alternativa prefers-reduced-motion
  4. ✅ Solo anima propiedades seguras para GPU: transform, opacity, filter, clip-path
  5. ✅ Las imágenes de producto siempre se asignan por defecto a profundidad-3
  6. ✅ Las imágenes de fondo siempre están en 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. ✅ El móvil obtiene efectos reducidos mediante detección pointer: coarse
  10. ✅ will-change se elimina después de que las animaciones se completan

Formato de Salida

Entrega siempre:

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

Skills relacionados