Communitygithub.com

Drama2557/4RealDigital-Video-Studio

HyperFrames 合成契約 — 1 つのレンダリング可能なプロジェクトを構築します。合成構造、`data-*` タイミング属性、`class="clip"`、トラック、サブ合成、変数、フレームワーク所有のメディア再生、決定論的レンダリングルール、検証に使用します。Tailwind プロジェクトと STORYBOARD.md / SCRIPT.md 計画フォーマットもカバーします。合成 HTML を作成する前にお読みください。

4RealDigital-Video-Studio とは?

このスキルは HyperFrames ビデオ合成システムの技術契約です。HTML ファイルで DOM を宣言し、`data-*` 属性でタイミングを指定し、フレームワークがメディア再生を所有する方法を定義します。HTML からビデオをレンダリングする際の構成、トラック、クリップ、サブ合成、変数、決定論的レンダリングルール、検証をカバーします。このスキルは、参照ドキュメントへのリンク、合成構築のガイドライン、編集ルール、検証手順を含む完全な SKILL.md を提供します。Claude Code、Cursor、Codex などの AI エージェントが HyperFrames プロジェクトを正しく構築、編集、検証できるように設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Drama2557/4RealDigital-Video-Studio/tree/HEAD/.agents/skills/hyperframes-core

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

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

ドキュメント

HyperFrames Core

HyperFrames は HTML からビデオをレンダリングします。合成(composition)とは、data-* 属性でタイミングを宣言する DOM を持ち、アニメーションランタイムがシーク可能で、メディア再生をフレームワークが所有する HTML ファイルです。

このスキルは技術契約です — HyperFrames プロジェクトを 1 つ構築する方法を示します。以下の本文は構築ガイドです。トピックごとの詳細は references/(次にインデックスを参照)にあり、オンデマンドでお読みください。その他の関心事は、兄弟ドメインスキル(hyperframes-animation、hyperframes-creative、media-use、hyperframes-cli、hyperframes-registry)にあります。機能マップは /hyperframes にあり、各スキルがカバーする内容を示しています。

リファレンス

ファイルこれを読む目的
references/minimal-composition.md最小限のレンダリング可能な合成スケルトンから始める
references/composition-patterns.mdモノリシックかモジュールかを選択する。モジュール型 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>/<audio> を配置し、音量、トリミングを設定する
references/determinism-rules.mdシーク可能なタイムラインを構築する。決定論の禁止事項。アニメーション可能プロパティの許可リスト。レイアウト/テキストフィット
references/full-screen-motion.md共有背景を使用して全画面モーションを作成する
references/storyboard-format.mdSTORYBOARD.md 計画(+ 解析されたマニフェスト)を作成する
references/review-loop.mdライブボードで計画 → スケッチ → 構築のレビューパスを実行する — すべてのストーリーボード計画ワークフローで共有される
references/production-loop.md承認された計画から納品されたビデオへ — ステージの依存関係(オーディオ、フレーム、アセンブリ、トランジション、キャプション、検証、納品)に従い、自由形式のビルドが直接続く
references/brief-contract.mdブリーフの基本ルール — モード導出(協調 / 自律)、共有フィールドレジストリ、質問の不変条件(質問自体は /hyperframes → 意図レイヤーに存在)
references/brief-format.mdBRIEF.md を作成する — ワークフローのセットアップが書き、後続のすべてのステップが読み取る確定された意図文書
references/script-format.mdオプションの SCRIPT.md ロックされたナレーションを作成する
references/subagent-dispatch.mdサブエージェントディスパッチ動詞(並列ファンアウト / バックグラウンド / 待機)をハーネスにマッピングする
references/frame-worker-core.md共有フレームワーカーロール契約 — 各ナラティブワークフローのパケットビルダーがそれをそのワークフローの sub-agents/frame-worker.md デルタの前に追加する
references/tailwind.mdTailwind v4 プロジェクトで作業する(init --tailwind。ランタイム契約は Studio の v3 とは異なる)

