hyperframes-registry
Search, install, and wire registry blocks and components into HyperFrames compositions. Use BEFORE hand-building any named visual — whenever a brief, a user, or a storyboard names a look, effect, treatment, or transition such as CRT scanlines, glitch, chromatic aberration, film grain, a shimmer sweep, a chart, a code or terminal window, a map, or a confetti burst — because roughly 400 hosted items already cover many of them and the search ranks all of them with nothing installed, no project, and no account. Also use when running hyperframes add or hyperframes catalog, installing one item or every block matching a tag, wiring an installed item into index.html, or working with hyperframes.json. Covers discovery, install locations, block sub-composition wiring, component snippet merging, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).
Install
npx skills add https://github.com/heygen-com/hyperframes --skill hyperframes-registryPlugin installs: Inside a HyperFrames plugin, follow plugin execution rules.
Usage beacon: run npx hyperframes events --skill=hyperframes-registry once as this skill starts. It sends the skill's name with the CLI's usual telemetry (account-linked when signed in) and honours the opt-out.
HyperFrames registry
Starting from an item is faster and usually better than writing the effect yourself, and an installed item is ordinary source in your project: change it, cut it down, restyle it.
Find and install
There is no hyperframes registry command; searching is catalog, installing is add.
- Query in English even when the video is not: the catalog is indexed in English, and another script returns
No searchable words in query, which is not a gap. - Search is local and sends nothing. The default
wordstier only finds items that reuse your words;--on-deviceranks by meaning after a one-time ~33 MB download. Offer that download and let the person decide; never enable it silently. The--jsonenvelope names the tier that answered. - Narrow with
--type block|componentand--tag <tag>.add <tag>installs every block with that tag; dependencies install first.addneeds the network even for an item installed before; search works offline from the cached manifest. - Nothing fits: report it before you hand-build, on either tier.
catalog --queryprints the line pre-filled (report_gapin--json):npx hyperframes feedback --search-miss "<query>" --wanted "<the move you needed>" --tier <tier>. Describe the effect, not an item name you imagined.
Tiers, dropped and unindexed, stale indexes, offline behaviour: references/search.md.
What's in it
Wiring
- Block: installs to
compositions/<name>.html. Mount it withdata-composition-src,data-composition-idmatching the block's own id,data-startand thedata-durationyou need; the snippetaddprints is the starting point.references/wiring-blocks.md. - Component: installs to
compositions/components/<name>.html. Copy its markup,<style>and script into your scene, and follow its comment block if it hooks into your timeline.references/wiring-components.md. - Take the largest unit that fits, then edit it. Keep an installed item's ids prefixed as they are, so two items can't collide.
- An item keeps its own variables; set them for one mount with
data-variable-valueson its host (add --vars '{"title":"…"}'writes that), and point its colour and font variables at your brand's. - Beat-synced blocks take hit times from
npx hyperframes beats --json: the beat times minus the mount'sdata-start. - Install paths come from
hyperframes.json(references/install-locations.md).
Contributing
Authoring a new block or component for an upstream PR: references/contributing.md, starter templates in references/templates.md, quality bar in references/component-quality-bar.md.