Todas las skills

hyperframes-animation (HeyGen HyperFrames)

Define las reglas de tiempo y animación de una composición de HyperFrames: atributos data-*, clips, pistas y subcomposiciones.

hyperframes-animation: hace que las composiciones de animación de HyperFrames cumplan el contrato de render (control 3.8, skill 4.9, prompt de una frase 4.5) a cambio de 1.05x los tokens del control, pero esta skill se retiró del repositorio de HeyGen

RecomendadaPrecaución

Codex CLI · gpt-6-astra

26.1 / 30

Mejora frente a sin skill: +1.16 · Recomendada · 18 ejecuciones

Recomendada: el total 26.1/30 es al menos 22, la calidad de salida 4.9 es al menos 3.5 y la mejora +1.16 es al menos +1.0.

SOTA

Aprobada

Probada con Codex.

Cubre Codex, Claude Code

Codex CLI 0.166 (nivel SOTA): 18 ejecuciones puntuadas. Una pasada aquí también cubre Claude Code según nuestra regla de niveles; no dice nada sobre el segundo nivel.

Puntuaciones

Cada dimensión va de 0 a 5 y las seis suman el total sobre 30. 5 es mejor en todas las dimensiones. Coste 5 significa barato y rápido. Instalación 5 significa fácil.

Fiabilidad de activación
5.0
Mejora frente a sin skill
3.2
Calidad de salida
4.9
Coste en tokens y tiempo
5.0
Instalación y portabilidad
4.0
Seguridad
4.0

Revisión de seguridad

Precaución

Escaneo estático: 17 CRITICAL / 17 HIGH / 148 MEDIUM. Revisión manual: Segura de ejecutar en un sandbox sin red (el BLOCK del escáner es un falso positivo); no ejecutes sus scripts a ciegas. Un escaneo limpio no demuestra que una skill sea segura.

Instalar

npx skills@latest add heygen-com/hyperframes --skill hyperframes-animation

Origen

Commit fijado: 207c8a4daf6480d697f203784f1fd422727569e3

Probada: 2026-11-02

Qué probamos

  • Titular cinético — Crea una composición de HyperFrames (un framework de código abierto que renderiza una página HTML a MP4 recorriendo una línea de tiempo de GSAP fotograma a fotograma; GSAP se carga con una etiqueta script de CDN) de 6 segundos a 1920x1080: un titular de tres palabras ('Build. Ship. Repeat.') en el que cada palabra entra de golpe…
  • Transición de escenas — Crea una composición de HyperFrames (un framework de código abierto que renderiza una página HTML a MP4 recorriendo una línea de tiempo de GSAP fotograma a fotograma; GSAP se carga con una etiqueta script de CDN) de 8 segundos a 1920x1080 con dos escenas a pantalla completa ('Problem' durante 4.5s, 'Solution' durante 4.5s) que…
  • Estadística con conteo ascendente y barra — Crea una composición de HyperFrames (un framework de código abierto que renderiza una página HTML a MP4 recorriendo una línea de tiempo de GSAP fotograma a fotograma; GSAP se carga con una etiqueta script de CDN) de 7 segundos a 1920x1080: un número grande que cuenta de 0 a 87% en 2.5 segundos con una barra horiz…

Ventajas

  • Eleva la puntuación media de 3.76 a 4.92 frente a sin skill (+1.16).
  • La skill se activó sin nombrarla: se leyó el archivo de la skill en 6/6 ejecuciones con skill.
  • Sin sobrecarga de tokens: 1.05x los tokens de sin skill.
  • Supera en +0.39 a una versión de una frase de su propia regla.
  • Calidad absoluta alta con la skill: 4.92 sobre 5.

Inconvenientes

  • Salvedad de la prueba: se probó en el commit 207c8a4 de heygen-com/hyperframes, una versión anterior. La skill se eliminó después del HEAD del repositorio, así que el comando de instalación puede no funcionar con el repositorio actual. Además, lee hyperframes-core durante las ejecuciones.
  • n=2 por tarea y rama; las diferencias de menos de aproximadamente 1 punto son ruido.

Reseña

Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un PC de pruebas Windows dedicado, con un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales en cada ejecución, la skill instalada (grupo con skill), ausente (control) o ausente con el requisito central de la skill comprimido en una frase añadida al prompt (grupo del prompt de una frase), 2 ejecuciones por grupo y tarea, sin red y con las escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la redacción indicada abajo). HyperFrames se describe en una frase en cada prompt (página HTML renderizada a MP4 recorriendo una línea de tiempo de GSAP). Tareas: un titular cinético de 6 segundos en el que tres palabras entran de golpe, una transición de dos escenas de 8 segundos y un número con conteo ascendente de 7 segundos y una barra. El prompt de una frase enuncia las reglas de animación en un párrafo.

