hyperframes (heygen-com/hyperframes)
HyperFrames で、制作から編集、アニメーション、レンダリングまで行い、紹介映像や解説、グラフ、字幕を扱います。
HyperFrames スキル:スキルなしと同じ動画品質。ただしトークンは 1.9 倍、プロジェクト構造はより編集しやすくなります。
Codex CLI · gpt-6-astra
19.9 / 30
スキルなしに対するリフト:-0.01 · 状況次第 · 18 実行
状況次第:合計 19.9/30 が 22 未満 と リフト -0.01 が +1.0 未満。推奨には合計 22/30、出力品質 3.5、リフト +1.0 が必要です。
SOTA
合格Codex でテスト済み。
カバー対象 Codex, Claude Code
Codex CLI 0.166(SOTA ティア):採点対象 18 実行。当ティアのルールでは、ここでの合格は Claude Code もカバーします。第2ティアについては何も述べません。
スコア
各ディメンションは 0〜5 点で、6 つの合計が 30 点満点の合計スコアになります。すべてのディメンションで 5 が最良です。コスト 5 は低コストで高速、インストール 5 は簡単であることを意味します。
- トリガーの信頼性
- 5.0
- スキルなしに対するリフト
- 2.0
- 出力品質
- 4.9
- トークンと時間のコスト
- 2.0
- インストールと移植性
- 3.0
- 安全性
- 3.0
セキュリティレビュー
注意静的スキャン:CRITICAL 27 / HIGH 26 / MEDIUM 88。手動レビュー:実行しても安全(ネットワーク無効のサンドボックス)。クリーンなスキャン結果はスキルの安全性を証明しません。
インストール
npx skills@latest add heygen-com/hyperframes --skill hyperframes
固定コミット: af0d68d612ebd9c419f27d9ebc8068512667bae4
テスト済み: 2026-11-02
テスト内容
- 15秒の商品ティーザー — この HyperFrames プロジェクト(index.html ルートコンポジション、GSAP タイムライン、npx hyperframes render でレンダリング)で、15秒・1920x1080・30 fps の商品ティーザーを、毎月の海藻スナック定期購入 Tidepool 向けに構築してください。画面上に必要なテキスト:名前 'Tidepool'、…
- 20秒のアニメーション棒グラフ解説動画 — この HyperFrames プロジェクト(index.html ルートコンポジション、GSAP タイムライン、npx hyperframes render でレンダリング)で、20秒・1920x1080・30 fps のアニメーション解説動画を構築してください:月次売上の棒グラフ(8月 $42k、9月 $58k、10月 $71k)。タイトル 'Revenue, last 3 months…
- 30秒の縦型キャプション付きショート — この HyperFrames プロジェクト(index.html ルートコンポジション、GSAP タイムライン、npx hyperframes render でレンダリング)で、30秒・縦型 1080x1920・30 fps のソーシャルショートを、焼き込みキャプション付きで構築してください。キャプションは順番に、それぞれ約5秒画面に表示され、…
長所
- スキルは名前を出さずとも採用されました:スキルあり群 6/6 実行でスキルファイルが読み込まれました。
- スキルありの絶対品質は高水準:5 点中 4.89。
短所
- スキルなしに対する有意なリフトなし(-0.01、ノイズの範囲内)。
- 一文プロンプトは 4.91、スキルありは 4.89(-0.01)。
- スキルなしの 1.95 倍のトークンを消費。
- 対照群はすでに 4.9 点:天井効果のため、テストでリフトを示せません。
- テスト上の注意:スキルのガイダンスのみを採点。hyperframes の CLI ループ(check、preview、render)はサンドボックスで利用できませんでした。CLI は監査も実行もしていない別の npm パッケージで、無効にしない限り使用状況のテレメトリを送信します。兄弟スキルの hyperframes-core と hyperframes-animation は古いコミット 207c8a4 でテストし、こちらは af0d68d でテストしました。
- タスク・群ごとに n=2。1 ポイント未満の差はノイズです。
レビュー
Mac テストマシン上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。環境:プロジェクトテンプレート(GSAP の script タグ付き index.html、コンポジションのメタデータ)は全群で同じです。サンドボックスにはネットワークも HyperFrames CLI もないため、どの群も check、snapshot、render を実行できず、ソースのみを書きました。その後、すべてのプロジェクトを別のオフラインマシンで、固定バージョンの HyperFrames 0.8.226(ドラフト品質)でレンダリングしました。これはスキルのテキストをテストするもので、CLI ループではありません。
3群の比較
| 群 | 平均スコア(0〜5) | 1実行あたりのトークン |
|---|---|---|
| スキルなし | 4.9 | 128k |
| 一文プロンプト | 4.91 | 150k |
| スキルあり | 4.89 | 249k |
Codex CLI で 18 実行を計測し、LLM 判定なしのルールベースのチェックで採点。合計 19.9 / 30、判定は 状況次第。
開示事項 スキルのガイダンスのみを採点しています:hyperframes の CLI ループ(check、preview、render)はサンドボックスで利用できませんでした。CLI は私たちが監査も実行もしていない別の npm パッケージであり、無効化しない限り利用状況のテレメトリを送信します。姉妹スキルの hyperframes-core と hyperframes-animation は古いコミット 207c8a4 で、こちらは af0d68d でテストしました。
判定:状況次第(19.9 / 30)。 出典:heygen-com/hyperframes、skills/hyperframes、コミット af0d68d 時点。インストール:npx skills@latest add heygen-com/hyperframes --skill hyperframes。ライセンス: Apache-2.0。
概要
heygen-com/hyperframes の hyperframes スキル(Apache-2.0)。1,100 語の SKILL.md に、約 25 個のリファレンスファイルといくつかのヘルパースクリプトを加えたもので、一時停止した GSAP タイムラインをフレームごとにシークして MP4 にレンダリングする HTML として動画を作ります。12 個のルールからなるレンダリング契約(時間指定の要素はすべて data-start/data-duration 付きの class="clip"、window.__timelines に登録された一時停止タイムライン 1 つ、非決定的な要素はなし)、編集可能な構造(サブコンポジションごとに 1 シーン)、npx hyperframes CLI を中心とした作業ループ(check、snapshot、preview、render)を定めています。
テスト方法
Mac テストマシン上で Codex CLI 0.166(gpt-6-astra、低推論)、実行ごとに新規の一時プロジェクトと一時 HOME/TMPDIR/キャッシュを使用、スキルをインストール(スキルあり群)、スキルなし(対照群)、またはスキルの中核要件をプロンプト末尾に付けた一文に圧縮(一文プロンプト群)、タスクごとに各群 2 実行、ネットワーク無効、/tmp への書き込みはブロック。プロンプトはスキル名に一切言及しません(以下で注記する表現を除く)。
環境:プロジェクトテンプレート(GSAP のスクリプトタグ付き index.html、コンポジションメタデータ)は全群で同じです。サンドボックスにはネットワークがなく HyperFrames CLI もないため、どの群も check、snapshot、render を実行できず、ソースを書くだけでした。その後、別のオフラインマシンで、固定バージョンの HyperFrames 0.8.226(ドラフト品質)で全プロジェクトをレンダリングしました。これはスキルのテキストをテストするもので、CLI ループではありません。
- 15 秒の製品ティーザー — この HyperFrames プロジェクト(index.html ルートコンポジション、GSAP タイムライン、
npx hyperframes renderでレンダリング)で、毎月の海藻スナックサブスクリプション Tidepool の 15 秒・1920x1080・30 fps の製品ティーザーを作成してください。画面上に必要なテキスト:名前 'Tidepool'、… - 20 秒の棒グラフ解説動画 — この HyperFrames プロジェクト(index.html ルートコンポジション、GSAP タイムライン、
npx hyperframes renderでレンダリング)で、20 秒・1920x1080・30 fps のアニメーション解説動画を作成してください。月次売上(Aug $42k、Sep $58k、Oct $71k)の棒グラフ。タイトル 'Revenue, last 3 months… - 30 秒の縦型キャプション付きショート — この HyperFrames プロジェクト(index.html ルートコンポジション、GSAP タイムライン、
npx hyperframes renderでレンダリング)で、30 秒・縦型 1080x1920・30 fps のソーシャルショートを焼き込みキャプション付きで作成してください。キャプションは順番に、それぞれ約 5 秒表示され、開始は…
採点はプログラム的(隠しテスト/仕込み問題の検出/制約チェック/該当する場合はレンダリング+OCR)で、実行ごとに 0〜5 点。スコアはどの LLM 判定者も決めていません。
結果
第3群に与えた一文プロンプト:"HyperFrames の HTML コンポジションとして作成する:data-composition-id/data-width/data-height/data-duration を持つルート、時間指定の要素はすべて class="clip" と data-start、data-duration(秒単位)を付与、一時停止した GSAP タイムライン 1 つを window.__timelines["<composition-id>"] として登録、非決定的な要素はなし(Date.now()、シードなしの Math.random()、タイマー、ネットワーク、repeat:-1 は使わない)。"
| タスク | 対照群スコア | 一文プロンプト | スキルあり | 対照群トークン | 一文プロンプトトークン | スキルありトークン | スキル読込 |
|---|---|---|---|---|---|---|---|
| t1-teaser | 5.0 | 5.0 | 4.97 | 140k | 173k | 364k | 2/2 |
| t2-chart | 4.71 | 4.72 | 4.71 | 125k | 116k | 184k | 2/2 |
| t3-vertical | 5.0 | 5.0 | 5.0 | 117k | 158k | 197k | 2/2 |
平均スコア:スキルなし 4.9 対 スキルあり 4.89(差分 -0.01)。1 実行あたりのトークン:128k 対 249k(1.95 倍)、時間 154 秒 対 208 秒。一文プロンプト群:4.91(一文プロンプトに対するスキルの上乗せ:-0.01、スキルなしに対する一文プロンプト自身の上乗せ:+0.0)。一文プロンプトのトークンは 1 実行あたり 150k で、スキルのコストは一文プロンプトの 1.67 倍です。
何が起きたか
- 動画品質は同じでした。18 プロジェクトすべてが最初の試行で正しいサイズ・長さ・フレームレートでレンダリングされ、必要なテキスト(名前、タグライン、$14 / box、締めの一文、キャプション)は、それを含むべきすべての実行で OCR によって画面上に確認されました。平均スコアはスキルなし 4.90、ルールの一文版のみ 4.91、スキルあり 4.89。3 群すべてで失われた唯一のポイントは、棒グラフ解説動画が長時間静止していたことです(動きのあるフレーム 15〜23%)。
- 一文版はスキルと同等にできました。対照群のエージェントに契約の一文(clip クラス、data-start/data-duration、一時停止タイムライン 1 つ、非決定的なコードなし)を与えると、同じスコアと同じ見た目になりました。3 群すべてのティーザー、チャート、縦型ショートのコンタクトシートを確認しましたが、品質で順位を付けることはできませんでした。
- スキルは毎回読み込まれます(スキルあり群 6/6 実行)。ただし変わるのは見た目ではなくプロジェクトの構築方法です。スキルありの 6 実行はすべて、「編集可能に保つ」セクションの指示どおり、動画をサブコンポジション(compositions/*.html、シーンごとに 1 つ)に分割しました。スキルなしの 12 実行では 0 実行でした。時間指定要素への
clip付与はスキルではなく群によってばらつきました。スキルなしの実行はプロジェクトあたり 0〜6 個、スキルありは 1〜9 個、一文プロンプトは 3〜25 個です。これは、後で誰かが HyperFrames Studio でプロジェクトを開く場合に重要になる部分で、ここでは採点していません。 - コストは大きいです。1 実行あたり 249k トークン(スキルなし 128k の 1.94 倍、一文プロンプト 150k の 1.66 倍)。コマンドは 1 実行あたり 15 個(対照は 8 個)、所要時間は約 35% 増。エージェントは最初に SKILL.md と複数のリファレンスファイルを読み、自律モードでは誰も求めていない
SPEC.md、REVIEW.md、README まで書きます(1 実行あたり 4.7 ファイル、対照は 1)。 - スキルの一部は実行できませんでした。SKILL.md のループは check、snapshot、review、そして render です。CLI がないため、エージェントは手書きの REVIEW.md ファイルにフォールバックしました。CLI が動く環境では結果が変わる可能性があり、今回の初回パスのプロジェクトにはなかったエラーを検出できるかもしれません。
次元別スコア
| 次元 | スコア | 理由 |
|---|---|---|
| 1_output_quality | 4.89 | スキルありの平均スコア 4.89/5(プログラム的チェック。タスク別の 表を参照)。 |
| 2_lift_vs_no_skill | 1.99 | スキルなしの 4.90 に対して -0.01 ポイント(タスクごとに n=2。約 1 ポイント未満はノイズ)。 |
| 3_trigger | 5.0 | スキルあり群 6/6 実行でスキルファイルが読み込まれました。 |
| 4_instructions_portability | 3 |
|
| 5_efficiency | 2 | トークン 1.95 倍(1 実行あたり 249k 対 128k)、時間 1.35 倍(208 秒 対 154 秒)。 |
| 6_safety_hygiene | 3 | テキストとスクリプトを確認済み。 |
このテストの限界
- CLI ループ(check、snapshot、preview、render)はサンドボックスで利用できなかったため、これはスキルのガイダンスのみを採点しています。スキル自身の前提は、CLI がループを閉じるというものです。
- タスクは 3 つ。製品ティーザー、3 本の棒グラフ、縦型キャプション付きショートで、すべてコードで描画。映像素材、音声、マップ、レジストリブロック、HeyGen ベースのメディア機能はテストしていません。
- Linux マシンでのドラフト品質のレンダリング。動きのチェックは粗いフレーム差分のしきい値で、同じチャートタスクが全群で減点されています。
- 構造のカウント(サブコンポジション、clip 要素)はソースファイルを読んだもので、0〜30 のスコアには含まれません。
- ライセンスは Apache-2.0 ですが、スキルが依存する CLI は別の npm パッケージで、私たちは監査もテストコンピューターでの実行もしていません。無効化しない限り利用状況のテレメトリを送信します。
- タスク・群ごとに n=2。1 ポイント未満の差はノイズです。
- ルールベースの採点はチェックで見えるものだけを測ります。センスや、その結果が可能な限り最良かどうかは判定できません。
セキュリティ
security.md を参照。スキャン:27 CRITICAL / 26 HIGH / 88 MEDIUM。判定:実行しても安全(ネットワーク無効のサンドボックス)。クリーンなスキャン結果はスキルの安全性を証明しません。
まとめ
このサンドボックスでの 1 回限りのコード描画動画では、スキルは動画を良くせず、トークンは約 2 倍かかりました。契約の一文が同じ仕事を果たしました。価値があるのは、HyperFrames Studio で編集を続ける人向けのプロジェクト構造(サブコンポジションごとのシーン、マークされた clip)と、私たちが試せなかった CLI ループです。HyperFrames で日常的に作業するならインストールを。素早い使い捨てのレンダリングならスキップしてください。
トランスクリプト
実行ログ:hyperframes (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) 列:タスク、群-回、スコア(0-5)、トークン、秒、合格したチェック、エージェントが開いたスキルファイル。 t1-teaser control-1: スコア 5.0, トークン 158742, 秒 258.0, チェック 5/5, 開いたファイルなし t1-teaser control-2: スコア 5.0, トークン 122491, 秒 163.4, チェック 5/5, 開いたファイルなし t1-teaser oneliner-1: スコア 5.0, トークン 194827, 秒 274.5, チェック 5/5, 開いたファイルなし t1-teaser oneliner-2: スコア 5.0, トークン 151350, 秒 215.4, チェック 5/5, 開いたファイルなし t1-teaser treatment-1: スコア 4.94, トークン 359882, 秒 360.9, チェック 5/5, 開いたファイル hyperframes t1-teaser treatment-2: スコア 5.0, トークン 370088, 秒 251.3, チェック 5/5, 開いたファイル hyperframes t2-chart control-1: スコア 4.73, トークン 159545, 秒 126.0, チェック 4/5, 開いたファイルなし t2-chart control-2: スコア 4.69, トークン 91764, 秒 107.4, チェック 4/5, 開いたファイルなし t2-chart oneliner-1: スコア 4.74, トークン 118117, 秒 146.0, チェック 4/5, 開いたファイルなし
18 実行、21 成果物
サンプル出力
SOTA · With the skill: compositions/arrival.html (t1-teaser, run 1, Codex)
<template> <style>*{box-sizing:border-box}#root{position:absolute;inset:0;font-family:Arial,Helvetica,sans-serif;color:#173E32}.stage,.artboard{position:absolute;inset:0;width:1920px;height:1080px;overflow:hidden}.artboard{background:#F5F0DF}h1,h2,p{margin:0}.eyebrow{font-size:24px;font-weight:700;letter-spacing:4px;text-transform:uppercase}.rule{height:2px;background:currentColor;opacity:.3}.pouch{position:absolute;width:470px;height:650px}.pouch svg{width:100%;height:100%}.wipe{position:absolute;z-index:20}.serial{position:absolute;left:192px;top:930px;font-size:22px;letter-spacing:3px}.wordmark{font-weight:900;letter-spacing:-8px}.chip{position:absolute;width:400px;height:472px}.chip svg{width:100%;height:100%} </style> <div id="root" data-composition-id="arrival" data-width="1920" data-height="1080" data-duration="5"> <div id="arrival-stage" class="clip stage" data-start="0" data-duration="5" data-track-index="0" data-track-kind="graphics"><div class="artboard"> <svg id="arrival-rings" width="1920" height="1080" style="position:absolute" aria-hidden="true"><g fill="none" stroke="#173E32" stroke-width="2" opacity=".16"><ellipse cx="1450" cy="530" rx="335" ry="335"/><ellipse cx="1450" cy="530" rx="445" ry="445"/><ellipse cx="1450" cy="530" rx="560" ry="560"/></g></svg> <div id="arrival-kicker" class="eyebrow" style="position:absolute;left:192px;top:202px">Meet your monthly ocean fix</div> <div style="position:absolute;left:192px;top:299px;overflow:hidden;width:1000px;height:220px"><h1 id="arrival-title" class="wordmark" data-var-text="brand" style="font-size:192px;line-height:1.1">Tidepool</h1></div> <p id="arrival-copy" data-var-text="tagline" style="position:absolute;left:194px;top:555px;width:820px;font-size:48px;line-height:1.25;letter-spacing:-1px">Crisp seaweed snacks, delivered monthly</p> <div id="arrival-rule" class="rule" style="position:absolute;left:194px;top:750px;width:710px"></div> <p id="arrival-note" style="position:absolute;left:194px;top:785px;font-size:24px;letter-spacing:2px">FROM THE SEA. TO YOUR SNACK DRAWER.</p> <div id="arrival-pouch" class="pouch" style="left:1190px;top:201px"><svg viewBox="0 0 470 650" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Illustrated Tidepool seaweed snack pouch"><defs><linearGradient id="a-foil" x1="0" x2="1"><stop stop-color="#BACA99"/><stop offset=".12" stop-color="#E3E8BC"/><stop offset=".7" stop-color="#D7DFAE"/><stop offset="1" stop-color="#AABA8C"/></linearGradient><pattern id="a-seal" width="8" height="8" patternUnits="userSpaceOnUse"><path d="M0 0V8" stroke="#173E32" opacity=".2" stroke-width="2"/></pattern></defs><path d="M40 15Q235 0 430 15L420 68Q436 350 445 605Q235 640 25 605L48 68Z" fill="url(#a-foil)" stroke="#173E32" stroke-width="3"/><path d="M40 15Q235 0 430 15L425 50H44Z" fill="url(#a-seal)"/><path d="M30 580Q235 600 441 580L445 605Q235 640 25 605Z" fill="url(#a-seal)"/><path d="M48 68H420" stroke="#173E32" stroke-width="3" opacity=".4"/><path d="M64 82L47 565M405 80L423 564" stroke="#FFFBE2" stroke-width="4" opacity=".6"/><text x="235" y="157" text-anchor="middle" fill="#173E32" font-family="Arial, sans-serif" font-size="71" font-weight="900" letter-spacin [... excerpt: first 3200 of 5490 characters]