hyperframes-registry

작성자: heygen-com

레지스트리 블록과 컴포넌트를 HyperFrames 구성에 설치하고 연결합니다. hyperframes add 실행 시, 블록이나 컴포넌트 설치 시, 설치된 항목을 index.html에 연결할 때, 또는 hyperframes.json 작업 시 사용합니다. add 명령어, 설치 위치, 블록 하위 구성 연결, 컴포넌트 스니펫 병합, 레지스트리 검색, 그리고 업스트림에 기여할 새 블록이나 컴포넌트 작성(아이디어 → 스캐폴드 → 검증 → PR)을 다룹니다.

npx skills add https://github.com/heygen-com/hyperframes --skill hyperframes-registry

HyperFrames Registry

The registry provides reusable blocks and components installable via hyperframes add <name>.

  • Blocks — standalone sub-compositions (own dimensions, duration, timeline). Included via data-composition-src in a host composition.
  • Components — effect snippets (no own dimensions). Pasted directly into a host composition's HTML.

Quick reference

hyperframes add data-chart              # install a block
hyperframes add grain-overlay           # install a component
hyperframes add captions                # install every block tagged captions
hyperframes add shimmer-sweep --dir .   # target a specific project
hyperframes add data-chart --json       # machine-readable output
hyperframes add data-chart --no-clipboard  # skip clipboard (CI/headless)

After install, the CLI prints which files were written and a snippet to paste into your host composition. The snippet is a starting point — you'll need to add data-composition-id (must match the block's internal composition ID), data-start, and data-track-index attributes when wiring blocks.

The positional value is resolved as an exact item name first. If no item matches and the value is a tag, the command installs every block with that tag. Registry dependencies are installed before the requested item. hyperframes add works only for blocks and components; for examples, use hyperframes init <dir> --example <name> instead.

Install locations

Blocks install to compositions/<name>.html by default. Components install to compositions/components/<name>.html by default.

These paths are configurable in hyperframes.json:

{
  "registry": "https://raw.githubusercontent.com/heygen-com/hyperframes/main/registry",
  "paths": {
    "blocks": "compositions",
    "components": "compositions/components",
    "assets": "assets"
  }
}

See install-locations.md for full details.

Wiring blocks

Blocks are standalone compositions — include them via data-composition-src in your host index.html:

<div
  data-composition-id="data-chart"
  data-composition-src="compositions/data-chart.html"
  data-start="2"
  data-duration="15"
  data-track-index="1"
  data-width="1920"
  data-height="1080"
></div>

Key attributes:

  • data-composition-src — path to the block HTML file
  • data-composition-id — must match the block's internal ID
  • data-start — when the block appears in the host timeline (seconds)
  • data-duration — how long the block plays
  • data-width / data-height — block canvas dimensions
  • data-track-index — layer ordering (higher = in front)

See wiring-blocks.md for full details.

Wiring components

Components are snippets — paste their HTML into your composition's markup, their CSS into your style block, and their JS into your script (if any):

  1. Read the installed file (e.g., compositions/components/grain-overlay.html)
  2. Copy the HTML elements into your composition's <div data-composition-id="...">
  3. Copy the <style> block into your composition's styles
  4. Copy any <script> content into your composition's script (before your timeline code)
  5. If the component exposes GSAP timeline integration (see the comment block in the snippet), add those calls to your timeline

See wiring-components.md for full details.

Discovery

Use the CLI as the primary discovery surface. Search by intent before browsing: the registry holds more items than you can scan by eye, so listing them and matching on names or tags is the slow path, and it fails whenever the author's wording differs from yours.

# Rank the whole catalog against what the beat should do
npx hyperframes catalog --query "reveal a headline one line at a time"
npx hyperframes add caption-clip-wipe

Search is local and sends nothing. By default it ranks on vocabulary shared with the item's name, title and description, so it only finds items that reuse your words; --on-device ranks by meaning instead, after a one-time model download. With --json the envelope names which tier answered, so check that rather than assuming a ranking happened.