Comparación de tres ramas

RamaPuntuación media (0-5)Tokens por ejecución
Sin la skill3.76131k
Prompt de una frase4.5287k
Con la skill4.92137k

Medido con Codex CLI en 18 ejecuciones, puntuado con comprobaciones basadas en reglas y sin juez LLM. Total 26.1 / 30, veredicto Recomendada.

Aviso: Probada en el commit 207c8a4 de heygen-com/hyperframes, una versión anterior. La skill se eliminó después del HEAD del repositorio, así que el comando de instalación puede no funcionar con el repositorio actual. Además, lee hyperframes-core durante las ejecuciones.

Veredicto: Recomendado (26.1 / 30). Fuente: heygen-com/hyperframes, skills/hyperframes-animation, skills/hyperframes-core, fijada en el commit 207c8a4. Instalación: npx skills@latest add heygen-com/hyperframes --skill hyperframes-animation. Licencia: Apache-2.0 (LICENSE del repositorio).

Qué es

La skill hyperframes-animation de heygen-com/hyperframes, probada en el commit 207c8a4 (la skill ya no está en el HEAD del repositorio, así que esto describe una versión retirada): guía de animación para composiciones de HyperFrames: una única línea de tiempo GSAP en pausa registrada en window.__timelines[id raíz], alias de transformación de GSAP en lugar de propiedades de layout, easings con nombre, stagger para secuencias, nada de Math.random/Date.now/timers/rAF/getBoundingClientRect en el momento del tween, contadores ascendentes animados sobre un objeto proxy, y escenas con data-start/data-duration cuya suma quede cubierta por la duración de la raíz.

Cómo lo probamos

Codex CLI 0.166 (gpt-6-astra, razonamiento bajo) en un PC de pruebas Windows dedicado, un proyecto temporal nuevo y HOME/TMPDIR/cachés temporales por ejecución, skill instalada (tratamiento) o ausente (control) o ausente con el requisito central de la skill comprimido en una frase añadida al final del prompt (grupo de una frase), 2 ejecuciones por grupo y tarea, red desactivada, escrituras en /tmp bloqueadas. Los prompts nunca mencionan la skill (salvo la formulación indicada abajo).

HyperFrames se describe en una frase en cada prompt (una página HTML renderizada a MP4 avanzando una línea de tiempo GSAP). Tareas: un titular cinético de 6 segundos en el que tres palabras entran de golpe, una transición de dos escenas de 8 segundos y un número ascendente de 7 segundos con una barra. La frase única enuncia las reglas de animación en un párrafo.

  1. Titular cinético — Crea una composición HyperFrames (un framework de código abierto que renderiza una página HTML a MP4 avanzando una línea de tiempo GSAP fotograma a fotograma; GSAP se carga con una etiqueta script de CDN) de 6 segundos y 1920x1080: un titular de tres palabras ('Build. Ship. Repeat.') en el que cada palabra entra de golpe…
  2. Transición de escenas — Crea una composición HyperFrames (un framework de código abierto que renderiza una página HTML a MP4 avanzando una línea de tiempo GSAP fotograma a fotograma; GSAP se carga con una etiqueta script de CDN) de 8 segundos y 1920x1080 con dos escenas a pantalla completa ('Problem' durante 4.5s, 'Solution' durante 4.5s) qu…
  3. Estadística ascendente con barra — Crea una composición HyperFrames (un framework de código abierto que renderiza una página HTML a MP4 avanzando una línea de tiempo GSAP fotograma a fotograma; GSAP se carga con una etiqueta script de CDN) de 7 segundos y 1920x1080: un número grande que sube de 0 a 87% en 2.5 segundos con una barra horiz…

La puntuación es programática (pruebas ocultas / detección de problemas sembrados / comprobaciones de restricciones / renderizado+OCR cuando corresponde), 0–5 por ejecución. Ningún juez LLM decidió ninguna puntuación.

Resultados

La frase única que recibió el tercer grupo: "En una composición HyperFrames usa una sola línea de tiempo GSAP en pausa registrada en window.__timelines[id raíz]; mueve las cosas con alias de transformación de GSAP (x, y, scale, rotation, opacity), nunca width/height/top/left; elige easings con nombre y usa stagger para las secuencias; nada de Math.random/Date.now/timers/rAF/getBoundingClientRect en el momento del tween, ni repeat:-1; mueve los contadores con un tween sobre el onUpdate de un objeto proxy; las escenas son elementos temporizados con data-start/data-duration y la data-duration raíz debe cubrirlas."

