Communitygithub.com

continuum-walkthrough

B2Bオファー向けの「ペイン・ファースト」連続撮影スタイルのモーション動画を生成するスキル。1つの実在感のあるオブジェクト(発注書、請求書、リード、フォーム)が見込み客のペイン(手動再入力、時間、年間コスト)から解決策へと旅する1本撮りの動画を、ナレーション、iOS UIサウンド、実際のツールロゴ、ソフトな返信CTA、ブランドロゴのフェードアウトとともに作成します。 デモ/ウォークスルー動画、アウトリーチ動画のリクエスト、「PO Desk動画のように」「ペインを掘り下げてコストを示して」「コンティニュアムにして」「ねえ、これランダムなんだけど…あなたのビジネスで何か気になるものを見つけたんだ」といったコールドアウトリーチ動画のオープニングに最適。純粋なコード(seek(t) HTMLエンジン)、ElevenLabs音声、キューシートSFXミックス、60fpsモーションブラー、9:16 + 16:9に対応。

continuum-walkthrough とは?

Continuum Walkthroughスキルは、B2Bセールス向けの高品質な「ペイン・ファースト」ウォークスルー動画を生成するための包括的なパイプラインです。このスキルは、1つの実在感のあるオブジェクト(例えば発注書や請求書)が、手動再入力のペインから自動化された解決策へと旅する、連続的な1本撮り動画を作成します。 主な特徴: - **完全自動化パイプライン**: インテークQA、ビートシート作成、音声生成(ElevenLabs推奨)、シーンビルド(pure seek(t) HTMLエンジン)、サウンドミックス、ゴースティング監査、レンダリング、納品までをカバーします(約3〜4時間のエージェント時間、レンダリングは約1時間)。 - **プロフェッショナル品質**: 60fpsモーションブラー、iOS UIサウンド、実際のツールロゴ(SVG)、ElevenLabs自然音声、-14 LUFS / -1 dBFSのオーディオマスタリングに対応。 - **ストーリーテンプレート**: フック(iMessage風)→ オブジェクト登場 → ペインの提示 → ペインの金額表示 → 転換 → 解決策 → 証明 → CTA → ロゴフェードアウト、という9ステップの厳格なストーリー構造に従います。 - **コンティニュイティルール**: 1つのオブジェクトがトランジションを通じて永続的に存在し、半透明のゴースト要素は厳格に排除されます(ghost_audit.mjsでチェック)。 - **リアリズムチェックリスト**: 実際のiMessage通知、実在する発注書、実際のツールロゴ、計算式付きの金額表示など、視聴者に信憑性を与える細部にこだわります。 - **音声オプション**: ElevenLabs(無料クレジット約5本/月)、自前録音、声クローン、内蔵コンピュータ音声から選択可能。 - **レンダリング注意点**: nohupやscreenによるバックグラウンドレンダリング、フレーム数の事後確認、特定の要素のオフセット問題への対処など、本番運用のノウハウも提供します。 このスキルは、Claude Code(T3)やCursorなどのAIエージェント環境での使用を想定しており、**AskUserQuestion**ツールによるインテークQA、**write**ツールによるスクリプト生成、**request_secret**によるAPIキー安全管理、そして**nohup**や**screen**によるデタッチドレンダリングを活用します。ユーザーが「デモ動画」「ウォークスルー」「PO Deskのような動画」「ペインから入る動画」「コンティニュアム形式」をリクエストした際に、このスキルが自動的に起動されます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/whoisjaso/continuum-walkthrough/tree/HEAD

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

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

ドキュメント

コンティニュアム・ウォークスルー

ベンチマークは examples/po-desk/walkthrough.html (PO Desk Walkthrough v4.1、10/10) です。Jason: 「アニメーションや効果音、そして連続性の仕組みが大好き」。新しい作品はすべてこれを超えなければなりません。ベンチマークを開き、何か新しいものを書く前にその動きをコピーしてください。

パイプライン(エージェント時間 約3〜4時間、レンダリング時間 約1時間:デタッチド実行)