Always query in English, whatever language the video is in. The catalog is written in English and both tiers index it that way (the on-device model is English-only too). A query in another script produces no searchable terms and returns nothing at all. This is easy to get wrong on a Japanese or Chinese project, where the brief, the captions and the narration are all in that language and the query naturally follows: describe the move in English, then write the on-screen copy in whatever language the video needs. If a query does come back with No searchable words in query, that is this rule, not a missing component, and it is not worth a gap report.

Installability is applied after ranking, not before it: a name the vectors carry but this registry cannot serve is dropped from the results and counted in dropped, so a non-zero dropped means the two are different generations. See /hyperframes-cli for the offline tier, the consent gates, and how to refresh a stale index.

To browse or filter instead of search:

npx hyperframes catalog
npx hyperframes catalog --type block
npx hyperframes catalog --type component
npx hyperframes catalog --type block --tag social
npx hyperframes catalog --json
npx hyperframes catalog --human-friendly

The normal table and --json modes only list matches; install a selected name with hyperframes add <name>. --human-friendly opens an interactive picker and installs the selected item immediately. In CI or agent workflows, prefer --json followed by an explicit add.

Report what the catalog does not have

When the search comes back and nothing in it does the job, say so before you hand-author the move:

npx hyperframes feedback --search-miss "<the query you ran>" --wanted "<the move you needed>" --tier on-device

catalog --query prints this line for you, pre-filled, and --json carries it as report_gap — so it is already in hand at the moment you decide nothing fits.

Report whenever nothing in the results does the job, on either tier. Do not wait for the on-device tier to have answered: it needs a consented 33 MB download, so an agent run is on words unless it explicitly opted in, and gating on on-device would silence almost every report. The --tier value rides along so a vocabulary miss stays distinguishable from a meaning miss when these are read. Describe the effect you wanted, not the item name you imagined: what comes back is a list of moves worth building, and a report naming a non-existent item teaches nothing. This is the only path that sends a query anywhere, which is exactly why it is a separate deliberate command rather than something the search does on its own. It carries no rating and never lands in the rating metric.

This is the whole demand signal for the catalog. Skipping it means the gap you hit gets guessed at from install counts instead, which cannot see a move nobody could install.

If the CLI cannot reach the configured registry, inspect the raw manifest as a fallback:

curl -s https://raw.githubusercontent.com/heygen-com/hyperframes/main/registry/registry.json

A registry the CLI cannot reach does not empty the catalog for discovery: a previously fetched manifest keeps serving past its 24h refresh window whenever revalidation fails, so catalog and catalog --query still list and rank against the last copy on disk.

add still needs the network, even for an item you installed yesterday. Only manifests are cached; the item's actual files are fetched on every install. So offline you can search, and you can see what an item is, but installing it fails at the file fetch. Do not promise a user an offline install.

Each item's registry-item.json contains: name, type, title, description, tags, dimensions (blocks only), duration (blocks only), and file list.

See discovery.md for details on filtering by type and tags.

Contributing a new block or component

To author a NEW registry item (caption style, VFX block, transition, lower third, or a reusable component) and ship it as an upstream PR — not install an existing one — follow the full idea → scaffold → build → validate → preview → ship workflow in contributing.md. Copy-paste starter templates (caption / VFX / component / registry-item.json) are in templates.md.

heygen-com의 다른 스킬

