ASD

Hyperframes Core

El contrato de composición de HyperFrames: cómo construir un proyecto renderizable con atributos `data-*`, `class="clip"`, tracks, sub-composiciones, variables y reglas de renderizado determinista.

Estrellas
40.6k

en todo el repo

Actividad
87

0–100, la ruta de este skill

Actualizado
hace 16 días

último commit aquí

Commits
29

últimos 90 días

Contexto
2.6k tok

95 tok en reposo

Paquete
19 archivos

146 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add heygen-com/hyperframes --skill hyperframes-core --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Define el contrato técnico de composición HyperFrames: estructura del HTML, atributos `data-*`, `class="clip"`, tracks, sub-composiciones y variables
  • Impone reglas de renderizado determinista (sin relojes en tiempo de render, sin `Math.random` sin semilla, sin `repeat: -1`, allowlist de propiedades animables)
  • Fija reglas de tamaño de raíz, timeline única pausada por composición y wiring de sub-composiciones vía `<template>`
  • Documenta los checks de validación con `hyperframes check`, `snapshot`, `preview` y `render`
  • Explica formatos de plan STORYBOARD.md / SCRIPT.md y el soporte para proyectos Tailwind v4

Úsalo cuando

  • Antes de escribir HTML de composición para HyperFrames
  • Al elegir entre composición monolítica o modular, o un archetype de sub-composición
  • Al depurar por qué un elemento colapsa a ~0 por falta de tamaño en la raíz o por qué un frame renderiza en negro
  • Al trabajar en un proyecto Tailwind v4 con `init --tailwind`

No lo uses cuando

  • Para el runtime de animación específico (GSAP, Lottie, Three.js) — eso corresponde a `hyperframes-animation`
  • Para detalles de CLI — usar `hyperframes-cli`

Qué lo activa

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

  • Ayúdame a estructurar el index.html de esta composición HyperFrames
  • ¿Por qué mi sub-composición no se renderiza y queda en blanco?
  • Necesito armar el STORYBOARD.md de este proyecto
  • Configura un proyecto HyperFrames con Tailwind v4

SKILL.md

En inglés

HyperFrames Core

HyperFrames renders video from HTML. A composition is an HTML file whose DOM declares timing with data-* attributes, whose animation runtime is seekable, and whose media playback is owned by the framework.

This skill is the technical contract — how to build one hyperframes project. The body below is the build guide; per-topic detail lives in references/ (index next), read on demand. Other concerns live in the sibling domain skills — hyperframes-animation, hyperframes-creative, media-use, hyperframes-cli, hyperframes-registry. The capability map in /hyperframes says what each one covers.

References

