1仕組みと動作原理
「フォールバック(受け皿)ワークフロー」としての位置付け:一致する専用 workflow がない場合、または BRIEF.md に flow: companion と明記されている場合にのみ使用。新規作成は例外なく先に /hyperframes 意図層を通してルーティングする。
Route fresh creation through hyperframes before using this skill.
作業開始前にステートマシン判定を実施:「具体的な編集 / BRIEF あり / hyperframes.json または STORYBOARD あり / 完全新規」の4行の優先順位に従って最初に一致したものを採用し、それ以降は評価しない。
Apply the first matching row; do not evaluate lower state rows:
横断的能力(メディア、Figma)は自前で実装せず、すべて adapter を介して兄弟スキルへ転送:音声/画像/アイコン/ロゴ/ナレーション/カラーグレーディング/LUT/VFX/字幕はすべて先に /media-use の resolve + setup-providers を参照する。
**Media:** For any audio, image, icon, logo, voice, grade, LUT, treatment/effect, caption, or media-operation need, load `/media-use` and follow `../media-use/references/resolve.md` (resolve, adopt, reuse) and `../media-use/references/setup-providers.md` (providers, auth).
実行形態は BRIEF.md の flow/storyboard の2つのフィールド(automation/companion × yes/no)から派生させ、独自の同義語の創作は固く禁じる。
Do not invent synonyms for these states. An ongoing “just build it” signal is handled by the intent layer and arrives as `flow: automation`, `storyboard: no`.
コンポジション規約は厳格な制約(class="clip" + 単一の paused seek-safe タイムライン + レンダリング時の決定性)であり、keyframes ファミリーと同一の決定性規律を共有する。
Timed elements use `class="clip"`; the root and relevant ancestors are sized; each composition registers one paused, seek-safe timeline on `window.__timelines`; rendering is deterministic. Do not use render-time network fetches, clocks, or unseeded randomness.
唯一付属するスクリプトは packet builder の薄いラッパー:本 workflow のパスと単一の動作差異(デザイン真値の解決順序 frame.md → design.md → DESIGN.md)のみを固定し、残りのロジックはすべて hyperframes-core の共有実装を再利用する。
// Thin wrapper over the shared packet builder in hyperframes-core — this file pins // this workflow's paths plus its one behavioral difference: design truth resolves // frame.md → design.md → DESIGN.md (general-video § 6 order). Everything else has // one owner: ../../hyperframes-core/scripts/lib/frame-packets-core.mjs
サブエージェントのディスパッチには経済的閾値と定量的根拠が存在:短い動画はインライン処理の方が高速であり、大規模な場合のみファンアウトし、かつ全ワーカーを単一ウェーブでディスパッチする。
**Dispatch pays for itself only at scale.** Authoring packets and warming fresh worker contexts costs real minutes and tokens: a film of up to ~6 short scenes builds FASTER inline, in this context, one scene after another (measured: 5 short scenes ≈ 9 min inline vs ≈ 21 min packetized).
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | hyperframes CLI(init / check / lint / snapshot / preview / render / skills update) |
| cli | hyperframes skills update(自刷新,需网络拉取最新 skill 集) |
| cli | media-use 的 prefs.mjs / recipe.mjs(偏好记录与配方应用,本地写盘) |
| package | hyperframes-core 共享库(frame-packets-core.mjs,本 skill 脚本的唯一实现来源) |
| package | 兄弟 skill 依赖(/hyperframes 路由、/hyperframes-core、/hyperframes-creative、/hyperframes-animation、/hyperframes-keyframes、/media-use、/figma) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: node scripts/frame-packets.mjs --project … --storyboard …(ローカル Node スクリプト。hype 経由
- 网络端点: 外部ネットワークアクセスの宣言: npx hyperframes skills update general-video(コマンドのセマンティクスとしてリモートからスキルセットを取得。本スキル自体のスクリプトは
- 本地工作目录: ファイル読み書きと成果物出力: .hyperframes/frame-packets/*(各シーンの packet)および _role.md(hyperframes-core の fra 経由
5二重目の独立検証
- [ok] 唯一脚本是否真的『薄』(有无隐藏功能/网络) — frame-packets.mjs 全文 37 行,仅 import existsSync/path/url 与 core;导出两个函数并透传 CONFIG;无 fs 写操作、无 fetch、无 env 读取。写盘与模板拼装在 core 中,符合注释自述。
- [ok] 网络 / 凭证 / 注入面 — skill 内 0 处 URL、0 处 fetch、0 处 process.env、0 处凭证关键词;grep 'heygen' 命中的两行是 Figma 段把 figma.com 当输入 URL 的说明与派发成本段,不是 API 调用。第二遍未发现漏掉的网络或凭证路径。
- [ok] 『外部资源』条目逐条回查调用点 — npx hyperframes init/lint/check/snapshot/preview/render/skills update 均在 SKILL.md 正文出现;prefs.mjs/recipe.mjs 路径在 §2 明确定义 <MEDIA_DIR> 为已安装的 /media-use skill 目录;frame-packets-core.mjs import 在脚本原文可验。
- [ok] frame-worker 输出契约与编排者所有权是否自相矛盾 — frame-worker.md 要求 worker 写两个文件(html + motion.json)并禁止写 <audio>、禁止碰邻居场景文件;SKILL.md §5 第 5 步要求编排者收集 motion.json 并在装配时把时长/进出场向量带入缝合。两侧互补、无冲突。
- [ok] 组内一致性(packet 构建路径与自刷新提示) — 与 product-launch-video / faceless-explainer 对比:三者都调 `node <SKILL_DIR>/scripts/frame-packets.mjs`,但 general-video 的 worker 拿到的是『2–3 场景』而另两者是『一帧一 worker』——这是有意的差异(本 skill 面向长片),已在 traits 注明而非记为出入。
6結論
4d140e0c0bd3b0ae…