アニメーションランタイムの詳細(GSAP API、Lottie、Three.js など)については、hyperframes-animation → 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 に縮小し、コンテンツが左上隅に積み上がります。この問題を自動ゲートだけに頼って検出しないでください。スナップショットを検査してください。スケルトン → references/minimal-composition.md。

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

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

初回パス lint の落とし穴(保証された最初のビルド失敗)

lint が確実にキャッチする 2 つのルールですが、事後的です。最初から正しく記述してください:

  • ルート合成要素には data-start="0" を付ける必要があります(data-composition-id/data-width/data-height と共に)。省略すると、lint が root_composition_missing_data_start で失敗します。
  • CSS の初期 transform と GSAP トゥイーンを同じプロパティに決して組み合わせないでください。CSS 値とトゥイーンの開始が競合し、lint が gsap_css_transform_conflict でそれを拒否します。CSS transform: translateX(-40px) の代わりに、gsap.fromTo(el, { x: -40 }, { x: 0 }) を使用して初期状態をトゥイーン内に設定してください。

不可譲のルール(自動ゲートが見逃す可能性のあるサイレントバグ)

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

  • レンダリング時のクロック / シードなしの Math.random / ネットワーク / 入力状態は禁止。repeat: -1 は禁止(有限カウントを使用)。→ determinism-rules.md
  • ビジュアルプロパティの許可リストのみをアニメーション化。display や生の visibility をトゥイーンしないでください。GSAP autoAlpha とゼロ期間タイムラインバウンダリーセットのみが可視性の例外であり、非クリップ要素またはクリップ内のラッパーに限定されます。フレームワークのみが .clip の可視性を制御します。ページ読み込み時に後続シーンのクリップを gsap.set しないでください。→ determinism-rules.md
  • 本文テキストに <br> は禁止。変換された要素はブロックレベルでサイズ指定されている必要があります。パルスする絶対配置の装飾要素はピーククリアランスが必要です。→ determinism-rules.md
  • <video>/<audio> は任意のネスト深さで動作します(サブコンポジション <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-hidden は、プレビューとレンダリングの両方でその要素を非表示にし、時間ウィンドウを上書きします。これは非破壊的/可逆的であり、Studio のタイムラインの目のアイコンで切り替えられます。
  • サブコンポジションを追加する場合:ホストを配線する前に、内部の data-composition-id を確認してください。

検証

コマンドの詳細については hyperframes-cli を使用してください

  • npx hyperframes check が合格する(lint、ランタイム、レイアウト、モーション、コントラストにわたる 0 件の検出事項)
  • サブコンポジションを含むプロジェクト:npx hyperframes snapshot --at <midpoints> を実行し、各フレームを目視確認する
  • レビュー用に npx hyperframes preview を実行する(ユーザーは Studio のタイムラインで何でも編集できます)
  • ユーザーが承認した場合のみ npx hyperframes render を実行する

Individual skills in this repo

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

Drama2557/4RealDigital-Video-Studio

Overlay doctrine for the embedded-captions workflow — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Quotes the rail+embed model from embedded-captions and constraint #13 (captions overlay, keep-out band retired) from the product-launch-video scene agent. Applies ON TOP of embedded-captions.

Drama2557/4RealDigital-Video-Studio

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Drama2557/4RealDigital-Video-Studio

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

Drama2557/4RealDigital-Video-Studio

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Drama2557/4RealDigital-Video-Studio

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

Drama2557/4RealDigital-Video-Studio

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

Drama2557/4RealDigital-Video-Studio

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.

Drama2557/4RealDigital-Video-Studio

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

Drama2557/4RealDigital-Video-Studio

Install, discover, and wire registry blocks and components into HyperFrames compositions. 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).

Drama2557/4RealDigital-Video-Studio

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

Drama2557/4RealDigital-Video-Studio

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

Drama2557/4RealDigital-Video-Studio

A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

Drama2557/4RealDigital-Video-Studio

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

Drama2557/4RealDigital-Video-Studio

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Agent skill / project related to launch or product demo video: Drama2557/4RealDigital-Video-Studio

関連スキル