TareaPuntuación del controlFrase únicaCon la skillTokens del controlTokens de una fraseTokens con la skillSkill leída
t1-kinetic3.54.254.75113k77k144k2/2
t2-transition3.575.05.0152k111k159k2/2
t3-countup4.214.325.0126k73k107k2/2

Puntuación media: 3.76 sin vs 4.92 con la skill (delta +1.16). Tokens por ejecución: 131k vs 137k (1.05x); tiempo 72s vs 70s. Grupo de una frase: 4.52 (ganancia de la skill sobre la frase única: +0.39; ganancia de la frase única sobre sin skill: +0.77); tokens de la frase única 87k por ejecución, así que la skill cuesta 1.57x la frase única.

Qué ocurrió

  • Control 3.76, skill 4.92, frase única 4.52 (n=6 cada uno). Los fallos más frecuentes del control son estructurales: al elemento raíz le faltaba un conjunto completo de id/width/height/duration en 6/6 ejecuciones, y la línea de tiempo no se registró en window.__timelines en 5/6, así que el renderizador de HyperFrames no puede encontrarla.
  • La skill superó esas comprobaciones en 6/6. La frase única registró la línea de tiempo solo en 2 de 6 ejecuciones (falló en las tareas de titular cinético y contador), aunque acertó la duración y los atributos de la raíz.
  • Tarea del titular cinético: tanto la skill como el control fallaron el stagger por palabra en 2/2 ejecuciones según la comprobación de stagger (usaron tweens separados por palabra); la frase única usó stagger en 2/2. Esa comprobación es estrecha, así que la diferencia tiene que ver en parte con el estilo de código.
  • Tokens: skill 137k, frase única 87k, control 131k por ejecución. La skill hace las ejecuciones más fiables con el coste en tokens del control, no más baratas, y la frase única es un 36% más barata que cualquiera de las dos.
  • La skill es grande (unos 133 archivos instalados en la carpeta de trabajo, con reglas, planos y técnicas). Las ejecuciones de tratamiento leyeron hyperframes-animation y hyperframes-core, así que la skill remite a la skill core y parte de esta ganancia es el contrato del core.

Puntuaciones por dimensión

DimensiónPuntuaciónMotivo
1. Calidad del resultado4.92

Puntuación media 4.92/5 con la skill (comprobaciones programáticas; consulta la tabla por tarea).

2. Mejora frente a no usar skill3.16

+1.16 puntos frente a 3.76 sin la skill (n=2 por tarea; menos de ~1 punto es ruido).

3. Activación5.0Archivo de la skill leído en 6/6 ejecuciones de tratamiento.
4. Portabilidad de las instrucciones4SKILL.md más muchos archivos de referencia; específica de HyperFrames.
5. Eficiencia5

1.05x tokens (137k vs 131k por ejecución) y 0.96x tiempo (70s vs 72s).

6. Seguridad e higiene4Solo prosa y reglas; consulta security.md.

Límites de esta prueba

  • Comprobaciones estáticas sobre el texto HTML/GSAP; no se renderizó ningún fotograma (no se ejecutaron el CLI de hyperframes, Chrome ni FFmpeg), así que no se miden los tiempos ni la calidad visual.
  • Probada en el commit 207c8a4 porque HEAD ya no contiene la skill; puede que el comando de instalación no funcione con el repositorio actual.
  • La comprobación de stagger solo acepta la opción stagger de GSAP, no desplazamientos por palabra equivalentes.
  • n=2 por celda.
  • n = 2 por grupo y tarea: las diferencias de menos de 1 punto son ruido.
  • La puntuación basada en reglas mide lo que las comprobaciones pueden ver; no puede juzgar el gusto ni si un resultado es el mejor posible.

Seguridad

Consulta security.md. Escaneo: 17 CRITICAL / 17 HIGH / 148 MEDIUM. Veredicto: seguro para ejecutar (sandbox sin red). Un escaneo limpio no demuestra que una skill sea segura.

En resumen

Con la skill, las composiciones cumplen el contrato de HyperFrames casi siempre; sin ella, la raíz y el registro de la línea de tiempo suelen estar mal. Un párrafo que enuncie las reglas recupera buena parte de eso con menos tokens. Como la skill ya no está en el repositorio del proveedor, toma el resultado como un registro de esa versión anterior.

Transcripción

