Communitygithub.com

hyperframes-registry

HyperFrames 레지스트리 블록 및 컴포넌트를 설치, 검색, 연결합니다. hyperframes add, catalog 명령어를 사용하거나 hyperframes.json을 다룰 때 활용합니다.

hyperframes-registry란 무엇인가요?

HyperFrames Registry는 재사용 가능한 블록(독립적인 서브 컴포지션)과 컴포넌트(이펙트 스니펫)를 제공하는 CLI 도구입니다. 개발자는 `hyperframes add <name>` 명령어로 아이템을 설치하고, `hyperframes catalog`로 의도 기반 검색(로컬 단어 매칭 또는 온디바이스 의미 검색)을 수행할 수 있습니다. 블록은 `data-composition-src` 속성을 통해 호스트 컴포지션에 연결되며, 컴포넌트는 HTML/CSS/JS 스니펫을 직접 붙여넣어 사용합니다. 검색 결과에 적합한 항목이 없으면 `feedback` 명령어로 갭을 보고하여 카탈로그 개선에 기여할 수 있습니다. CLI는 네트워크 없이도 캐시된 매니페스트를 기반으로 검색을 지원하지만 설치(`add`)는 항상 네트워크가 필요합니다. 새 블록이나 컴포넌트를 기여하려면 idea → scaffold → validate → PR 워크플로를 따릅니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jasonfast123/hyperframes-skills/tree/main/skills/hyperframes-registry

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

HyperFrames 레지스트리

레지스트리는 hyperframes add <name>으로 설치 가능한 재사용 가능한 블록과 컴포넌트를 제공합니다.

  • 블록 — 독립적인 서브 컴포지션(자체 크기, 지속 시간, 타임라인 포함). 호스트 컴포지션에 data-composition-src를 통해 포함됩니다.
  • 컴포넌트 — 이펙트 스니펫(자체 크기 없음). 호스트 컴포지션의 HTML에 직접 붙여넣습니다.

빠른 참조

hyperframes add data-chart              # 블록 설치
hyperframes add grain-overlay           # 컴포넌트 설치
hyperframes add captions                # 'captions' 태그의 모든 블록 설치
hyperframes add shimmer-sweep --dir .   # 특정 프로젝트 대상 지정
hyperframes add data-chart --json       # 머신 리더블 출력
hyperframes add data-chart --no-clipboard  # 클립보드 생략 (CI/헤드리스)

설치 후 CLI는 작성된 파일과 호스트 컴포지션에 붙여넣을 스니펫을 출력합니다. 스니펫은 시작점이며, 블록을 연결할 때는 data-composition-id (블록의 내부 컴포지션 ID와 일치해야 함), data-start, data-track-index 속성을 추가해야 합니다.

위치 인수는 먼저 정확한 항목 이름으로 확인됩니다. 일치하는 항목이 없고 값이 태그이면 해당 태그의 모든 블록을 설치합니다. 레지스트리 종속성은 요청된 항목보다 먼저 설치됩니다. hyperframes add는 블록과 컴포넌트에만 작동하며, 예제는 hyperframes init <dir> --example <name>을 대신 사용하세요.

설치 위치

블록은 기본적으로 compositions/<name>.html에 설치됩니다. 컴포넌트는 기본적으로 compositions/components/<name>.html에 설치됩니다.

이 경로는 hyperframes.json에서 설정할 수 있습니다:

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

자세한 내용은 install-locations.md를 참조하세요.

블록 연결하기

블록은 독립적인 컴포지션입니다. 호스트 index.html에 data-composition-src를 통해 포함하세요:

<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>

주요 속성:

  • data-composition-src — 블록 HTML 파일 경로
  • data-composition-id — 블록의 내부 ID와 일치해야 함
  • data-start — 블록이 호스트 타임라인에 나타나는 시점 (초)
  • data-duration — 블록 재생 시간
  • data-width / data-height — 블록 캔버스 크기
  • data-track-index — 레이어 순서 (높을수록 앞쪽)

자세한 내용은 wiring-blocks.md를 참조하세요.

컴포넌트 연결하기

컴포넌트는 스니펫입니다. 컴포지션의 마크업에 HTML을, 스타일 블록에 CSS를, 스크립트에 JS(있는 경우)를 붙여넣으세요:

  1. 설치된 파일 읽기 (예: compositions/components/grain-overlay.html)
  2. HTML 요소를 컴포지션의 <div data-composition-id="...">에 복사
  3. <style> 블록을 컴포지션 스타일에 복사
  4. <script> 내용을 컴포지션 스크립트(타임라인 코드 앞)에 복사
  5. 컴포넌트가 GSAP 타임라인 통합을 제공하는 경우(스니펫의 주석 블록 참조), 해당 호출을 타임라인에 추가

자세한 내용은 wiring-components.md를 참조하세요.

검색

CLI를 기본 검색 도구로 사용하세요. 브라우징보다 의도 기반 검색을 먼저 하세요: 레지스트리는 눈으로 훑기에는 너무 많은 항목을 보유하므로, 이름이나 태그로 나열하고 매칭하는 것은 느린 경로이며 작성자의 표현이 사용자와 다를 때 실패합니다.

# 전체 카탈로그를 비트가 해야 할 동작에 대해 순위화
npx hyperframes catalog --query "reveal a headline one line at a time"
npx hyperframes add caption-clip-wipe

검색은 로컬에서 수행되며 아무것도 전송하지 않습니다. 기본적으로 항목의 이름, 제목 및 설명과 공유되는 어휘로 순위를 매기므로 사용자의 단어를 재사용하는 항목만 찾습니다. --on-device는 일회성 모델 다운로드 후 의미로 순위를 매깁니다. --json을 사용하면 응답한 계층을 표시하므로 순위 지정이 발생했다고 가정하지 말고 확인하세요.

