CommunityProgramación y desarrollogithub.com

geekfujiwara/fade-in-rise-animation

Añade una suave animación automática de aparición y entrada ascendente al contenido seleccionado de PowerPoint, escalonada por posición mientras mantiene fijos los títulos. Útil para revelaciones secuenciales o movimientos sutiles.

¿Qué es fade-in-rise-animation?

Esta skill para agentes de IA (como Claude Code, Cursor o Codex) aplica una animación combinada de desvanecimiento y ascenso al contenido de diapositivas de PowerPoint. El efecto comienza automáticamente al entrar la diapositiva, sin necesidad de clic, y utiliza un desvanecimiento de ~250 ms junto con un ascenso vertical de ~500 ms desde un desplazamiento inicial del 3.889% de la altura de la diapositiva. Los objetos se escalonan en siete niveles de retardo (de 0 a 600 ms) según su posición, con opciones de orden de arriba a abajo (por defecto) o de izquierda a derecha para flujos o columnas. La skill preserva títulos, fondos, pies de página y elementos decorativos, así como animaciones existentes. Soporta la edición mediante herramientas nativas de PowerPoint o, si está disponible y es necesario, mediante edición directa de OOXML (Open XML), bajo estrictas condiciones de validación y copia de seguridad. Es útil para presentaciones profesionales que requieren revelaciones secuenciales sutiles sin alterar la estructura original de la diapositiva.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/geekfujiwara/powerpoint-agent-skills/tree/HEAD/skills/fade-in-rise-animation

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

Animación de aparición y ascenso

Efecto deseado

  • Iniciar automáticamente al entrar la diapositiva, sin necesidad de clic.
  • Desvanecer en aproximadamente 250 ms y ascender en aproximadamente 500 ms, comenzando juntos.
  • Desplazamiento vertical inicial: aproximadamente 3.889% de la altura de la diapositiva por debajo de la posición final. La posición final y el diseño de la diapositiva no deben cambiar.
  • Escalonar los objetos elegibles en siete niveles de retardo: 0, 100, 200, 300, 400, 500 y 600 ms.
  • Mantener fijos los títulos, otros marcadores de posición, fondos, pies de página y elementos decorativos. Identificar los roles de título a partir del diseño y el contenido, no del nombre "Título".

Procedimiento

  1. Confirmar los números de diapositiva de destino y la dirección: de arriba a abajo por defecto, o de izquierda a derecha para flujos/columnas. No animar diapositivas de portada/separadoras a menos que se solicite específicamente. Ofrecer una opción solo de desvanecimiento o sin movimiento cuando sea apropiado.
  2. Inspeccionar las animaciones, disparadores, construcciones y temporización de medios existentes. Preservarlos. Si el efecto solicitado requiere reemplazarlos, explicar lo que se perdería y obtener aprobación explícita antes de reemplazar la temporización en esas diapositivas.
  3. Utilizar las herramientas de animación de PowerPoint compatibles cuando estén disponibles. No asumir que existe un entorno de ejecución local de Python, acceso XML a diapositivas o una herramienta interna específica. Si la funcionalidad no es compatible, explicar la limitación y proporcionar configuraciones manuales; no fingir que el efecto se aplicó.
  4. Seleccionar solo objetos de contenido sustantivo. Mantener un grupo significativo como un solo objeto a menos que el usuario solicite revelaciones individuales. Evitar cambiar construcciones de gráficos, SmartArt, medios o elementos interactivos a menos que sean compatibles y estén aprobados.
  5. Calcular el retardo de cada objeto elegible a partir de su coordenada superior o izquierda: round((posición - mín)/(máx - mín) * 6) * 100 ms. Si todas las posiciones son iguales, usar retardo cero. Romper empates en orden de lectura. Tratar los objetos elegibles dentro de la misma tarjeta como una unidad de temporización, utilizando la coordenada superior o izquierda de la tarjeta; darles el mismo retardo. Escalonar las tarjetas por posición para que sus animaciones se superpongan.
  6. Aplicar ambos efectos simultáneamente para cada objeto con el retardo calculado. Preservar la geometría final, editabilidad, orden de lectura y transiciones existentes. Si se solicita un efecto más rápido, se pueden ajustar las duraciones y el espaciado, por ejemplo, un desvanecimiento de 150 ms, un ascenso de 300 ms y 120 ms entre niveles de retardo.
  7. Reproducir las diapositivas editadas en modo de presentación. Verificar inicio automático, efectos concurrentes, temporización, títulos fijos, ausencia de clics inesperados y colocación final. Una vista previa estática no puede verificar la reproducción de la animación. Si la reproducción no está disponible, informar el efecto como no verificado, no como completamente probado.

Límite de edición de bajo nivel

Si la edición OOXML está explícitamente disponible y es necesaria, trabajar sobre una copia, preservar la temporización y relaciones no relacionadas, usar identificadores de temporización y de forma objetivo únicos y válidos, y validar el paquete antes de abrirlo. No reemplazar ciegamente p:timing ni reutilizar números de diapositiva codificados. Un ID preestablecido por sí solo no prueba la reproducción correcta.

Cuando la edición OOXML cumple con ese límite, la combinación establecida es:

  • Desvanecimiento: presetID="10" con animEffect filter="fade".
  • Ascenso: una ruta de movimiento separada con presetID="42", presetClass="path", decel="100000" y animMotion origin="layout", usando path="M 0 0.03889 L 0 0 " y rCtr y="-1944".
  • Usar withEffect para ambos efectos con el mismo retardo calculado. Colocar el primer efecto en un contenedor onBegin con retardo cero para que inicie automáticamente.
  • Para formas que contienen texto, usar grpId="0" para el desvanecimiento y grpId="1" para el movimiento. Agregar las entradas correspondientes en bldLst: <p:bldP spid=".." grpId="0" animBg="1"/> y <p:bldP spid=".." grpId="1" animBg="1"/>, usando el ID de forma real. Las imágenes y líneas no necesitan entradas bldP.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados