ホーム / 全スキル / コンテンツ制作 / hyperframes-keyframes
コンテンツ制作 · heygen-com/hyperframes

hyperframes-keyframes

HyperFramesコンポジションでパンチイン、パンチアウト、ズーム、リフレーム、Ken Burns効果、カメラ移動、ビジュアルマッチ/ウィップハンドオフ、その他シークセーフな2D/3Dキーフレームが必要な場合に使用します。GSAP、CSS keyframes、Anime.js、WAAPI、FLIP、パス、マスク、SVGモーフィング/描画、テキストトレイル、3D深度、`hyperframes keyframes`の診断にも適しています。大まかなシーン戦略、ブランドデザイン、メディア調達、字幕、一般的な動画計画には使用しないでください。

L1 基本 · ソース登録のみV1 コミット固定Dual-pass Audit
Author heygen-comGitHub heygen-com/hyperframes ↗Stars 44283License Apache-2.0(仓库根 LICENSE 为 Apache License Version 2.0;池内值亦为 Apache-2.0)Commit b8328f9573
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

純粋な指示型skill:ディレクトリ内には3ファイル(SKILL.md + agents/openai.yaml + references/keyframe-patterns.md)のみが存在し、実行可能スクリプト、バイナリ、データアセットは一切含みません。「キーフレーム=ポーズ契約」を厳格なルールとして定義し、ホストエージェントが合成HTML/GSAPを記述します。

skills/hyperframes-keyframes/agents/openai.yaml
interface: display_name: "HyperFrames Keyframes" short_description: "Author seek-safe video keyframes" default_prompt: "Use $hyperframes-keyframes to author seek-safe 2D/3D keyframes and verify them with the CLI."
ここでの処理内容:openai.yamlはCodex/OpenAIホスト用のインターフェースマニフェスト(display_name/short_description/default_prompt)であり、SKILL.mdのfrontmatterと対になってClaude CodeとCodexの双方で同一skillとして認識させます。実行ロジックは一切含みません。全ファイルリストによりディレクトリ内が全3ファイルであることを確認済みです(scripts/なし)。

キーフレームをトゥイーンパラメータではなく「ポーズ契約」と定義:可視状態、被写体の同一性維持、シークセーフなランタイム、ピクセル単位の検証可能性の4項目が受け入れ基準を構成します。

skills/hyperframes-keyframes/SKILL.md
Keyframes are a pose contract: visible states, continuous subject identity, seek-safe runtime, verified pixels.
ここでの処理内容:本skillの判定基準を1行で定義しています。後続のProcedure 5ステップ(被写体の特定/最小メカニズムの選択/シークセーフなキーフレーム記述/CLI検証/失敗時の最小診断フォールバック)およびError Handling表(endpoint-only、identity break、fake 3D、wrong final、unseekable runtime、unreadable text)は、すべてこの定義を具体化したものです。

シークセーフは推奨事項ではなく厳格な制約:「同期構築+タイムライン登録」による確定的なランタイムのみを許可し、クロック、シードなしのランダム、イベントトリガー、非同期タイムラインを個別に名指しで禁止します。

skills/hyperframes-keyframes/SKILL.md
Never use for render-critical motion: - `Date.now()` - `performance.now()` - unseeded `Math.random()` - hover/scroll triggers - timers - async-created timelines - unregistered `requestAnimationFrame` - infinite loops
ここでの処理内容:動画レンダラーはフレーム番号でシーク再生するため、実時間やランダム性、インタラクションに依存するアニメーションはレンダリング時に再現不能になります。付属のGSAPスケルトンでは `gsap.timeline({ paused: true })` と `window.__timelines[compositionId] = tl` による登録を必須とし、`tl.play()` の呼び出しを禁止して「再生」を完全にレンダラーのタイムラインに委ねます。

機能境界を3つに明示的に分割して帰属を明記:視覚モーションは本skill、クリップの時系列(trim/splice/reorder/source range)はhyperframes-core、音声(fade/crossfade/ducking)はhyperframes-audioが担当。ドメインを跨ぐ要求にはテーブル形式で「真実のメカニズム」を提示します。