hyperframes-audio
heygen-com
Use when audio already placed in a HyperFrames composition needs to be mixed: a music bed that fights a voiceover (voiceover carve), effects on a track (EQ, compressor, limiter, gate, saturation, delay, reverb, chorus, phaser, bitcrush), or automation envelopes drawn on a track's volume or any effect parameter. Don't use for sourcing or generating audio — finding BGM, SFX, or making a voiceover is `/media-use`. Don't use for clip timing or track layout, which is `/hyperframes-core`.
hyperframes-cli
heygen-com
HyperFrames CLI 개발 루프
developmenttestingapi
hyperframes-animation
heygen-com
HyperFrames의 모든 애니메이션 지식 — 원자적 모션 규칙, 다중 단계 씬 청사진, 씬 전환, 광범위한 모션 디자인 기법, 그리고 7개의 런타임 어댑터(GSAP 기본, Lottie, Three.js, Anime.js, CSS 키프레임, Web Animations API, TypeGPU). 모든 모션 또는 애니메이션 작업에 사용: 2-4개의 규칙을 선택하여 구성하거나, 청사진을 로드하거나, 런타임별 API(GSAP 이징 / Lottie 플레이어 / Three.js 믹서 등)를 조회합니다. HyperFrames 네이티브: 단일 일시 정지 타임라인, 시크 안전,...
creativedevelopmentdesign
hyperframes-core
heygen-com
HyperFrames HTML 구성 계약. 구성 구조, 데이터 속성, 클립, 트랙, 하위 구성, 변수, 미디어 재생, 결정적 렌더링 규칙 및 최소 렌더링 가능 프로젝트의 검증에 사용합니다.
developmentmediacreative
hyperframes-media
heygen-com
HyperFrames 컴포지션을 위한 에셋 전처리 — 다중 제공자 TTS(HeyGen / ElevenLabs / Kokoro 로컬), 다중 제공자 BGM(Google Lyria / 로컬 MusicGen), Whisper 전사, 배경 제거 및 캡션 작성. npx hyperframes tts, bgm, transcribe, remove-background, voice/provider 선택, music-mood 프롬프팅, captions / subtitles / lyrics / karaoke / per-word 스타일링에 사용합니다.
mediaaudiovideo
general-video
heygen-com
사용자 정의 HyperFrames HTML 비디오 구성 제작 시 전용 워크플로가 적합하지 않을 때 대체 도구로 사용합니다. 긴 길이 또는 여러 장면의 작품, 브랜드/시즐 릴, 몽타주, 타이틀 카드, 모션 포스터, 정적 루프, 모든 길이와 형식의 자유로운 구성을 다룹니다. 마케팅 제품 프로모션(product-launch-video), 일반 웹사이트-투-비디오 캡처(website-to-video), 주제 설명(faceless-explainer), GitHub PR 비디오(pr-to-video), 기존 영상 자막 처리 등에는 사용되지 않습니다.
videocreativemedia
motion-graphics
heygen-com
사용자가 모션이 메시지가 되는 짧고 디자인 중심의 모션 그래픽을 원할 때 사용합니다: 키네틱 타이포그래피, 숫자/통계 카운트업, 차트/데이터 시각화 히트, 로고 스팅, 브랜드 록업, 하단 서드, 콜아웃, 소셜 오버레이, 애니메이션 헤드라인/트윗/뉴스 아이템, 모션 포스터, 또는 빠른 캡처 페이지 하이라이트. 일반적으로 10초 미만에서 최대 약 30초이며, 내레이션 구성, 음성 해설, 또는 실사 피사체가 없습니다. MP4 또는 투명 오버레이로 렌더링 가능합니다. 더 길고, 여러 장면이 있거나, 내레이션이 포함되거나, 브랜드 릴 형식의 작업에는 적합하지 않습니다...
creativevideodesign
hyperframes-read-first
heygen-com
동영상, 애니메이션, 모션 그래픽, 설명 영상, 타이틀 카드, 오버레이, 자막 영상, 제품 홍보 영상, 웹사이트 영상, 홍보 또는 변경 로그 영상, 데이터 몽타주, 모션 포스터 또는 HyperFrames HTML 구성을 만들거나, 생성하거나, 편집하거나, 애니메이션화하거나, 렌더링하는 모든 요청에 대해 여기서 시작하세요. 사용자가 HyperFrames가 완성된 MP4/웹 동영상을 제작하거나 렌더링하도록 하거나, 워크플로를 선택하거나, 제품 출시 동영상, 얼굴 없는 설명 영상, 웹사이트-투-비디오 등 중에서 경로를 지정하려는 경우 다른 동영상 또는 애니메이션 스킬보다 먼저 사용하세요.
creativevideomedia