Communitygithub.com

Drama2557/4RealDigital-Video-Studio

週次の変更履歴(.md)を、ブランド化された完成版の変更履歴動画(スクエア1080、約45~60秒、AnnieのVO、アニメーション背景、モックUIビジュアライゼーション、控えめなキャプション)に変換します。ユーザーが変更履歴/ダイジェストのマークダウンを提供し、週次の動画を希望した場合、または「changelog video」と発言した場合に使用します。フォント、背景、用語集、スクリプトはすべてこのスキル内に含まれています。

4RealDigital-Video-Studio とは?

このスキルは、週次のHyperFramesダイジェストのようなマークダウン形式の変更履歴を、ブランド化された完成度の高い動画(1080x1080、約45~60秒)に変換します。主な機能として、変更内容を単なるテキスト箇条書きで表示するのではなく、実際のUIモックアップやそれに準じたアニメーションで視覚的に表現します。スキルは自己完結型で、ブランドフォント、背景パターン、用語集(lexicon)、ビルドスクリプトがすべて含まれており、Claude CodeのようなAIエージェント上で動作するように設計されています。ワークフローは、プロジェクトのブートストラップ、変更履歴の解析、視覚化のルーティング、2レイヤースクリプト(読み上げ用と表示用)の作成、HeyGen(Annieボイス)によるVoiceOver生成、キャプションの生成、そして最終的なビルドと検証ゲートで構成されます。キャプションの存在確認や単語タイミングの整合性など、厳格な品質ゲートを通過することが必須であり、品質を保証します。

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

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

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

ドキュメント

変更履歴 → ブランド化動画

入力: 変更履歴マークダウン(テーマと項目を含む、例: 週次のHyperFramesダイジェスト) 出力: projects/active/weekly-changelog-<範囲>/ に保存される、lintが通った、シームゲート・グリーンなHyperFramesプロジェクト。レンダリングは要求された場合のみ行います。

最初に必ずロードすること(交渉不可): motion-doctrine(+カーソルが表示される場合は cut-the-curve、oversized-cursor、seam-craft)と captions-overlay。このスキルは変更履歴固有のパイプラインを提供し、ドクトリンがモーションの法則を提供します。

基本原則: リスト表示ではなく、視覚化せよ

すべてのテーマは、変更内容を体現する実際のUIのアニメーションモックアップ、または忠実な類似物によって説明されなければなりません。テキストの箇条書きは禁止です。スクリプトを書く前に、すべてのテーマ/項目を references/visualization-registry.md を経由してルーティングしてください。レジストリが、ui-recreate / ui-analog / terminal / checklist のどれを使用するかを決定します。テキストチェックリストは最終手段であり、視覚化できない項目(信頼性修正リストなど)のために予約されています。

パイプライン

0 · このスキルのアセットからプロジェクトをブートストラップする — 交渉不可

これは、コンポジションのHTMLを書く前に行ってください。これをスキップすると、常に以前に作った類似プロジェクトのように見える動画が生成され、このスキルのブランドにはなりません。これが、このスキルがブランドから外れる最も一般的な原因です。 スキルのアセット、フォント、スキャフォールドこそがスキルであり、SKILL.mdプロンプトはルーターです。