비디오 언어와 관계없이 항상 영어로 질의하세요. 카탈로그는 영어로 작성되어 있으며 두 계층 모두 영어로 인덱싱합니다(온디바이스 모델도 영어 전용). 다른 문자로 작성된 질의는 검색 가능한 용어를 생성하지 않으며 아무것도 반환하지 않습니다. 일본어나 중국어 프로젝트에서 브리핑, 자막, 내레이션이 모두 해당 언어이고 질의가 자연스럽게 따라올 때 자주 실수합니다. 동작을 영어로 설명한 다음 화면에 표시할 텍스트는 비디오에 필요한 언어로 작성하세요. 질의가 '검색 가능한 단어가 없음'을 반환하면 이 규칙 때문이며, 컴포넌트가 누락된 것이 아니므로 갭 리포트를 작성할 가치가 없습니다.

설치 가능성은 순위 지정 후에 적용됩니다(순위 지정 전이 아님): 벡터가 가져오지만 이 레지스트리가 제공할 수 없는 이름은 결과에서 제거되고 dropped에 집계됩니다. 따라서 dropped가 0이 아니면 두 항목이 다른 세대임을 의미합니다. 오프라인 계층, 동의 게이트, 오래된 인덱스 갱신 방법은 /hyperframes-cli를 참조하세요.

검색 대신 브라우징 또는 필터링:

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

일반 테이블 모드와 --json 모드는 일치하는 항목만 나열합니다. 선택한 이름은 hyperframes add <name>으로 설치하세요. --human-friendly는 대화형 선택기를 열고 선택한 항목을 즉시 설치합니다. CI 또는 에이전트 워크플로우에서는 --json 다음에 명시적인 add를 사용하는 것이 좋습니다.

카탈로그에 없는 항목 보고

검색 결과에 적합한 것이 없으면 직접 동작을 작성하기 전에 보고하세요:

npx hyperframes feedback --search-miss "<실행한 질의>" --wanted "<필요한 동작>" --tier on-device

catalog --query는 이 줄을 미리 채워서 출력하며, --json은 report_gap으로 전달하므로 아무것도 맞지 않는다고 판단한 시점에 이미 준비되어 있습니다.

어느 계층에서든 결과에 적합한 것이 없으면 보고하세요. 온디바이스 계층이 응답할 때까지 기다리지 마세요. 동의된 33MB 다운로드가 필요하므로 에이전트 실행은 명시적으로 동의하지 않는 한 words에 있으며, on-device로 조건을 걸면 거의 모든 보고가 무시됩니다. --tier 값이 함께 전달되므로 읽을 때 어휘 누락과 의미 누락을 구분할 수 있습니다. 상상한 항목 이름이 아니라 원했던 효과를 설명하세요. 반환되는 것은 구축할 가치가 있는 동작 목록이며, 존재하지 않는 항목을 보고하는 것은 아무것도 가르쳐주지 않습니다. 이것이 쿼리를 외부로 보내는 유일한 경로이며, 검색이 자체적으로 수행하는 것이 아니라 별도의 의도적인 명령인 이유입니다. 등급을 포함하지 않으며 등급 측정항목에 포함되지 않습니다.

이것이 카탈로그에 대한 전체 수요 신호입니다. 이를 건너뛰면 발생한 갭이 설치 횟수로 추측되며, 아무도 설치할 수 없는 동작은 볼 수 없습니다.

CLI가 설정된 레지스트리에 연결할 수 없으면 원시 매니페스트를 대체 수단으로 검사하세요:

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

CLI가 연결할 수 없는 레지스트리는 검색을 위한 카탈로그를 비우지 않습니다: 이전에 가져온 매니페스트는 재검증이 실패할 때마다 24시간 갱신 창을 넘어 계속 제공되므로 catalog 및 catalog --query는 디스크의 마지막 복사본을 기준으로 계속 나열하고 순위를 매깁니다.

add는 어제 설치한 항목에도 여전히 네트워크가 필요합니다. 매니페스트만 캐시되며, 항목의 실제 파일은 매 설치 시 가져옵니다. 따라서 오프라인에서 검색하고 항목이 무엇인지 볼 수는 있지만 파일 가져오기에서 설치가 실패합니다. 사용자에게 오프라인 설치를 약속하지 마세요.

각 항목의 registry-item.json에는 이름, 유형, 제목, 설명, 태그, 크기(블록만), 지속 시간(블록만), 파일 목록이 포함됩니다.

유형 및 태그별 필터링에 대한 자세한 내용은 discovery.md를 참조하세요.

새 블록 또는 컴포넌트 기여하기

새로운 레지스트리 항목(자막 스타일, VFX 블록, 전환, 하단 써드, 재사용 가능한 컴포넌트)을 작성하고 업스트림 PR로 제출하려면(기존 항목을 설치하는 것이 아니라) contributing.md의 아이디어 → 스캐폴드 → 빌드 → 검증 → 미리보기 → 제공 전체 워크플로를 따르세요. 시작 템플릿(자막 / VFX / 컴포넌트 / registry-item.json)은 templates.md에 있습니다.

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

embedded-captions

>

faceless-explainer

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

figma

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

general-video

>

hyperframes

>

hyperframes-animation

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition

hyperframes-audio

>

hyperframes-cli

>

hyperframes-core

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=

hyperframes-creative

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.

hyperframes-keyframes

>

jasonfast123/hyperframes-skills

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

media-use

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

motion-graphics

>

music-to-video

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

pr-to-video

Turn a GitHub pull request (a PR URL, owner/repo#N, or

remotion-to-hyperframes

Port an existing Remotion (React) composition

slideshow

>

talking-head-recut

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on

관련 스킬