HyperFrames — 最初に読んでください
HyperFramesのタスクはすべてここから始めてください — 特にプロジェクトのエージェント設定(CLAUDE.md / AGENTS.md / .cursorrules)がない場合は必須です。以下に能力マップとビデオルーターを示します。
能力マップ — どの意図にどのスキルを使うか
| やりたいこと… | 使うスキル |
|---|---|
| 動画を作る(URL、概要、トピック、GitHub PR、既存の映像、またはアニメーションさせたい単一要素から) | 下のビデオルーター(§ ビデオルーティング)へ |
| スライドショー / プレゼンテーション / ピッチデッキを作成する — 個別スライド、フラグメント、分岐、ホットスポット | /slideshow |
HTMLコンポジションを作成・編集する — data-* コントラクト、クリップ、トラック、サブコンポジション、変数 | /hyperframes-core |
| アニメーション — アトミックモーションルール、シーンブループリント、トランジション、ランタイムアダプター(GSAP / Lottie / Three.js / Anime.js / CSS / WAAPI / TypeGPU) | /hyperframes-animation |
クリエイティブディレクション — design.md、パレット、タイポグラフィ、ナレーション、ビート計画、オーディオリアクティブ | /hyperframes-creative |
| メディア前処理 — TTSナレーション、BGM、文字起こし、背景除去、キャプション | /hyperframes-media |
| CLI開発ループ — init、lint、validate、inspect、preview、render、publish、doctor | /hyperframes-cli |
レジストリブロック / コンポーネントをインストールする(hyperframes add) | /hyperframes-registry |
コンポジション作成契約(すべての時間指定要素には
data-start/data-duration/data-track-indexが必要;時間指定要素にはclass="clip"が必要;GSAPタイムラインは一時停止されwindow.__timelinesに登録される;決定論的ロジックのみ —Date.now()/Math.random()/ ネットワークは不可)はここには重複していません —/hyperframes-coreにあります。コンポジションHTMLを作成する前にそれを読んでください。
HyperFramesでできないこと — 最初にこれを確認してください
HyperFramesはHTMLコンポジションを作成し、コードからMP4にレンダリングします。このモデルには明確な限界があります。以下のリクエストはルーティングの選択肢ではなく、範囲外ですので、ワークフローに進む代わりに断るか(適切なツールを指示してください)、対応してください。これらはアーキテクチャに起因するものであり、個別のリクエストによるものではありません。
- レンダリングは決定論的で自己完結型です。 すべての値、アセット、テキストは作成時に埋め込まれます。レンダリング時にはネットワーク呼び出しやライブデータの取得は行いません(コアルール:
Date.now()/Math.random()/ ネットワーク不可)。「レンダリング時に数値をライブで更新する」ことは範囲外です — 作成時に一度データを取得して埋め込むか、断ってください。 - 既存の動画はオーバーレイのみで、編集はしません。 HyperFramesはソースクリップの_上に_フレームを合成します —
/embedded-captionsはキャプションレイヤーを追加し、/graphic-overlaysはデザインされたグラフィックカード(ローワーサード、データコールアウト、タイトル)を追加します — そしてクリップはそのまま下で再生されます。エンコード済みのビデオストリーム自体(タイミング、色、フレーミング、順序、オーディオ)を変更することはNLEスタイルの編集であり範囲外です。 - Remotionのインポートは一方向です。
/remotion-to-hyperframesは_Remotionフレームワークの_ソースをHyperFramesに変換します。逆方向(HyperFrames → Remotion、または → その他のフレームワーク)は範囲外であり、非RemotionのReact / ウェブアニメーションソースにはRemotionソースがないため、/general-videoで再作成してください。 - 持っていない入力を生成することはできません。 スクリーン / セッション録画、カメラキャプチャ、AIによる話す顔 / リップシンクアバター生成はできません。映像やアセットがまだ存在しない場合、HyperFramesはそれを創り出すことはできません — ユーザーに提供してもらうか(適切なキャプチャツールを使用して)先に用意してもらってください。
これ以外の、URL、概要、トピック、PR、注釈付き映像、またはアニメーションさせる単一要素からの動画はすべて範囲内です。以下でルーティングしてください。
ビデオルーティング
このセクションはトップレベルのワークフローのみを認識します。ワークフロー内部のフェーズ、ドメインスキル(hyperframes-* — 上の能力マップを参照)、または技術リファレンスはロードしません。
決定表
INPUTタイプ(意図)が主要な軸です。OUTPUTの長さは上限に過ぎず、ゲートではありません。 一致する入力の場合、専門ワークフローは約3分までを処理します — _どの_ワークフローに入るかは、長さではなく意図(入力タイプ、テキストの場合は主題)で決まります。長さが重要なのは上限側だけです:真に長い作品(3〜5分のチュートリアル、5分以上の深掘り)は別のレジスターであり、/general-video にルーティングします。約3分以下のバンド内では、3番目の軸が2つのテキスト入力ワークフローを分割します — 主題:_マーケティング_される製品 vs _説明_されるトピック(下のステップ3の曖昧性解消ルールを参照)。
| 長さ / 入力 | 製品ローンチ(URL / 概要 / スクリプト) | 一般ウェブサイト / URL | GitHub PR / コード変更 | トピック / 記事 / メモ(製品なし、URLなし) | 既存動画(話す頭)† |
|---|---|---|---|---|---|
| 約3分以下 | /product-launch-video | /website-to-video | /pr-to-video | /faceless-explainer | /embedded-captions · /graphic-overlays † |
| 3-5分 チュートリアル | /general-video | /general-video | /general-video | /general-video | /embedded-captions · /graphic-overlays † |
| 5分以上 深掘り | /general-video | /general-video | /general-video | /general-video | /embedded-captions · /graphic-overlays † |
| 静止画 / ループ | /general-video | /general-video | /general-video | /general-video | /general-video |
現在のカバレッジ:約3分以下のバンドには、製品ローンチ / 一般ウェブサイト / GitHub-PR / トピック入力用の専用ワークフロー(URLは_種類_で分割し、次に_意図_で分割 — ステップ3参照)があり、既存動画列は任意の長さでカバーされています — /embedded-captions(キャプション / 字幕)または /graphic-overlays(デザインされたグラフィックオーバーレイ)で、意図で分割します(ステップ2参照)。他のすべてのセルは /general-video です — 汎用HTMLコンポジション作成フロー(入力・長さ非依存):約3分より長いもの(3〜5分 / 5分以上の行)およびすべての静止画 / ループ形式。ルーターは作成可能な動画で行き詰まることはありません。唯一の真の「一般 / なし」の答えは、HyperFrames自体の範囲外のリクエストです(例:完成した動画ファイルのNLEスタイル編集 — 再タイミング、再色付け、再フレーミング、並び替え、オーディオ)。
† 既存映像は長さではなく意図で分割します。 キャプション / 字幕 → /embedded-captions;デザインされたグラフィックオーバーレイ / パッケージング — ローワーサード、データコールアウト、タイトルカード、プルクォート → /graphic-overlays。どちらもクリップをオーバーレイし、クリップはそのまま再生されます。どちらも映像自体を編集しません。
ジャンル短絡(表より優先)。 短い(約10秒未満)ナレーションなしのデザイン主導モーショングラフィック — キネティックタイポ、統計 / チャート表示、ロゴスティング、ローワーサード / オーバーレイ、またはアニメーションツイート / 見出し / キャプチャページハイライト — は、入力に関係なく /motion-graphics にルーティングされます。これは入力タイプではなくOUTPUTジャンルであるため、リクエストが明らかにモーション優先でナレーションがない場合(ステップ2参照)は、上記の入力タイプ表よりも優先されます。より長い、またはナレーション付きの作品は、入力タイプでルーティングするか、/general-video にルーティングします。
既存コンポジションの移行(特別なケース)
上の表は、入力から作成するためのものです。これとは別に1つのワークフローがあります:ユーザーが明示的に既存のRemotion(React)コンポジションをHyperFramesに移植 / 変換 / 移行するように依頼した場合 → /remotion-to-hyperframes。これはソース翻訳であり、入力からの作成ではないため、INPUT × LENGTHのセルはありません。移行言語が明示的な場合のみここにルーティングしてください(「Remotionプロジェクトを移植して」「このRemotionコンポを変換して」「これをHyperFramesに書き換えて」) — Remotionへの軽い言及はトリガーになりません。デフォルトは作成表または /hyperframes-core です。
ルーティング手順
- INPUTタイプ + ターゲット長を特定する。 ルーティングには、動画が何についてか — その主題と入力を知る必要があります。主題自体が指定されていない場合(例:「私たちのものについて動画を作って」とURL、製品名、トピック、アセットがない)、または入力タイプが不明な場合は、ワークフローに入る前に質問してください — まず明確にしてください。ワークフロースキルを呼び出してから質問しないでください。ワークフローを決定することがルーティングの決定そのものだからです。質問は最大2つまでにしてください:
- 「入力は何ですか? — 製品(URLまたは概要)、一般ウェブサイト / URL、GitHub PR / コード変更、説明するトピックや記事、それともキャプションを追加する既存の話す頭の動画ですか?」
- 「ターゲットの長さは? — 約3分以下、またはそれ以上(3〜5分のチュートリアル / 5分以上の深掘り)?」
- 仕様のデフォルト — 表明し、質問しないでください(これらはルートに影響しないため、ルーティングをブロックしないでください):アスペクト 16:9(エンジンは9:16縦長もサポート — ユーザーがTikTok / Reels / Shortsなどの縦長の宛先を指定した場合のみ切り替え);ナレーション / キャプション言語 = ユーザーの言語。ユーザーが反論した場合のみ確認してください。選択されたワークフローは自身のStep 0で自身の詳細を再確認します。
- まずINPUTタイプ(意図)で選びます。長さは上限に過ぎず、ゲートではありません。
- 短いデザイン主導モーショングラフィック(ジャンル短絡、入力表より優先) — モーション自体がメッセージ:キネティックタイポ、統計 / 数字カウントアップ、チャート表示、ロゴスティング、ローワーサード / オーバーレイ、またはアニメーションツイート / 見出し / キャプチャページハイライト。通常約10秒未満、ナレーション / 音声なし →
/motion-graphics。これは入力タイプではなくOUTPUTジャンルです — リクエストが明らかに素早く、ナレーションなしのデザイン主導モーションピースである場合、入力に関係なくここにルーティングしてください。同じ素材のより長い、またはナレーション付きの作品はこれではありません(入力タイプでルーティングするか、/general-video)。 - 既存の話す頭の動画(ユーザーがクリップを持っていて、それに何かを追加したい) → 任意の長さで意図で分割(入力タイプが長さに勝ちます):キャプション / 字幕(話し言葉を読みやすいテキストに) →
/embedded-captions;デザインされたグラフィックオーバーレイ — ローワーサード、データコールアウト、タイトル情報カード、プルクォート、グラフィックパッケージ編集 →/graphic-overlays。(映像_自体_の編集 — 再タイミング、再色付け、再フレーミング、並び替え、オーディオ — はNLEスタイルであり範囲外。§ HyperFramesでできないこと を参照。) - GitHub PR / コード変更(
github.com/<owner>/<repo>/pull/<N>リンク、owner/repo#N参照、または「このPR」) →/pr-to-video(約3分まで)。 - それ以外(製品URL / 概要 / トピックテキスト):意図がステップ3を介してワークフローを選択し、約3分までを処理します — 短い15〜30秒のプロモと約100秒の説明動画の両方が、長さではなく意図でルーティングされます。ターゲットが明らかに約3分より長い場合(3〜5分のチュートリアル、5分以上の深掘り)のみ、
/general-video(長さ非依存のフォールバック — ステップ4参照)にルーティングしてください。真に長い作品を約3分以下のワークフローに強制しないでください。バンド内では意図が決定し、/general-videoが残りをカバーします。
- 短いデザイン主導モーショングラフィック(ジャンル短絡、入力表より優先) — モーション自体がメッセージ:キネティックタイポ、統計 / 数字カウントアップ、チャート表示、ロゴスティング、ローワーサード / オーバーレイ、またはアニメーションツイート / 見出し / キャプチャページハイライト。通常約10秒未満、ナレーション / 音声なし →
- 約3分以下のURL / テキスト入力を曖昧性解消する(意図の分割)。 2つの分割:
- URLの種類 + 意図 — URLはもはや自動でPLVになるわけではありません。種類、次に_意図_で決定します:GitHub PRリンク(
.../pull/<N>、owner/repo#N、「このPR」) →/pr-to-video;それ以外のウェブサイトURLは意図で分割します — 特定の製品やSaaSのマーケティング / ローンチ / プロモーション →/product-launch-video;一般サイト → 動画(サイトツアー、ポートフォリオ / ブログ / ランディングページのショーケース、サイトのビジュアルからのソーシャルクリップ、または単に「このサイトを動画にして」) →/website-to-video。両方ともヘッドレスChromeでクロールします。PR URLはghで読み取ります。サイトURLが製品ローンチなのか一般サイト動画なのかが本当に不明な場合は、1つ質問してください。 - 製品 vs トピック(テキスト、URLなし) — 決定的な質問は動画が何についてかであり、入力形式ではありません:
- マーケティング / ローンチ / プロモーションされる特定の製品 / 会社 / SaaS / アプリ / ウェブサイト →
/product-launch-video。 - コンセプト / トピック / 記事 / しくみが説明され、製品もURLもない →
/faceless-explainer。 - タイブレーカー:「プロモート / ローンチ / 販売 / 私たちの製品」という表現 → PLV。「説明 / 教える / Xのしくみ / Xとは何か」で製品なし → 顔出しなし。顔出しなしの標準スタイルは常に
pin-and-paperです。 - URLが貼られていない名前付きサイトでもPLVです。 製品やそのウェブサイトに言及するスクリプト(「私たちのサイトはacme.ioです」「<ブランド>をプロモート」)は、クリック可能なリンクがなくてもPLVにルーティングされます — PLVはサイトをウェブ検索し、ブランドアセット用にクロールできます(ユーザーがオプトアウトしない限り、→ キャプチャなしプリセットモード)。URLを貼らないことが、顔出しなし / キャプチャなしのジョブになるわけではありません。提供されたスクリプトの逐語 vs 再構成の選択はPLV内部のものであり、ルートを変更することはありません。
- 矛盾する手がかり → 推測せずに質問してください。 提供されたソースが製品自身のマーケティング(ランディングページ、プロモーションコピー)である場合、それはPLVです。製品の言及もマーケティングステートメントもなく、「Xを説明して」と「Yの製品ローンチ」が混在している場合、「説明」は顔出しなし、「ローンチ」はPLVのため、質問してください — 強い方の手がかりがない限り、推測しないでください。
- マーケティング / ローンチ / プロモーションされる特定の製品 / 会社 / SaaS / アプリ / ウェブサイト →
- URLの種類 + 意図 — URLはもはや自動でPLVになるわけではありません。種類、次に_意図_で決定します:GitHub PRリンク(
- 残りはすべて
/general-videoです。 上の条件のいずれにも当てはまらない場合(約3分より長いすべて、ロングフォームナレーション、NLEスタイル編集を除く既存映像の加工、反復 / ループグラフィック、非製品URLテキストなど)、または入力タイプが不明な場合は、/general-videoにルーティングしてください。/general-videoは入力タイプと長さの両方に依存しないため、他のすべてをカバーします。 - 専用ワークフローがない既存映像 →
/general-video。 注釈付き映像(フッテージにグラフィックオーバーレイとキャプション)には/graphic-overlaysと/embedded-captionsがあります(上の決定表を参照)。それ以外のすべては、範囲外のNLE編集を除き、/general-videoに行きます。既存映像編集のベストプラクティスは、ソースクリップを<video>要素としてtrack-index=0で提示し、その上に分量を保ちながらテキストやグラフィックレイヤーを重ねることです(/general-videoワークフローはこれを処理します)。
ワークフローの決定後
正しいワークフローにルーティングしたら、そのワークフローのStep 0を実行してください(各ワークフロースキル内に文書化されています)。すべてのワークフローは:
- まず、ワークフロー固有のパラメータと期待を再確認します(出力フォーマット、アスペクト比、ナレーション設定、スタイルの好み)。
- スクリプトのアウトラインを作成し(必要な場合)、ユーザーに承認を求めます。
- アセットの収集と前処理を進めます。
- コンポジションを作成し、HTMLに書き出します。
- レンダリングを実行してMP4を生成します。
- ユーザーにレビューと修正の機会を提供します。
選択されたワークフローのSKILL.mdにある正確な手順に従ってください。