1仕組みと動作原理
全体が「2 フェーズ・8 ゲート」のステートマシンで構成されています。Phase 1 では 1 回のヒアリングで全要件を漏れなく確認し(Gate 1-4)、Phase 2 ではゲートを順次構築します(Gate 5-8)。各ゲートは次のゲートで消費される具体的な成果物を必ず出力しなければならず、ゲートのスキップは固く禁じられています。
Two phases, eight sequential gates. Every gate produces a concrete artifact the next gate consumes. Don't skip gates.
入口でのトリアージ(振り分け):URL → website-to-hyperframes、9:16 の顔出しトーキングヘッド動画 → 本 skill で Gate 4 まで進めてから short-form-edit に引き継ぎ、フレームワークのルール確認のみ → hyperframes。
**Hand off when:** - The user pastes a URL and wants a video from that site → invoke `/website-to-hyperframes` … - The user asks for framework rules, not a video → invoke `/hyperframes`
ヒアリングフェーズには厳格なゲートが存在します。Gate 1 で 6 項目(用途/ターゲット層/尺/アスペクト比/フレームレート/プラットフォームの制約)を漏れなく収集し、Gate 4 で BRIEF.md を作成してユーザーの明確な合意を得るまで実装を開始できません。
4. **Show the brief. WAIT for explicit approval.** Don't proceed to Gate 5 without a clear "yes, build it."
スタイル確定フェーズでは、質問の前にまず資産を棚卸しし、ユーザーのブランドを勝手に決定しません。ワークスペースとプロジェクトのアセットを先にスキャンし、配色/フォント/ロゴ/参考動画/テンポ/音楽を段階的にヒアリングします。ユーザーが提供を明示的に拒否した場合にのみ、MOTION_PHILOSOPHY のデフォルト値にフォールバックします。
**Before asking the user anything, inventory existing assets.** Check `<workspace-root>/assets/` and any project `assets/` folder. Don't ask for what's already there.
構築フェーズでは複製可能なスケルトンを提供します。`npx hyperframes init`(または類似プロジェクトの hyperframes.json/meta.json を再利用)、単一の信頼できる情報源としての assets/style-profile.md、ビートごとにコンセプト/視覚要素/モーション言語/イージング/退出処理/音声を明記した絵コンテを用意し、20% / 55% / 25% の 3 幕構成を推奨します。
- Act 1 (hook) ≈ 20% of duration - Act 2 (body) ≈ 55% - Act 3 (payoff + outro with 4–6 second hold) ≈ 25%
サブコンポジションのテンプレートは「スコープ付きスタイル([data-composition-id])」「IIFE でラップされた一時停止状態の GSAP タイムライン」「末尾の SLOT アンカー補填 tween」の 3 点セットを厳守し、タイムラインは window.__timelines に登録します。
tl.to({}, { duration: SLOT_DURATION }, 0); // anchor — MOTION_PHILOSOPHY Law 11 … window.__timelines["scene-name"] = tl;
決定性は厳格な制約事項です。Math.random()、Date.now()、レンダリング時の fetch() は禁止され、シード付き PRNG または高調波サインハッシュを使用します。
No `Math.random()`, no `Date.now()`, no render-time `fetch()`. Use seeded PRNGs or harmonic-sin hashes (MOTION_PHILOSOPHY §3.10).
2 段階の必須プレビューゲート+フレーム抽出目視検査:lint および Studio(localhost:3002)のパスとユーザーの明示的な同意を経て初めてドラフトレンダリングを実行します。ドラフトは ffmpeg でフレーム抽出し、Read ツールで実際に画像を確認した上で、ローカルサーバー経由の試写レビューと承認を得てから最終レンダリングを行います。
3. **Call the `Read` tool on every PNG.** The Read tool loads the image into context — don't just list filenames. … Do NOT use Python's `http.server` — it doesn't support HTTP Range requests, so scrubbing breaks.
2コア機能
3外部依存関係
| Kind | Dependency / Endpoint |
|---|---|
| cli | HyperFrames CLI(init / lint / preview / render / transcribe / tts / add,仓库依赖 hyperframes 包) |
| cli | ffmpeg(从草稿成片抽帧做目检) |
| cli | npx serve(本地静态服务器,供用户试播签核;文档明确禁用 Python http.server 因无 Range 支持) |
| network | HyperFrames Studio 预览服务器(本地) |
| network | Google Fonts(**产物期**:style-intake 的默认字体对在生成的 composition 里按需引,浏览器/渲染器加载) |
| cli | 宿主问答工具 AskUserQuestion(访谈阶段逐题提问) |
| package | 工作区外部依赖 MOTION_PHILOSOPHY.md(作者自述为『本 skill 唯一假定存在的外部参考』) |
4推奨統制措置と判定根拠
- scripts/: ローカルスクリプトまたはコマンドの実行: 本 skill 自身に含まれるスクリプトは 0 個(ディレクトリ内は SKILL.md + 6 つのリファレンスファイルのみ、find -type f で確認済み)
- 网络端点: 外部ネットワークアクセスの宣言: 実行時:ローカルループバックのみ(Studio プレビュー http://localhost:3002 および試写用サーバー http://localhost:8080)。なし
- 本地工作目录: ファイルの読み書きと成果物の出力: video-projects/<slug>/(またはユーザー指定ディレクトリ)配下のプロジェクトファイル:BRIEF.md、STORYBOARD.md、index.html、com
5二重目の独立検証
- [ok] 目录文件清单与脚本面 — find 返回 SKILL.md(12.6KB)+ references/{build-checklist,catalog-intent-map,composition-scaffold,interview-questions,storyboard-template,style-intake}.md;无 scripts/、无 .js/.mjs/.py,无隐藏文件。
- [ok] URL/网络面归类 — 命中的 URL 三类:localhost:3002(Studio)、localhost:8080(试播)、fonts.googleapis.com(默认字体对,产物期)。无第三方 API 端点、无上传路径、无云服务名。
- [ok] 凭证面反例搜索 — 0 处 env/API_KEY/TOKEN/SECRET 命中;全文未要求账号、配额或密钥(与 edit-video 形成对照:那里把服务前置与成本纪律写进主流程)。
- [ok] 门禁与非协商条款回源 — Gate 4 的 'WAIT for explicit approval.'、Gate 7 的 'Silence is not approval.'、Gate 8 的 Read-every-PNG、SLOT 锚、class="clip" 禁令、Math.random/Date.now 禁令、'Never put index.html at the workspace root.' 均在源码定位到,无遗漏改写。
- [ok] references 引用完整性 — SKILL.md References 段列的 6 个文件全部存在于 references/ 目录,且每个文件开头自述所属 Gate(Gate 1-3 / Gate 5 / Gate 6 / Gates 7-8),引用链无死链。
- [ok] CLI 能力是否被误记为云服务 — 文档只写 `npx hyperframes tts --help` 与 `npx hyperframes transcribe ...`,未指定服务商或密钥;故 external_deps 只记 CLI 本体,不虚增 API 条目。
6結論
d16534f6ceefd132…