File Read it to…
references/minimal-composition.md start from the smallest renderable composition skeleton
references/composition-patterns.md choose monolithic vs modular; structure a modular index.html; pick a sub-comp archetype
references/data-attributes.md look up any data-* (root / clip / sub-comp host / legacy aliases); use class="clip"
references/tracks-and-clips.md pick data-track-index, handle same-track overlap / z-index, time a clip relative to another
references/sub-compositions.md wire a sub-composition (host attrs, <template>, per-instance vars) and animate inside it
references/variables-and-media.md declare variables; place <video>/<audio>, set volume, trim
references/determinism-rules.md build a seekable timeline; determinism bans; the animatable-property allowlist; layout / text fit
references/full-screen-motion.md author full-frame motion with shared backgrounds
references/storyboard-format.md author a STORYBOARD.md plan (+ the parsed manifest)
references/review-loop.md run the plan → sketch → build review passes on a live board — shared by every storyboard-planning workflow
references/production-loop.md take an approved plan to a delivered video — the stage dependencies (audio, frames, assembly, transitions, captions, verify, deliver) a freeform build follows directly
references/brief-contract.md the brief's ground rules — mode derivation (collaborative / autonomous), shared field registry, question invariants (the asking itself lives in /hyperframes → the intent layer)
references/brief-format.md author BRIEF.md — the confirmed intent document a workflow's Setup writes and every later step reads
references/script-format.md author the optional SCRIPT.md locked narration
references/subagent-dispatch.md map subagent dispatch verbs (parallel fan-out / background / wait) to your harness
references/frame-worker-core.md the shared frame-worker role contract — each narrative workflow's packet builder prepends it to that workflow's sub-agents/frame-worker.md delta
references/tailwind.md work in a Tailwind v4 project (init --tailwind; runtime contract differs from Studio's v3)

For animation runtime specifics (GSAP API, Lottie, Three.js, etc.) go to hyperframes-animationadapters/<runtime>.md.

Building a composition

Two root forms (not interchangeable)

  • Standalone (top-level index.html) — root <div data-composition-id="…"> sits directly in <body>, no <template> wrapper (wrapping it hides all content and breaks rendering).
  • Sub-composition (loaded via data-composition-src) — root must be wrapped in <template>.

⚠ Transport rule: the runtime only clones <template> contents; everything outside (incl. <head> styles/scripts) is discarded — put <style>/<script> inside the template. ⚠ Host-id rule: the host slot's data-composition-id must exactly equal the inner template's data-composition-id and the window.__timelines["<id>"] key — no -mount/-slot/-host suffix.

File shape, host wiring, and the pre-render checklist → references/sub-compositions.md.

Root must be sized (silent layout bug)

The standalone root needs an explicit sized box (width/height in px), and every ancestor down to a height:100% element must have a resolved height — otherwise a flex/100% child collapses to ~0 and content piles into the top-left corner. Do not rely on automated gates alone to catch this; inspect a snapshot. Skeleton → references/minimal-composition.md.

One paused timeline

Each composition registers exactly one gsap.timeline({ paused: true }) at window.__timelines["<id>"] (key = root data-composition-id), built synchronously at page load. Render duration = root data-duration, not timeline length. Don't manually nest sub-timelines into the host. Full contract (incl. non-GSAP runtimes) → references/determinism-rules.md + hyperframes-animation/adapters/.

First-pass lint gotchas (a guaranteed first build failure)

Two rules that lint does catch, but only after the fact — write them right the first time:

  • The root composition element must carry data-start="0" (alongside data-composition-id/data-width/data-height); omitting it fails lint with root_composition_missing_data_start.
  • Never pair a CSS initial transform with a GSAP tween on the same property — the CSS value and the tween's start fight and lint rejects it with gsap_css_transform_conflict. Set the initial state inside the tween with gsap.fromTo(el, { x: -40 }, { x: 0 }) instead of a CSS transform: translateX(-40px).

Non-negotiable rules (silent bugs automated gates may miss)

Surfaced here; full rationale in the linked reference. Do not violate:

  • No render-time clocks / unseeded Math.random / network / input-state; no repeat: -1 (use a finite count). → determinism-rules.md
  • Animate only the visual-property allowlist; never tween display or raw visibility. GSAP autoAlpha and zero-duration timeline boundary sets are the only visibility exceptions, and only on non-clip elements or wrappers inside a clip. The framework alone controls .clip visibility. Do not gsap.set later-scene clips at page load. → determinism-rules.md
  • No <br> in body text; transformed elements must be block-level + sized; pulsing absolute decoratives need peak clearance. → determinism-rules.md
  • <video>/<audio> work at any nesting depth (including inside a sub-comp <template> or wrapper); the framework owns playback and seeks/decodes media wherever it lives. The one caveat is timelines, not placement: a sub-comp timeline can't animate host-root elements. → variables-and-media.md
  • Every id must be unique across the assembled page; inside a sub-comp, prefix ids with the composition id (#<id>-hero). Duplicate <video>/<img> ids render blank — the producer injects frames by getElementById, and cross-file dupes slip past lint. → composition-patterns.md
  • A full-screen scene fill goes on a full-bleed child (position:absolute; inset:0), never on the composition root itself — the producer's frame compositing can drop the root element's own background (the frame renders black) even though preview/snapshot show it correctly. → composition-patterns.md

Editing existing compositions

  • Read the files first. Preserve unrelated timing, tracks, IDs, variables, media paths.
  • Match existing composition IDs and timeline keys.
  • Adding a clip: pick a non-overlapping data-track-index or adjust surrounding timing intentionally.
  • data-hidden on any composition element hides it in BOTH preview and render, overriding its time window; it is non-destructive/reversible and toggled by Studio's timeline eye icon.
  • Adding a sub-composition: verify its internal data-composition-id before wiring the host.

Validation

Use hyperframes-cli for command details

  • npx hyperframes check passes (0 findings across lint, runtime, layout, motion, and contrast)
  • Projects with sub-compositions: npx hyperframes snapshot --at <midpoints> and eyeball each frame
  • npx hyperframes preview for review (the user can edit anything in Studio's timeline)
  • npx hyperframes render only after the user approves

Reproducido de heygen-com/hyperframes bajo licencia Apache-2.0. Leer esta página en markdown.

Archivos

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

Antes de instalar

Requiere el CLI `hyperframes` (comandos `check`, `snapshot`, `preview`, `render`) para validar la composición.

Detalles

Creador
heygen-com
Licencia
Apache-2.0
Recursos incluidos
scripts en javascript + referencias
Código fuente
Ver SKILL.md

Etiquetas

Más de heygen-com/hyperframes

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

Agent Media OS: resuelve BGM, SFX, imágenes, iconos, logos, voz, gradación de color o LUTs en un archivo local o bloque listo para usar; genera, opera y reutiliza assets en proyectos HyperFrames.

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

Convierte un pull request de GitHub (URL, owner/repo#N o 'este PR') en un video explicativo del cambio de código —changelog, feature, fix o refactor— construido a partir del diff, commits y archivos.

Costo de contexto al activarse
7.9k tok
Tamaño del paquete
30 archivos
Última actualización
hace 10 días
redaccion contenido

Punto de entrada obligatorio para crear, editar, animar o renderizar video, animaciones o motion graphics con HyperFrames, así como para inspeccionar, validar o publicar proyectos existentes.

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

Convierte una URL de producto o marketing, un guion pegado o un brief en un video de lanzamiento/promoción — promos SaaS, revelaciones de funciones, demos, lanzamientos de apps y empresas.

Costo de contexto al activarse
7.9k tok
Tamaño del paquete
28 archivos
Última actualización
hace 10 días
redaccion contenido

Usa el flujo de desarrollo de la CLI de HyperFrames: init, add, catalog, capture, lint, check, snapshot, compare, preview, render, publish, cloud, lambda, feedback, doctor y más; también para diagnosticar fallos de build o render.

Costo de contexto al activarse
3.9k tok
Tamaño del paquete
11 archivos
Última actualización
hace 3 días
herramientas desarrollo

Convierte texto (artículo, notas, tema o brief) en un video explicativo faceless: sin sitio ni material que capturar, los visuales se inventan por escena (tipografía, gráficos abstractos, diagramas, data-viz).

Costo de contexto al activarse
7.1k tok
Tamaño del paquete
24 archivos
Última actualización
hace 10 días
redaccion contenido

Skills relacionados

Porta el código de una composición Remotion (React) existente a HTML de HyperFrames. Solo para pedidos explícitos de portar/convertir/migrar una fuente Remotion, en un único sentido.

Costo de contexto al activarse
2.4k tok
Tamaño del paquete
70 archivos
Última actualización
hace 10 días
herramientas desarrollo

Empaqueta un video de talking-head/entrevista/podcast existente con tarjetas gráficas superpuestas (títulos, lower-thirds, callouts, citas, PiP) sincronizadas con la transcripción, en 16:9, 9:16 o 4:5; el clip se reproduce intacto debajo.

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

Úsalo cuando el usuario o el agente necesite leer, buscar o consultar la documentación o la referencia de la API de Stripe, en vez de usar curl o WebFetch para docs.stripe.com.

Costo de contexto al activarse
225 tok
Tamaño del paquete
1 archivo
Última actualización
hace 24 días
Oficialdesarrollo apis