Skills Agentes

Gsap Performance

Skill oficial de GSAP para rendimiento: preferir transforms, evitar layout thrashing, will-change y batching. Úsalo al optimizar animaciones, reducir jank o buscar 60 fps.

Estrellas
49.5k

en todo el repo

Actividad
39

0–100, la ruta de este skill

Actualizado
hace 4 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
1k tok

58 tok en reposo

Paquete
1 archivo

4 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add calesthio/OpenMontage --skill gsap-performance --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Prioriza transform y opacity frente a propiedades que provocan layout
  • Explica cuándo usar `will-change` y cómo agrupar lecturas y escrituras para evitar layout thrashing
  • Recomienda `gsap.quickTo()` para propiedades que se actualizan muy a menudo, como un seguidor de ratón
  • Da pautas para animar listas largas y muchos elementos con stagger

Úsalo cuando

  • Optimizar animaciones GSAP para 60 fps estables
  • Reducir jank o coste de layout y pintado
  • El usuario pregunta por rendimiento de animación o FPS

No lo uses cuando

  • Rendimiento específico de ScrollTrigger: mira el skill `gsap-scrolltrigger`

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • Esta animación va a tirones, ¿cómo la arreglo?
  • Optimiza este GSAP para 60 fps
  • ¿Cómo animo un seguidor de ratón sin penalizar el rendimiento?

SKILL.md

En inglés

GSAP Performance

When to Use This Skill

Apply when optimizing GSAP animations for smooth 60fps, reducing layout/paint cost, or when the user asks about performance, jank, or best practices for fast animations.

Related skills: Build animations with gsap-core (transforms, autoAlpha) and gsap-timeline; for ScrollTrigger performance see gsap-scrolltrigger.

Prefer Transform and Opacity

Animating transform (x, y, scaleX, scaleY, rotation, rotationX, rotationY, skewX, skewY) and opacity keeps work on the compositor and avoids layout and most paint. Avoid animating layout-heavy properties when a transform can achieve the same effect.

  • ✅ Prefer: x, y, scale, rotation, opacity.
  • ❌ Avoid when possible: width, height, top, left, margin, padding (they trigger layout and can cause jank).

GSAP’s x and y use transforms (translate) by default; use them instead of left/top for movement.

will-change

Use will-change in CSS on elements that will animate. It hints the browser to promote the layer.

will-change: transform;

Batch Reads and Writes

GSAP batches updates internally. When mixing GSAP with direct DOM reads/writes or layout-dependent code, avoid interleaving reads and writes in a way that causes repeated layout thrashing. Prefer doing all reads first, then all writes (or let GSAP handle the writes in one go).

Many Elements (Stagger, Lists)

  • Use stagger instead of many separate tweens with manual delays when the animation is the same; it’s more efficient.
  • For long lists, consider virtualization or animating only visible items; avoid creating hundreds of simultaneous tweens if it causes jank.
  • Reuse timelines where possible; avoid creating new timelines every frame.

Frequently updated properties (e.g. mouse followers)

Prefer gsap.quickTo() for properties that are updated often (e.g. mouse-follower x/y). It reuses a single tween instead of creating new tweens on each update.

let xTo = gsap.quickTo("#id", "x", { duration: 0.4, ease: "power3" }),
    yTo = gsap.quickTo("#id", "y", { duration: 0.4, ease: "power3" });

document.querySelector("#container").addEventListener("mousemove", (e) => {
  xTo(e.pageX);
  yTo(e.pageY);
});

ScrollTrigger and Performance

  • pin: true promotes the pinned element; pin only what’s needed.
  • scrub with a small value (e.g. scrub: 1) can reduce work during scroll; test on low-end devices.
  • Call ScrollTrigger.refresh() only when layout actually changes (e.g. after content load), not on every resize; debounce when possible.

Reduce Simultaneous Work

  • Pause or kill off-screen or inactive animations when they’re not visible (e.g. when the user navigates away).
  • Avoid animating huge numbers of properties on many elements at once; simplify or sequence if needed.