skills/hyperframes-keyframes/SKILL.md
Keyframes own visual motion, not clip assembly. Source-range hard cuts, trim, splice, and reorder belong to `/hyperframes-core`: author one media element per kept range, place it with `data-start` and `data-duration`, and select its source offset with `data-media-start`.
ここでの処理内容:「Creator request → Truthful mechanism」表を用いて、ユーザーの口語的な要求(punch-in、Ken Burns、match cut、speed ramp、freeze)をメカニズムへマッピングするか、明確に拒否します(例:'Source speed ramps | Not supported: there is no time-varying playback-rate envelope.'、'Arbitrary mid-source freeze is not supported')。これにより、モデルが見せかけの動き(scaleを3Dと偽るなど)で誤魔化すのを防ぎます。

検証ループはhyperframes CLIに集約:lint → check → keyframes診断 → フォーカスした--shot → snapshotを「何を証明するか」に応じて分担し、診断失敗時の証拠収集手順を規定します。

skills/hyperframes-keyframes/SKILL.md
npx hyperframes lint npx hyperframes check npx hyperframes keyframes . npx hyperframes keyframes . --json npx hyperframes keyframes . --runtime all npx hyperframes keyframes . --selector "<selector>" --shot "<file>" --samples <n>
ここでの処理内容:テーブルで各ツールの証明力を定義(keyframes=ターゲット/明示的一時停止/軌跡/CSS停止点/Anime登録、--shot=ゴースト、パス形状、時間分布、DOM 3D投影、--layout strip=その場モーションと重複、--ghost=canvas/WebGL、snapshot --at=マスク、可読性、最終フレーム固定)。失敗時はまず `--json` で真の運動対象を特定し、それを撮影し、全フレームのsnapshotを撮り、最終的に「ログよりも描画されたピクセルを信じる」方針をとります。

エンジンごとに再現性制約を定義し、「テキスト表面にWAAPIが記載されていない」といったドキュメントの差異は自己証明が必要であると明示的にマークします。

skills/hyperframes-keyframes/SKILL.md
WAAPI: - finite `duration` - `fill: "both"` - deterministic construction - the text surface does not list WAAPI; verify with `--shot` (it seeks WAAPI) and snapshots
ここでの処理内容:GSAP / CSS keyframes / Anime.js / WAAPIの4つのスケルトンそれぞれに厳格な制約が存在します(GSAPは同期構築+paused+登録、CSSは有限時間/反復+確定的なdelay+fill-mode both、Anime.jsはautoplay:false+有限ループ+window.__hfAnimeへのpush)。CLIヘルプテキストに記載のないWAAPIについては、最初からサポートされていると仮定せず、追加の自己証明を要求します。

2コア機能

01カメラワーク・ズーム系(punch-in、punch-out、zoom、reframe)のキーフレーム設計
02カメラ移動系(pan / Ken Burns / 複数段ズーム)の構築(自動トラッキングではなく「手書きジオメトリ」であることを明確化)
03メカニズム選択表:FLIP/共有要素、モーションパス、ストローク描画、形状モーフィング、マスク/クリップ境界、stagger、テキスト分割、親子逆変換、ステートマシン、3D深度
044つのランタイムスケルトンとそれぞれの再現性制約(GSAP / CSS keyframes / Anime.js / WAAPI)
05CLI診断出力の読解:flat / keyframes / motionPath / trace / composed with およびゴースト間隔のセマンティクス
063D深度およびCanvas/WebGLの証明手法(スケール変化による疑似3Dの排除)

3外部依存関係

KindDependency / Endpoint
clihyperframes CLI(npx,本 skill 唯一的执行面)
clihyperframes lint / check(合规模拟门禁)
packageGSAP(被写进合成 HTML 的运行时,含 MotionPathPlugin / Flip / DrawSVGPlugin / MorphSVGPlugin)
packageAnime.js / WAAPI / CSS @keyframes / Three.js / WebGL(可选运行时家族)
network官方文档外链(仅阅读参考清单,无代码调用)
networksibling skill 引用(同仓本地路径,非网络)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
自動ロード可能
管理者向け
ソースとバージョンの記録
判定根拠(ファイルパスと抜粋)
  • SKILL.md: 純粋なプロンプト指示とルールテキストのみで構成され、スクリプト実行や外部影響は一切なし
監査ノート: ディレクトリ内の全3ファイルはすべてmarkdown/yaml(SKILL.md、references/keyframe-patterns.md、agents/openai.yaml)であり、スクリプト、ネットワーク呼び出し、環境変数/認証情報の読み取り、ファイル書き込み命令は一切存在しません。トークン走査で見つかった21件のURLはすべて公式リファレンスドキュメントへのリンクです。機能は「確定的なキーフレームルール+CLI検証ループ」のみで構成され、追加のアタックサーフェスは生じません。留意点としては、すべての検証がホストへの `hyperframes` CLIの導入と実行に依存すること(ディスク書き込み/レンダリングはCLI側で発生)、および「サンプルの数値をそのまま流用しない」といった品質上の制約には人手による確認が必要となる点のみです。