mkdir -p project/assets/fonts
cp <SKILL_DIR>/assets/fonts/*.woff2 project/assets/fonts/
cp <SKILL_DIR>/assets/bgm.mp3 project/bgm.mp3
ffmpeg -y -stream_loop 15 -i <SKILL_DIR>/assets/bg-pattern.mp4 -t <TOTAL> \
  -vf "scale=1080:1080,fps=30,eq=saturation=0.72,[email protected]:t=fill" \
  -an -c:v libx264 -crf 20 -pix_fmt yuv420p project/assets/bg-pattern-<TOTAL>s.mp4
cp <SKILL_DIR>/examples/master-skeleton.html project/index.html

次に、references/build-spec.md を最初から最後まで読んでください(流し読みではなく)。これにより、すべてのシーンがスキャフォールドから継承するブランドトークン(TT Norms Pro + ABC Solar Display + TT Norms Mono、クリーム色 #f5f6f4、控えめなグリーン #5ef17c、グリーン縁取りのガラスカード、キッカー/セクチップのピル型、top: 990 の32pxキャプションレール)が定義されています。

その後に、以下の手順1〜6を開始してください。手順1〜4(解析、ルーティング、スクリプト、VO)は、スキャフォールドに何を入れるかを計画します。手順5は、すでにコピーされた project/index.html 内のプレースホルダー(<RANGE>、<TOTAL>、<CUT_N>、<DUR_N>、シーン本文)を埋めます。スキャフォールドのクローム、フォント、パレット、レイアウトシェルを書き換えてはいけません。

もし、以前の動画の index.html を cp しようとしたり、独自の @font-face 宣言を書いたり、エンコードされたbg-pattern MP4の代わりにWebGLシェーダー背景をデザインしようとしていることに気付いたら、止まってください。現在の index.html を削除し、master-skeletonスキャフォールドの cp からやり直してください。正しいスキャフォールド上でシーンコンテンツを再構築する方が、間違ったスキャフォールドにブランドを後付けするよりはるかに効率的です。

1 · 解析と編集のカット

  • 週の範囲、見出し統計(リリース数、コミット数)、テーマ、項目を抽出します。
  • 予算: 合計45〜60秒。 タイトル ≤2秒、アウトロ ≤3.5秒、4テーマで各約9〜12秒。
  • テーマごとに1つのヒーロー視覚化と、最大3つの読み上げ項目を維持します。それ以外はすべて、アウトロの「完全なダイジェスト」ポインターとしてのみ存在します。カットが仕事です。30項目ある変更履歴でも、読み上げられるビートは14以下になります。
  • テーマをストーリーで並べます: 目玉機能 → プロダクトサーフェス → パフォーマンス → 信頼性(通常、ダイジェストは既にこの順序です)。

2 · 視覚化のルーティング

各テーマについて、references/visualization-registry.md からサーフェスを選択し、1行を書きます: テーマ → サーフェス → モックが実行する2〜4の順次アクション(各アクションはスクリプトのフレーズに紐づく)。レジストリのサーフェスが適合せず、忠実な類似物も存在しない場合は、チェックリストシーンにします。正直に表現できないもののために偽のUIを発明してはいけません。

3 · 2レイヤースクリプト(読み上げ用 vs 表示用)

references/script-voice.md に従って、スクリプトをトークン行として書きます。会話調のレジスターで、すべての技術用語は references/lexicon.json からの spoken 音声形式を持ち、display は標準スペルを維持します。キャプションは display を表示し、VOは spoken を読みます。用語集にない用語があれば、止まってユーザーに発音を尋ね、用語集に追加してください。script-tokens.json としてプロジェクトに保存します。

4 · VO — Annie(HeyGen、固定)

# spoken-layer text only; words JSON = ground-truth timestamps of the SPOKEN text
# Repo-native path: the changelog-video skill runs from the hyperframes repo root,
# so it uses the tracked hyperframes-media TTS helper directly (no `npx hyperframes
# skills` install step). If you've copied the skill into another repo, swap in
# your own path to the media-use / hyperframes-media heygen-tts.mjs.
node skills/hyperframes-media/scripts/heygen-tts.mjs ./vo-spoken.txt \
  -o voiceover.mp3 --words vo-words.json \
  --voice 330290724a1b470fb63153f34d4c0183   # Annie — lifelike (do not substitute)

heygen CLI ≥0.3.0 が必要で、認証済みであること(heygen auth login --oauth)。次に、話されたタイムスタンプを表示トークンと整列させます:

node <SKILL_DIR>/scripts/align-captions.mjs \
  --tokens script-tokens.json --words vo-words.json --out captions.json

captions.json はキャプションレールの入力です(表示スペル、話されたタイミング)。アライナーは MISMATCH 警告を出力します。ビルド前にすべて解決してください(通常、TTSが複数の単語としてレンダリングする用語集のスペルが原因)。オーディオが時計です: すべてのビート時間は vo-words.json から来ます。VOの再生成はすべてのシームを開きます。

単語タイミングは厳格なゲートです。 手順5に進む前に、vo-words.json が空でなく、start/end を持つ words: [...] 配列があることを確認してください。空(0バイト)または配列がない場合(TTSプロバイダーがオーディオを返したがタイムスタンプペイロードを返さなかった既知の障害モード)、それなしで進めないでください。フォールバック: 生成されたオーディオをローカルのwhisperを使用して表示スクリプトに強制整列します:

uvx --from openai-whisper whisper voiceover.mp3 \
  --model base.en --language en --word_timestamps True \
  --output_format json --output_dir .
# then run align-captions.mjs with --words voiceover.json (same shape)

WhisperはTTSレンダリングを誤認識します("gee-sap" → "gsap"、"heyjen" → "hey Jen" など)。キャプションは script-tokens.json の表示スペルを引き続き使用します。whisperはタイムスタンプのみを提供します。align-captions.mjs が結合を処理します。このフォールバックが、キャプション付きビルドと、無音でキャプションなしのビルドの違いです。

5 · ビルド

references/build-spec.md に正確に従ってください: ブランドトークン + フォント(<SKILL_DIR>/assets/ にバンドル)、アニメーション背景エンコード、シーンスキャフォールド、クローム、キャプションレール、各シーンに1つの控えめなグリーンモーメント。次に、ドクトリンの順序: ledger.json(すべての通常シームは左にカーブをカット)→ シームスタンプ → VO単語の内部ビート → シームゲート検証。

キャプションは必須です。 master-skeletonには、LINES 配列を読み取るキャプションレールIIFEが同梱されています。その配列を空のままにすることは、出荷されたバグであり、スタイルの選択ではありません。手順6に進む前に、captions.json から取り込んでください:

// paste in place of "const LINES = /* … */ []" in the caption-rail IIFE:
const LINES = /* contents of captions.json */ [
  { id: 0, end: 2.74, w: [["This", 0.0], ["week,", 0.30], …] },
  …
];

