Communitygithub.com

Sma1lboy/rove

HyperFrames合成コントラクト — 1つのレンダリング可能なプロジェクトを構築します。合成構造、`data-*`タイミング属性、`class="clip"`、トラック、サブ合成、変数、フレームワーク管理のメディア再生、決定論的レンダリングルール、バリデーションに使用します。合成HTMLを記述する前にお読みください。

rove とは?

このスキルは、HyperFramesフレームワークにおけるコンポジション(合成)HTMLファイルの作成方法を定義する包括的なガイドです。HyperFramesはHTMLから動画をレンダリングし、コンポジションは`data-*`属性でタイミングを宣言するDOM構造を持ち、アニメーションランタイムはシーク可能で、メディア再生はフレームワークに管理されます。このスキルでは、スタンドアロンとサブコンポジションの2つのルート形式の違い、`data-composition-id`や`data-track-index`などの必須属性、決定論的レンダリングのための禁止事項(Math.random、ネットワーク、無限ループの禁止)、アニメーション可能プロパティの許可リスト、`class="clip"`を使用したクリップ定義、トラックの重なりとz-indexの扱い、サブコンポジションの配線と変数、フレームワーク所有の`<video>`再生ルール、バリデーションコマンド(lint/validate/inspect/snapshot/preview/render)の実行方法を詳細に説明しています。主な対象プラットフォームはHyperFrames CLIであり、Claude CodeやCursor、CodexなどのAIエージェントと組み合わせて使用することを想定しています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sma1lboy/rove/tree/HEAD/.claude/skills/hyperframes/core

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

HyperFrames Core

HyperFramesはHTMLから動画をレンダリングします。コンポジションは、data-*属性でタイミングを宣言し、アニメーションランタイムがシーク可能であり、メディア再生がフレームワークによって管理されるHTMLファイルです。

これはコンポジションコントラクト — 1つのHyperFramesプロジェクトを構築する方法です。以下の本文はビルドガイドです;トピックごとの詳細はreferences/(次にインデックス)にあり、必要に応じて読んでください。その他の関心事は、同じスキルの兄弟セクション — ../cli(開発ループ)と../registry(ブロック/コンポーネントのインストール) — および兄弟デザインスキルである/hyperframes-motion(アニメーションレシピ)と/hyperframes-design(パレット、タイポグラフィ、フレームプリセット)にあります。../SKILL.mdの機能マップは、各スキルがカバーする内容を示しています。

リファレンス

ファイル読む目的…
references/minimal-composition.md最小のレンダリング可能なコンポジションスケルトンから始める
references/composition-patterns.mdモノリシック vs モジュラーの選択;モジュラーindex.htmlの構造化;サブコンポジションアーキタイプの選択
references/data-attributes.md任意のdata-*(ルート/クリップ/サブコンポホスト/レガシーエイリアス)を検索;class="clip"の使用
references/tracks-and-clips.mddata-track-indexの選択、同一トラックの重なり/z-indexの処理、別のクリップに対する相対タイミング
references/sub-compositions.mdサブコンポジションの配線(ホスト属性、<template>、インスタンスごとの変数)とその内部でのアニメーション
references/variables-and-media.md変数の宣言;ビジュアル専用再生のための<video>の配置
references/determinism-rules.mdシーク可能なタイムラインの構築;決定論の禁止事項;アニメーション可能プロパティの許可リスト;レイアウト/テキストフィット
references/full-screen-motion.md共有背景を使用した全フレームモーションの作成
references/storyboard-format.mdSTORYBOARD.md計画の作成(+ 解析されたマニフェスト)
references/subagent-dispatch.mdサブエージェントディスパッチ動詞(並列ファンアウト/バックグラウンド/待機)をハーネスにマッピング
references/tailwind.mdTailwind v4プロジェクトでの作業(init --tailwind;ランタイムコントラクトはStudio v3とは異なります)

アニメーションランタイムの詳細(GSAP API、Lottie、Three.jsなど)については/hyperframes-motion → adapters/<runtime>.mdを参照してください。

コンポジションの構築

2つのルート形式(互換性なし)

  • スタンドアロン(トップレベルindex.html) — ルート<div data-composition-id="…">は直接<body>内に配置され、<template>ラッパーなし(ラップするとすべてのコンテンツが非表示になりレンダリングが壊れます)。
  • サブコンポジション(data-composition-src経由で読み込み) — ルートは必ず<template>でラップする必要があります。