Registro de ejecuciones: hyperframes-animation (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
Columnas: tarea, grupo-ejecución, puntuación (0-5), tokens, segundos, comprobaciones superadas, archivos de la skill que abrió el agente.

t1-kinetic control-1: puntuación 3.5, tokens 128548, s 60.2, comprobaciones 7/10, no abrió nada
t1-kinetic control-2: puntuación 3.5, tokens 99223, s 66.5, comprobaciones 7/10, no abrió nada
t1-kinetic oneliner-1: puntuación 4.25, tokens 79255, s 64.5, comprobaciones 9/10, no abrió nada
t1-kinetic oneliner-2: puntuación 4.25, tokens 75639, s 62.9, comprobaciones 9/10, no abrió nada
t1-kinetic treatment-1: puntuación 4.75, tokens 106794, s 54.6, comprobaciones 9/10, abrió hyperframes-animation,hyperframes-core
t1-kinetic treatment-2: puntuación 4.75, tokens 181725, s 64.4, comprobaciones 9/10, abrió hyperframes-animation,hyperframes-core
t2-transition control-1: puntuación 3.57, tokens 139995, s 89.6, comprobaciones 8/11, no abrió nada
t2-transition control-2: puntuación 3.57, tokens 164538, s 97.6, comprobaciones 8/11, no abrió nada
t2-transition oneliner-1: puntuación 5.0, tokens 98384, s 101.1, comprobaciones 11/11, no abrió nada

18 ejecuciones, 21 artefactos

Resultado de ejemplo

SOTA · With the skill: index.html (t1-kinetic, run 1, Codex)

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=1920, height=1080"> <title>Build. Ship. Repeat.</title> <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script> <style> * { box-sizing: border-box; } html, body { width: 100%; height: 100%; margin: 0; } body { background: #080b10; color: #f5f7f5; font-family: system-ui, sans-serif; } #root { position: relative; width: 100%; height: 100%; overflow: hidden; } .clip { position: absolute; inset: 0; } .background { background: #080b10; } .glow { position: absolute; left: 310px; top: 140px; width: 1300px; height: 800px; border-radius: 50%; background: radial-gradient(ellipse, #167b60 0%, #0d463e 32%, transparent 70%); opacity: .24; } .grid { position: absolute; inset: 0; background-image: linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px); background-size: 120px 120px; mask-image: radial-gradient(ellipse, black, transparent 72%); } .content { display: flex; align-items: center; justify-content: center; flex-direction: column; } .headline { display: flex; align-items: baseline; justify-content: center; gap: 34px; margin: 0; width: 1720px; font-size: 160px; font-weight: 850; letter-spacing: -9px; line-height: 1.15; } .word { display: block; flex: 0 0 auto; transform-origin: 50% 65%; opacity: 0; } #repeat { color: #b7f676; } .subtitle { margin: 38px 0 0; font-size: 34px; font-weight: 400; letter-spacing: 1px; color: #b9c5c2; opacity: 0; } .beats { position: absolute; bottom: 210px; left: 0; right: 0; display: flex; justify-content: center; gap: 12px; } .beat { display: block; width: 38px; height: 4px; background: #b7f676; opacity: .15; transform-origin: left center; } </style> </head> <body> <div id="root" data-composition-id="main" data-start="0" data-duration="6" data-width="1920" data-height="1080"> <div class="clip background" data-start="0" data-duration="6" data-track-index="0" aria-hidden="true"> <div class="glow" id="glow"></div> <div class="grid"></div> </div> <section class="clip content" data-start="0" data-duration="6" data-track-index="1"> <h1 class="headline" aria-label="Build. Ship. Repeat."><span class="word" id="build">Build.</span><span class="word" id="ship">Ship.</span><span class="word" id="repeat">Repeat.</span></h1> <p class="subtitle" id="subtitle">The loop that never stops</p> <div class="beats" aria-hidden="true"><i class="beat"></i><i class="beat"></i><i class="beat"></i></div> </section> </div> <script> // Every visual change belongs to this single, frame-seekable timeline. const tl = gsap.timeline({ paused: true }); const beats = [0.25, 0.95, 1.65]; tl.fromTo('#glow', { scale: 0.88, x: -65, opacity: 0.24 }, { scale: 1.12, x: 65, opacity: 0.40, duration: 6, ease: 'sine.inOut' }, 0); tl.fromTo('#build', { scale: 1.65, y: -55, opacity: 0 }, { scale: 1, y: 0, opacity: 1, duration: 0.32, ease: 'power4.out' }, beats[0]); tl.fromTo('#ship', { scale: 1.35, x: 95, opacity: 0 }, { scale: 1, x [... excerpt: first 3200 of 4167 characters]

Ver Pro