#ステップツールゲート
1インテークQA: references/intake-qa.md のすべての質問を質問ツールで行う(1回の呼び出しで4つまで、推奨オプションを先に)AskUserQuestion回答が揃うまでビルド禁止
2ビートシート+スクリプト: このオファー用に references/beat-sheet.md を埋める。ビートごとにVOライン1行、会話調script.json を書き込むユーザーがビートシートを承認する
3音声: 各行を2テイクscripts/vo_gen.mjs無料プランのクレジットが足りること(音声セクション参照)
4確認+ワードタイムscripts/vo_verify.sh (whisper.cpp)選択された各テイクが、ラインと単語単位で一致すること
5映像: engine/starter.html をコピーし、シーンごとに構築。すべての T.* キーを、その単語を名付ける単語の onset に配置するengine/engine.js各ビートの静止画が両方のフォーマットで正しく見えること
6サウンド: 可視イベントごとに1つのサウンドを含むキューシートを作成する(references/sound-map.md 参照)scripts/mix.py cues.json−14 LUFS、−1 dBFS、音声ラインが重ならないこと
7ゲートv と h に対して scripts/ghost_audit.mjs を実行PASS。FAIL はレンダリングをブロックする
8レンダリング(デタッチド)nohup zsh scripts/render.sh … & disownフレーム数 = LEN × 60(両方のフォーマット)
9納品4つのMP4:9×16 と 16×9、それぞれ Voice+Music と Voice+SFXコンタクトシート(2秒ごとに1枚の静止画)を目視で確認
10スコアリング: /10 を尋ね、記録し、すべてのノートをレッジャー行とゲートに変換するreferences/lessons.md—

セットアップ: node 20+、ffmpeg、python3(numpy 込み)、npm i playwright-core(または PW_DIR 設定)、Chrome(CHROME=… は任意)、whisper-cli + ggml-small.en-q5_1.bin。

ストーリーの型(並び替え禁止)

  1. フック(0〜5秒): 送信者の実在感のある iMessage 風インターフェース上で、実際の顔写真と名前を使った個人的でカジュアルなオープニング。「ねえ、これランダムなんだけど…あなたのビジネスで何か気になるものを見つけたんだ。」ロゴやピッチはまだなし。
  2. オブジェクト登場(5〜10秒): 実在感のある通知の山。そのうちの1つ(実際のドキュメント)が、レターヘッド、PO番号、テーブル、合計、署名が入った完全なページに変形する。
  3. ペインの提示(10〜18秒): 「マリア」という名前の人物が、それをすべての送り先(ERP(実際のロゴ)、CRM(実際のロゴ)、フォルダ、メール)に手動で再入力する。時計が進み、キーがカチカチ鳴る。各送り先の名前はナレーションで発話される。
  4. ペインの金額表示(18〜26秒): レート × 時間 × 稼働日、カウンターが赤で年間コストまで回る。計算式は小さな文字で画面に残る。金額を発話する。
  5. 転換(26秒): 「それがあなたのために処理されたとき、どう見えるかをお見せします。」同じオブジェクトが中央に戻ってくる。連続性が肝。
  6. 解決策(28〜42秒): スキャナーが読み取り、フィールドがカードに飛び込み、チェックが入り、1つの例外がフラグされて説明され(「通常の10倍」)、1タップで修正、1タップで承認。
  7. 証明(42〜51秒): 実際のロゴとチェックマークとともに4か所すべてにファイルされ、タイムスタンプ付きのレシートが表示される(「1分44秒、メールからファイル化まで」)。
  8. CTA(51〜53秒): ソフトでプレッシャーのない「ご興味があれば、返信してください。」
  9. ロゴ単独表示(53.8〜58秒): ワードマークが何もないステージに単独で表示され、フェードアウトする。画面には他に何もない。

コンティニュイティルール(これが見た目です)

  • 1つの永続的なオブジェクト(ドキュメント)が track() スプリングを使ってレイアウト間を移動する。カットアウェイして再作成されることは決してない。
  • すべてのシーンは前のシーンから生まれる:通知がページになり、ページが横に縮まり、ウィンドウが積み重なり、ページが戻ってくる。
  • 終了した要素は opacity 0 かつ visibility:hidden にする。 完成した要素を「背景」として 20〜50% に放置してはいけない。そのゴーストが v4 のシルエットを台無しにした(「0:18以降、シルエットがずっと表示されていた」)。ghost_audit.mjs は、3秒以上半分表示されたままの要素を失敗させるようになった。
  • スプリングのみ:z 0.88〜1.0 でバウンスなしの step() を使用。出入りにはブラーイン/ブラーアウト、60fps、8サブフレーム、180°シャッター。
  • 画面上:一度に1つのアイデア、大きなタイポグラフィ、ボーダーレスのiOSカード、温かみのあるオフホワイト #F4F2EE、インク #0E0E0E、意味ごとに1つのアクセントカラー(赤=コスト/問題、緑=完了)。
  • v(1080×1920)と h(1920×1080)でレイアウトは別々。先に9:16をデザインする。スマートフォンがメイン画面。