5二重目の独立検証

  • [ok] 是否含可执行脚本 / 隐藏代码 — 全量枚举 3 文件,无 .sh/.mjs/.cjs/.py/.js;隐藏文件 0 个;与 skills-manifest.json 的 files=3 交叉一致。
  • [ok] 网络外发与凭证读取 — `fetch(`、`http.request`、`XMLHttpRequest`、`urllib`、`process.env`、`child_process`、`API_KEY/TOKEN/SECRET/.env/Authorization` 全部 0 命中;21 处 URL 全为文档链接(gsap.com、animejs.com、developer.mozilla.org、threejs.org),无端点调用。
  • [ok] 实现原理是否成立(纯指令 vs 有无隐藏执行体) — SKILL.md 的每条硬规则都能在正文找到对应的验收动作(Procedure 5 步 + Done 段 6 项确认),且所有验证都外派给 hyperframes CLI;无隐藏执行体,结论『纯 prompt 编排』成立。
  • [discrepancy] 与同仓其它 skill 的组内一致性(自刷新提示) — hyperframes-keyframes 的 SKILL.md **没有** `npx hyperframes skills update hyperframes-keyframes` 前置刷新段;同仓 embedded-captions / faceless-explainer / general-video / motion-graphics / product-launch-video / remotion-to-hyperframes / talking-head-recut 七个 workflow skill 均在正文首段带该提示('First, keep this skill fresh')。这不是第一遍看错,而是一处真实的组内不一致:本 skill 只能随 hyperframes CLI 的版本一起更新,无独立自刷新入口。
  • [ok] 『外部资源』逐条回查调用点 — hyperframes CLI 的每类命令(keyframes/--shot/--layout strip/--ghost/snapshot --at)在 SKILL.md 的 CLI Proof 段与工具证明表中均有真实出现;GSAP 骨架与 Anime.js 骨架在 references/keyframe-patterns.md 中原文存在,非推测。

6結論

  • 「ポーズ契約」により、アニメーションの検収基準を主観的な美的形容詞ではなく検証可能な基準として体系化
  • 徹底した確定的規律:クロック、ランダム、イベントトリガー、非同期タイムラインを明示的に禁止し、4つのエンジンそれぞれに同期構築と登録パターンを提示
  • 「対応不可」を明言:speed ramp、任意の中間freeze、自動マッチフレームを明確にNot supportedとし代替パスを提示することで、モデルが偽の動きで誤魔化すリスクを低減
  • 検証ループを明確な役割分担のもとCLIへ委譲し、失敗時の証拠収集順序を定め、自己欺瞞的な証明を明示的に拒絶
  • ゼロ副作用・クロスホスト対応:スクリプト・ネットワーク・認証情報を含まない3つのテキストファイルで構成され、Claude CodeのfrontmatterとCodexのinterfaceマニフェストを完備
  • 最適な用途: すでにHyperFramesを導入している動画制作ワークフローに最適:カットへのパンチイン/ズーム/リフレーム/Ken Burns/複数段カメラ移動の追加や、SVGストローク描画、形状モーフィング、マスク出現、個別要素のstagger、リアルな3D深度などの「可視メカニクス」を実装する場合に適しています。また、「書き出したアニメーションが静止している」「最終フレームがずれる」「偽の3Dになっている」といったレンダリングの確定性トラブルを調査する際にも、診断表とCLI検証手順がそのままトラブルシューティングマニュアルとして機能します。
    不向きな用途: 不適な用途:① 編集セマンティクス(ハードカット、トリミング、結合、並べ替え、変速)を伴う要求(これらはhyperframes-coreの管轄であり、本skillはラッパー上の視覚キーフレームのみを提供します)、② 自動顔追従やセマンティックなリフレームを期待するシナリオ(SKILL.mdでは手書きジオメトリとして定義)、③ speed rampや任意の中間フレームでのフリーズ(Not supportedと明記。派生素材の事前作成が必要)、④ hyperframes CLIのない環境(検収手順がすべてCLIに依存)、⑤ ビジュアルスタイル、ブランドデザイン、素材調達、字幕作成(descriptionで明示的にスコープ外と規定)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload hyperframes-keyframes.tar.gz
    sha256: 78ffadd495cffe9c…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit b8328f9573.