⚠ 転送ルール:ランタイムは<template>の内容のみをクローンします;外側のすべて(<head>のスタイル/スクリプトを含む)は破棄されます — <style>/<script>はテンプレート内部に配置してください。 ⚠ ホストIDルール:ホストスロットのdata-composition-idは、内部テンプレートのdata-composition-idおよびwindow.__timelines["<id>"]キーと完全に一致する必要があります — -mount/-slot/-hostサフィックスは付けないでください。

ファイル構造、ホスト配線、およびプリレンダーチェックリスト → references/sub-compositions.md。

ルートにはサイズ指定が必要(無音のレイアウトバグ)

スタンドアロンルートには、明示的なサイズ指定ボックス(width/heightをpxで)が必要であり、height:100%要素までのすべての祖先が解決された高さを持っている必要があります — そうしないと、flex/100%の子要素が約0に縮小し、コンテンツが左上隅に折り重なります。lint/validate/inspectはこれを検出しません。スケルトン → references/minimal-composition.md。

一時停止された1つのタイムライン

各コンポジションは、window.__timelines["<id>"](キー = ルートdata-composition-id)に正確に1つのgsap.timeline({ paused: true })を登録し、ページ読み込み時に同期的に構築します。レンダリング期間 = ルートdata-durationであり、タイムラインの長さではありません。サブタイムラインをホストに手動でネストしないでください。完全なコントラクト(非GSAPランタイムを含む) → references/determinism-rules.md + /hyperframes-motion/adapters/。

譲れないルール(lint/validate/inspectが検出しない無音のバグ)

ここに示します;完全な根拠はリンク先のリファレンスを参照してください。違反しないでください:

  • レンダリング時のクロック / 非シードのMath.random / ネットワーク / 入力状態の禁止;repeat: -1の禁止(有限カウントを使用)。 → determinism-rules.md
  • ビジュアルプロパティ許可リストのみをアニメーション化;display/visibilityは禁止;後のシーンのクリップでgsap.setを使用しない。 → determinism-rules.md
  • 本文テキストに<br>を使用しない;変形された要素はブロックレベルでサイズ指定が必要;パルスする絶対配置の装飾要素にはピーククリアランスが必要。 → determinism-rules.md
  • <video>はホストルートの直接の子である必要があります(サブコンポ<template>/ラッパーの内部ではダメ);フレームワークが再生を管理します。 → variables-and-media.md
  • すべてのidはアセンブルされたページ全体で一意である必要があります;サブコンポ内部では、IDにコンポジションIDをプレフィックスとして付けます(#<id>-hero)。重複した<video>/<img> IDは空白でレンダリングされます — プロデューサーはgetElementByIdでフレームを注入するため、ファイル間の重複はlintをすり抜けます。 → composition-patterns.md
  • 全画面シーンの塗りつぶしは、全幅の子要素(position:absolute; inset:0)に配置し、コンポジションルート自体には決して配置しないでください — プロデューサーのフレーム合成でルート要素自身のbackgroundが削除される可能性があり(フレームが黒くレンダリングされる)、プレビュー/snapshotでは正しく表示されていても起こります。 → composition-patterns.md

既存のコンポジションの編集

  • 最初にファイルを読んでください。無関係なタイミング、トラック、ID、変数、メディアパスを保持してください。
  • 既存のコンポジションIDとタイムラインキーに一致させてください。
  • クリップを追加する:重複しないdata-track-indexを選択するか、意図的に周囲のタイミングを調整してください。
  • サブコンポジションを追加する:ホストを配線する前に、内部のdata-composition-idを確認してください。

バリデーション

CLIゲートを実行します(正規のlint / validate / inspect / snapshot / preview / renderチェックリストについては../cli/SKILL.md → ワークフロー + 最小完了ゲートを参照してください。サブコンポジションプロジェクトに必要なビジュアルスモークテストも含まれます)。

Individual skills in this repo

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

Sma1lboy/rove

The fallback workflow for authoring custom HyperFrames video compositions at any length or format — longer or multi-scene pieces, brand / sizzle reels, montages, title cards, static loops, and freeform compositions. Input- and length-agnostic. If a specialized workflow clearly fits the input — a marketed product, a website, a topic explainer, a GitHub PR, existing footage, a short motion graphic, or a Remotion port — prefer it (see /hyperframes); use this only as the general fallback when none fit.\n

Sma1lboy/rove

HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).

Sma1lboy/rove

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

Sma1lboy/rove

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). HyperFrames-native: single paused timeline, seek-safe, deterministic.

Sma1lboy/rove

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, registry discovery, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

Sma1lboy/rove

READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames topic guides, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.

Sma1lboy/rove

Best practices for Remotion - Video creation in React

関連スキル