リアリズムチェックリスト

  • iMessage: 実際のロック画面の文法(時刻、日付、スタック通知、「今」「2分前」)、送信者の顔写真+名前、トライトーンサウンド。
  • ドキュメント: レターサイズの比率、実際のフィールド名、計算が合うもっともらしい数字、署名、ページフッター。
  • ロゴ: 実際のSVG(simple-icons、正確なブランド16進カラー)。見込み客が実際に使用しているツール、または実際に統合しているツールのみを表示すること。 ロゴは統合を意味する。
  • データは架空のもので、「サンプルデータ · 架空の会社」とラベル付け。金額の計算式を表示する。

音声:まず尋ねてから、構築する

常にどの音声を使うか尋ねる(インテーク質問7)、以下の選択肢の中から。ElevenLabsを推奨し、無料であることを伝える:毎月10,000の無料クレジット。

選択肢コストサウンド方法
ElevenLabs(推奨)無料:月10,000クレジットで約5本の動画最も人間らしいscripts/vo_gen.mjs、APIキー(elevenlabs.io → Profile → API Keys)を使用
自分で録音した声無料最も個人的各ラインをスマートフォンで録音、vo/raw/<id>-t1.wav として保存、vo_verify.sh を通常通り実行
クローンした自分の声ElevenLabs有料プラン本人のようだが、録音不要ElevenLabsでInstant Voice Clone、そのvoice IDを script.json に設定
内蔵コンピュータ音声無料、アカウント不要ロボット的say -v Samantha -o a01.aiff "…" を実行。タイミングの下書きのみに使用

ElevenLabsの詳細:

  • キー: ELEVENLABS_API_KEY または ELEVENLABS_KEY_FILE。絶対にプリント、チャットに貼り付け、コミットしてはいけない。T3では、request_secret をファイル配信で使用し、完了後にファイルを削除する。
  • デフォルト: 音声 Brian nPczCjzI2devNBz1zQrb、モデル eleven_v4、安定性 0.45。[casual]、[measured]、[serious]、[confident] のようなオーディオタグで読み方が調整される。
  • 無料プラン: 月10,000クレジット(約10,000文字)。60秒のスクリプトは約900文字なので、すべてを2テイクで約1,800文字、月に約5本の動画が作成可能。
  • 無料プランには商用ライセンスは含まれません(ElevenLabsの利用規約)。下書きや内部レビューに使用すること。何かを公開したり、マーケティングとして送信する前に、有料プラン(Starterが最安)で最終テイクを生成すること。
  • ライン間には0.3秒以上のブレスを入れる。ピクチャーイベントは、whisperの単語 onset にスナップし、推測された時間には決してスナップしない。

サウンド

すべての可視イベントには、スマートフォンのスピーカーで聞こえるサウンドが割り当てられる:iMessageのトライトーン、通知のチンク、タイピングのキークリック、各ウィンドウのポップ、年間数字のキャッシュヒット、「ただの再入力」での深いベース、スキャンベッド、チェックのチック、各タップのボタン音、最後のファイル化の成功音、ロゴのシャイン。ゲイン付きの完全なマップは references/sound-map.md にある。音楽は任意のベッドで −23 LUFS、音声にダッキングされる。Voice+SFXバージョンも必ず納品すること。なぜなら、トレンドオーディオがアプリ内で追加されるから。

レンダリングの注意点

  • ホストアプリが再起動するとレンダリングは停止する。常に nohup … < /dev/null & disown で実行し、その後フレーム数をチェックすること。2026-11-09にはこれでもホストの再起動で停止した。screen -dmS <name> zsh -c "…" を推奨。
  • ディスク:フレームはffmpegにストリーミングされ、ディスクに書き込まれることはない。render.sh はミキシング後に無音の中間ファイルを削除する。
  • offsetWidth が正しくないSVGや画像(例:ワードマーク)には、el._w / el._h を自分で設定しないと、レンダリングが中央からずれる。
  • モーションブラー下でシャープに保つ必要があるもの(高速な「フライ」チップ)は、t の代わりに tf(フレーム時間)を使用する。

関連スキル