Best practices

  • ✅ Animate transform and opacity; use will-change in CSS only on elements that animate.
  • ✅ Use stagger instead of many separate tweens with manual delays when the animation is the same.
  • ✅ Use gsap.quickTo() for frequently updated properties (e.g. mouse followers).
  • ✅ Clean up or kill off-screen animations; call ScrollTrigger.refresh() when layout changes, debounced when possible.

Do Not

  • ❌ Animate width/ height/ top/ left for movement when x/ y/ scale can achieve the same look.
  • ❌ Set will-change or force3D on every element “just in case”; use for elements that are actually animating.
  • ❌ Create hundreds of overlapping tweens or ScrollTriggers without testing on low-end devices.
  • ❌ Ignore cleanup; stray tweens and ScrollTriggers keep running and can hurt performance and correctness.

Reproducido de calesthio/OpenMontage bajo licencia MIT. Leer esta página en markdown.

Archivos

1 archivo en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Detalles

Creador
calesthio
Categoría
Diseño y UI
Licencia
MIT
Recursos incluidos
Solo SKILL.md
Código fuente
Ver SKILL.md

Etiquetas

Más de calesthio/OpenMontage

Este repo incluye 89 skills. Si instalas uno, normalmente ya tienes los demás.

Comfyui

49.5k

Úsalo al trabajar con workflows de ComfyUI en OpenMontage: comfyui_image/video/music, workflows propios, selección de output_node, modelos que faltan, LoRAs, poca VRAM e importación de workflows de la comunidad.

Costo de contexto al activarse
1.9k tok
Tamaño del paquete
1 archivo
Última actualización
hace 9 días
diseno ui

Genera vídeo cinematográfico de 4-30 s con ByteDance Seedance 2.5 por fal.ai, Volcengine Ark, Runway o ComfyUI. Cubre el contrato de prompt 2.5, cortes duros, locks de continuidad y voz.

Costo de contexto al activarse
3.2k tok
Tamaño del paquete
2 archivos
Última actualización
hace 4 días
diseno ui

Genera narración expresiva y multilingüe con fish.audio (modelos S1 / S2) y reutiliza voces clonadas mediante reference_id.

Costo de contexto al activarse
1.4k tok
Tamaño del paquete
1 archivo
Última actualización
hace 9 días
diseno ui

Genera y edita conversacionalmente vídeos cortos con Google Gemini Omni Flash: itera con ediciones en lenguaje natural, clips de 3-10s a 720p con audio y texto en pantalla, e imágenes de referencia por etiquetas.

Costo de contexto al activarse
2.1k tok
Tamaño del paquete
1 archivo
Última actualización
hace 9 días
Permisos
diseno ui

Genera vídeo con MiniMax H3 (Hailuo 3.0) por la API oficial v2, fal.ai, Runway, nodos partner de ComfyUI o pesos abiertos locales. Clips de 4-15s a 2K con animación de primer/último fotograma.

Costo de contexto al activarse
582 tok
Tamaño del paquete
1 archivo
Última actualización
hace 9 días
diseno ui

Genera, reconstruye, inspecciona y enruta activos 3D de producción para mundos de OpenMontage con Atlas Cloud, fal.ai, catálogos con licencia y Blender.

Costo de contexto al activarse
1.2k tok
Tamaño del paquete
2 archivos
Última actualización
hace 9 días
diseno ui

Skills relacionados

Genera, reconstruye, inspecciona y enruta activos 3D de producción para mundos de OpenMontage con Atlas Cloud, fal.ai, catálogos con licencia y Blender.

Costo de contexto al activarse
1.2k tok
Tamaño del paquete
2 archivos
Última actualización
hace 9 días
diseno ui

Acestep

49.5k

Generación musical con ACE-Step 1.5: música de fondo, pistas con voz, versiones y extracción de stems para producción de vídeo.

Costo de contexto al activarse
2.3k tok
Tamaño del paquete
1 archivo
Última actualización
hace 4 meses
diseno ui

Genera vídeos con IA desde texto usando varias pasarelas — HeyGen, fal.ai, Kling y Gemini — con soporte de imagen a vídeo y comparación entre VEO, Kling, Sora, Runway, Seedance y MiniMax.

Costo de contexto al activarse
3k tok
Tamaño del paquete
1 archivo
Última actualización
el mes pasado
diseno ui