コンテンツ制作 · heygen-com/hyperframes

captions-overlay

embedded-captions ワークフロー向けのオーバーレイ原則 — 字幕モデル(drop / rail / embed)と、字幕は映像の上に合成されるオーバーレイ(OVERLAY)であり、避けるためにコンテンツを押し上げるような予約退避帯ではないとするルールを定義。トーキングヘッドやローンチ動画への字幕追加時、フレーズを破棄(drop)するか、逐語レール(rail)に載せるか、希少な埋め込みハイライト(embed)に昇格させるかの判定時、字幕を載せる構図の設計時(keep-out 帯を予約しないこと)、または字幕存在下で真のフレーム中心に構図を合わせる際に読み込む。embedded-captions の rail+embed モデルおよび product-launch-video シーンエージェントの制約 #13(字幕オーバーレイ、keep-out 帯の廃止)を引用。embedded-captions の上に重ねて適用される。

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

1仕組みと動作原理

本原則は2つのルールを1つに統合:① 字幕モデル(発話文の運命は drop / rail / embed の3つのみであり、embed は希少で「勝ち取った」ピークである);② オーバーレイ則(字幕行は映像の「上」に合成される overlay であり、予約エリアではない。そのため字幕のためにコンテンツを押し上げたりデッドゾーンを設けたりしない)。

.claude/skills/captions-overlay/SKILL.md
Two ideas combine here. First, the **caption model** — every spoken phrase is `drop`, `rail`, or `embed`, and embed is the scarce earned peak, not the default. Second, the **overlay law** — a caption line is composited ON TOP of the film as an overlay; it is NOT a reserved zone, so you never shift content up or leave a dead band to "make room" for it.
ここでの役割:実行可能なワークフローではなく判定基準ドキュメント。各フレーズが3状態のどれに属するかの「分類判断」と、keep-out 帯を設けない「構図禁止事項」を提供。実際のレンダリングは上流の embedded-captions および product-launch-video の finalize が実行する。

希少性はハードな制約:rail が大半のテキストを担い、embed は ≤1/文(beat)、隣接や同フレームは不可、間隔は ≥1 beat。短い動画では通常1回、長い解説動画では各セクションに約1回。「すべての単語を embed する」のは典型的な誤り。

.claude/skills/captions-overlay/SKILL.md
**The rail carries most of the text; embed is the scarce, earned peak** — ≤1 per beat, never two adjacent/co-visible, spaced ≥ a beat apart. A short clip → usually one embed; a long explainer → ~one per section. Embedding every word is the common mistake.
ここでの役割:上限数を設けて最も多い「すべてを embed する」ミスを排除。同時に embed の2つのコンテキストを提示:Standard モード(rail=逐語で下部1/3、embed=被写体背後のハイライト)と Cinematic モード(rail 廃止、全 embed-style)。

オーバーレイ則の検証可能な表現は「真の垂直中心で構図をとる」こと:y = H/2(横画面 540、縦画面 960)、コンテンツはキャンバス最下部まで描画可能。0.42×H に底部デッドゾーンを加えるのはバグであり、修正ではない。

.claude/skills/captions-overlay/SKILL.md
- **Center the composition on the TRUE vertical center — y = H / 2** (landscape 540, portrait 960). Do not shift content up to "make room" for captions; a composition centered at 0.42 × H with a dead lower band is the bug, not the fix. - Content may extend to the canvas bottom.
ここでの役割:判定可能な幾何学的数値(0.42×H はアンチパターン)を示し、「密かに字幕へスペースを譲っていないか」を美的好みではなく検証可能な命題にする。

唯一残されたソフトな退避ルール:小さく重要な可読テキスト(URL 行、法的表記、副字幕)を最下部約 80px の中央帯に配置しないこと。大きなグラフィック、カード、背景コンテンツが字幕下に重なることは許容される。

.claude/skills/captions-overlay/SKILL.md
**One soft courtesy rule:** avoid parking _critical small readable text_ (a URL line, a legal line, a sub-caption) exactly in the bottom ~80px center span where the caption line sits — the overlay would fight it. Large imagery / cards / ambient content under the captions is fine; the caption skin is designed to read over content.
ここでの役割:退避対象を「エリア全体」から「重要な小文字テキスト」のみに縮小し、機械的ゲートではなくマナー(courtesy)としてのソフトルールであることを明確化する。

機械的ゲートの廃止:旧 captions.mjs の keepout チェックは廃止済み。字幕とコンテンツの重なりにおける可読性は、finalize のスナップショット目視 QA で判定する。

.claude/skills/captions-overlay/SKILL.md
- There is no machine keep-out gate (the old `captions.mjs keepout` check is retired). Finalize snapshot QA judges caption-over-content legibility visually.
ここでの役割:「自動検証は存在しない」ことを明示し、検証責任を目視スナップショット検査へと明示的に移行。これが本スキルの検証基準であり、keepout チェックがあった前世代との差異である。

上流スキルとの関係は「統合」ではなく「重畳」:本原則は embedded-captions の上に「ON TOP」として適用され、上流側への吸収は意図しない。

.claude/skills/captions-overlay/SKILL.md
> **Overlay doctrine — supplements the upstream `embedded-captions` skill. Applies ON TOP of it; do not expect it folded into the upstream skill.**
ここでの役割:この内部テクニックスキルがマーケットプレイスの skills/ ディレクトリと共存する理由を説明。リポジトリ独自のレイヤー(.claude/skills/)でパッチを当て、上流パッケージは変更しない。

読み込みタイミング(トリガー条件)は description に明記:トーキングヘッドやローンチ動画への字幕追加時、フレーズの drop / rail / embed 判定時、字幕を載せる構図レイアウト時(keep-out 帯を予約しないこと)、および字幕下で真の画面中央に構図を合わせる時。

.claude/skills/captions-overlay/SKILL.md
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.
ここでの役割:トリガーワードがそのまま「いつロードすべきか」のチェックリストとなり、モデル判定、構図配置、中心補正の3種のタスクを網羅する。

2コア機能

01発話文の3状態判定(drop / rail / embed)と各状態の表現形式
02embed の希少性制御(≤1/beat、非隣接、≥1 beat 間隔、最大1つの頂点)
03オーバーレイ構図則(真の中心 y=H/2、keep-out 帯の排除、最下部までのフルブリード描画許容)
04最下部約 80px 中央帯のソフトな退避基準(重要な小文字テキストのみ退避)
05Standard / Cinematic の2モードの振り分け(前者は逐語的可読性、後者は純粋な映画的演出時のみ)
06検証パス:機械的ゲートなし、finalize スナップショット QA による字幕被り可読性の目視判定
07字幕のデフォルト描画形式の定義(単一行、下部中央揃え、キャンバス高の約 5〜8%、オーバーレイ層)

3外部依存関係