align-captions.mjs がスキップされたか、LINES が [] の場合、手順6のフレームチェックは失敗します。スキャフォールドから #cap-line を削除してごまかさないでください。

6 · ゲート(提示前にすべてグリーン)

  1. bun run --cwd packages/cli hyperframes check(またはリポジトリローカルの skills/hyperframes-cli/ スキルからインストールされた hyperframes CLI)— エラー0(コントラスト: 薄いテキスト ≥ .66 アルファ)。npx hyperframes@latest に頼らないでください。追跡されたリポジトリローカルCLIが、このスキルが生成するコンポジションコントラクトの真実の情報源です。
  2. seam-gate.mjs verify — 0 失敗。
  3. プレビューサーバーを再起動します(バンドルをキャッシュします)。__player.seek を使用して、未加工のコンポページで3〜4ビートをスポットチェックします。
  4. ユーザーが要求しない限り、レンダリングしないでください。要求されたレンダリング後、MP4からフレームを検証します(ffmpeg -ss <t> … -frames:v 1)。キャプションが存在すること、背景ビデオが黒でないこと、小さな/フリーズしたフレームがないことを確認します。
  5. キャプション存在ゲート — ハードフェイル。 VOの読み上げウィンドウ全体にわたって3〜4フレームをサンプリングし(例: 48秒のVOの場合 t=3、t=15、t=30、t=42)、top: 990 のキャプションレールが各フレームに表示可能なテキストをレンダリングしていることを確認します。読み上げインターバル内のフレームでキャプションが欠落している場合、ビルドはキャプションなしで出荷されます。赤信号として扱い、手順5の LINES 設定を再確認してください。これこそが、7月13〜20日のv4ビルドで問題が発生した箇所です。

プロジェクトレイアウト

projects/active/weekly-changelog-<範囲>/
├── index.html            # 単一ドキュメントマスター(スライドとしてのシーン、スタンプされたシーム)
├── ledger.json           # ベクターレジャー(シームスタンプ入力)
├── script-tokens.json    # 2レイヤースクリプト(VO + キャプションの真実の情報源)
├── vo-spoken.txt         # 生成: 読み上げレイヤー、1行
├── voiceover.mp3 + vo-words.json + captions.json
├── bgm.mp3               # <SKILL_DIR>/assets/bgm.mp3 からのコピー(ハウストラック)。ただし、ユーザーが提供する場合はそちらを使用
└── assets/fonts/ + assets/bg-pattern-<dur>s.mp4

アンチパターン

やってはいけないこと代わりに行うこと
UI変更のための箇条書きスライド変更を体現するサーフェスをモックする
表現不可能な項目のための偽のUI正直なチェックリストシーン
TTSテキスト内のプレーンな「JSON」/「CLI」用語集の読み上げ形式を使用。表示は標準スペルを維持
キャプション内の音声スペルキャプションは常に表示レイヤーをレンダリング
未知の用語の発音を推測すること尋ねて、用語集を拡張する
変更履歴のすべての項目を読み上げることテーマごとに≤3。残りはダイジェストリンクが担う
いたるところにグリーンアクセントシーンごとに1つのグリーンモーメント(#5ef17c)
以前の動画のindex.htmlから始めること手順0 — 常にこのスキルの examples/master-skeleton.html を project/index.html にコピーする
手作り @font-face / WebGLシェーダー / カスタムBGM手順0 — このスキルの assets/ をそのままコピーする。スキルのアセットがブランドである
CloudFront無効化なしで配信することS3置換後、ディストリビューション E2BSLVSZ7FG3U0 に対して正確なパスで aws cloudfront create-invalidation を実行する。CDNはそうしないと古いファイルをキャッシュする
スキャフォールド内の LINES 配列が空のまま出荷すること手順4は設定された captions.json を生成する必要があります。手順5はそれをIIFEに貼り付ける必要があります。手順6のゲート5は、レンダリングされたフレームにキャプションがあることを確認する必要があります。空の LINES = キャプションなしの出荷 = やり直し
vo-words.json がない → キャプションをスキップして出荷する生成されたオーディオに対してwhisper強制整列にフォールバックする。キャプションは必須

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

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

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class="clip"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.

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

関連スキル