KindDependency / Endpoint
package上游 skill 依赖(被本教义叠加):embedded-captions(rail+embed 模型出处)与 product-launch-video 的场景/finalize 代理(约束 #13)
cli已退役的 captions 检查入口(仅在文中被点名为「不再存在」的检查名,本目录不含该脚本)

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

安全運用のための推奨統制措置
Agent 向け
自動ロード可能
管理者向け
ソースとバージョンの記録
判定根拠(ファイルパスと抜粋)
  • SKILL.md: 純粋なプロンプト指示およびルールテキストのみであり、スクリプト実行や外部への副作用なし
監査ノート: 6段階基準に基づき項目ごとに確認(評価対象=スキル自身のディレクトリ):ディレクトリ全体に Markdown ファイルが1点(SKILL.md、6,095 バイト)のみ存在。スクリプトなし、実行を要求される実行可能コードブロックなし、URL/ドメインなし(全文 URL スキャンでゼロ件)、process.env/認証情報/キーチェーンへのアクセスなし、ローカルディスクへの書き込み命令なし。「字幕はオーバーレイ」「真の中心で構図をとる」「embed は希少に」という3つの判定基準を規定し、検証を目視に委ねるのみである。接触面(アタックサーフェス)はゼロであるため、判定は「緑(Green)」とする。

5二重目の独立検証

  • [ok] 是否真的没有任何可执行物(green 档的关键前提) — rglob 全量列举:只有 `.claude/skills/captions-overlay/SKILL.md` 一个文件;无 scripts/、无 assets/、无 references/。全文无 shebang、无 ```bash 块。
  • [ok] 是否含隐藏的网络外发(域名/端点) — `https?://` 在本文件零命中;无 curl/npx/CLI 调用语句。被点名的 `captions.mjs keepout` 是「已退役」的历史检查名,本目录并不含该文件(全量清单已证)。
  • [discrepancy] meta.official_desc 是否与 frontmatter 原文一致 — 本 SKILL.md 的 description 是**未加引号的 plain scalar**,正文里含 `constraint #13 (...)`——YAML 把空格后的 `#` 当注释起点,`yaml.safe_load` 因此只解析到 `…embedded-captions and constraint`,丢掉后半段(解析长度 643 vs 原文该行 782 字符)。为避免展示层出现半句话,本 JSON 按**原文逐字**保留完整 description(含 `#13 (captions overlay, keep-out band retired) … Applies ON TOP of embedded-captions.`),该串在源文件中逐字可命中。此为上游 frontmatter 的书写瑕疵,非本 skill 的行为差异。
  • [ok] 「验收靠人眼」是否被误读为「无验收」 — 原文两条并存:`There is no machine keep-out gate … Finalize snapshot QA judges caption-over-content legibility visually.` 与底部 ~80px 的软避让规则。结论:有验收,但验收方式从机器闸门改为快照目视——第一遍表述准确。
  • [ok] 与上游 embedded-captions 的关系是否有事实依据 — SKILL.md 开篇 blockquote 与 description 双重声明 ON TOP 关系;引用的 rail+embed 与 constraint #13 均标注了出处(embedded-captions / product-launch-video scene agent),未见与上游冲突的改写。

6結論

  • 「字幕にスペースを譲るべきか」という感覚に頼りがちだった問題を、判定可能な幾何学的命題へ変換
  • 希少性ルールを実行可能なレベルで定量化(≤1/beat、非隣接、≥1 beat 間隔)し、「全文を embed 化する」典型的なミスを根絶
  • 検証方式の変更(機械的ゲート廃止 → スナップショット目視)を明示し、「自動チェックがある」という誤解を排除
  • 退避範囲を「重要な小文字テキスト」のソフトルールに絞り込み、画面全体を使った構図の自由度を確保
  • 上流との関係とトリガー条件を率直に記述し、embedded-captions との重複や矛盾を防止
  • 最適な用途: 推奨用途:トーキングヘッドや製品ローンチ動画への字幕追加時に「どれを捨て、どれを rail に載せ、どの単語を embed に値するか」を決定する場面、字幕を載せる構図の設計時(意図しない keep-out 帯の排除、真の画面中心への配置確認)、「字幕のためにコンテンツを押し上げる」という頻出の手戻りを防ぐ判定基準が必要な場面。/embedded-captions や /product-launch-video の上に重ねてロードする運用に適する。
    不向きな用途: 非推奨用途:① 実行可能なワークフローやツールを探している場面(スクリプト、テンプレート、コマンドは一切含まない);② 機械検証可能な字幕セーフゾーンチェックが必要な場面(keepout ゲートは廃止済みのため、スナップショット QA またはカスタム検証を使用すること);③ 構図決定を伴わない単純な字幕焼き込み(上流の embedded-captions を直接使用すべき);④ 多言語対応や字幕フォーマット仕様(SRT/VTT)が必要な場面(本原則の管轄外)。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload captions-overlay.tar.gz
    sha256: 4983e91a90bd624b…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d2f0bc7f34.