Communitygithub.com

マーケティングデモレコーダー

製品デモやウォークスルー動画を、簡易版(ply + ffmpeg)と高品質版(Remotion)の2つのモードで作成します。ランディングページ、ソーシャルメディア、ヘルプドキュメント向けの動画アセットを生成します。

マーケティングデモレコーダー とは?

このスキルは、製品デモ動画やウォークスルー動画を効率的に作成するための総合ツールです。ユーザーが製品デモ、デモ動画、機能紹介、画面録画、GIFデモなどを必要とする際に自動的に起動します。 主な特徴として、2つの制作モードを提供します。まず「クイックモード」では、plyツールでスクリーンショットを撮影し、ffmpegで結合することで、迅速にラフなデモ動画を作成できます。一方、「ポリッシュモード」では、Remotionを使用して、ブランドのカラーやフォント、トランジション効果、テキストオーバーレイなどを含む高品質なマーケティング動画を生成します。 このスキルは、Claude Code や類似のAIエージェント環境で動作し、ブランドガイドライン(`brand/creative-kit.md` など)を自動読み込みして、一貫性のあるブランド表現を実現します。また、ショットリストの計画、視点設定、エラー回復、出力フォーマット(MP4、GIF)まで、デモ動画制作の全工程をカバーします。 重要なのは、単なる画面録画ではなく、ストーリーテリングの原則に基づいて構成することです。成果から始める、一機能に集中する、マジックモーメントを強調する、テキストオーバーレイで文脈を追加する、適切なペーシングを保つ、といったガイドラインに従い、視聴者のエンゲージメントを最大化します。

対応~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/MoizIbnYousaf/marketing-cli/tree/HEAD/skills/marketing-demo

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

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

ドキュメント

/marketing-demo — 製品デモレコーダー

マーケティング向けの製品デモを録画します。2つの制作パスがあります。クイック(ply + ffmpeg)はラフなデモ用、ポリッシュ(Remotion)はブランド化されたマーケティング動画用です。

読み取り対象

  • brand/creative-kit.md — ブランドオーバーレイ用の色、フォント、ロゴパス
  • brand/voice-profile.md — テキストオーバーレイのトーンガイダンス
  • brand/stack.md — 利用可能なツール(ply、ffmpeg、remotion)

起動時

  1. brand/creative-kit.md を読み取り、色、フォント、ロゴパスを取得。存在しない場合は、ブランドカラーとロゴを尋ねる。
  2. brand/voice-profile.md を読み取り、テキストオーバーレイのトーンガイダンスを取得。存在しない場合は、明確で中立的なトーンを使用する。
  3. brand/stack.md を読み取り、利用可能なツールを確認。存在しない場合は、ツールを直接検出する。
  4. ツールの利用可能性を確認:
    command -v ply && echo "ply: ready" || echo "ply: missing"
    command -v ffmpeg && echo "ffmpeg: ready" || echo "ffmpeg: missing"
    command -v npx && echo "remotion: available" || echo "remotion: unavailable"
    
  5. ply または ffmpeg がない場合は警告し、インストールを提案する。

ショット時間ルール

デモタイプショットあたりの時間備考
クイック概要0.5〜1秒高速カット、興奮を喚起
機能デモ2〜3秒読んで理解する時間
ウォークスルー4〜5秒教育的なペース
ソーシャルクリップ1〜2秒注目を集める、高速

デモのストーリーテリング原則

デモが失敗するのは、製品を機械的に見せるだけで、ストーリーを伝えていないからです。視聴者が見続ける理由が必要です。これらの原則は、ランディングページやソーシャルで実際にエンゲージメントを得ているものから来ています。

  1. セットアップではなく、結果から始める。 最初の2秒で視聴者が残りを見るかどうかが決まります。「後」の状態(データのあるダッシュボード、完成したデザイン、結果)を見せましょう。セットアップ(ログイン、読み込み、ナビゲーション)は注目を集めません。
  2. 1機能 = 1デモ。 30秒に5つの機能を詰め込もうとすると、すべてが忘れられます。1つの機能に絞ったデモは、急ぎ足のツアーよりも価値があります。
  3. マジックモーメントを見せる。 すべての製品には、ユーザーが「すごい」と思うインタラクションがあります。その瞬間を見つけて、デモの中心に据えましょう。それが人々が「試してみる」とクリックする理由です。
  4. テキストオーバーレイで文脈を追加する。 ソーシャル動画はミュートで自動再生されます。テキストの呼び出しがないと、視聴者はUIが変化しているのを見ても、何が起こっているのか、なぜ重要なのかがわかりません。すべてのショットには、その価値を説明する3〜6語のオーバーレイが必要です。
  5. ペーシング:コンセプトあたり2〜3秒。 これは速く感じますが、視聴者の注意力は厳しいものです。ショットが新しい情報で画面時間を獲得できなければ、カットしましょう。

ステップ1:デモタイプの決定

タイプ時間解像度フォーマットユースケース
ヒーローデモ15〜30秒1280x800MP4ランディングページのファーストビュー
機能ハイライト5〜15秒1280×800GIF/MP4機能セクション、ドキュメント
完全ウォークスルー60〜180秒1280x800MP4YouTube、営業資料
ソーシャルクリップ5〜15秒1080×1080MP4Instagram、X
メールGIF3〜8秒600×400GIFメールキャンペーン
ハウツー30〜90秒1280×800MP4ヘルプドキュメント、オンボーディング

ユーザーにタイプを尋ねるか、文脈から推測する。

ステップ2:ショットリストの計画

録画前に各ショットを計画する:

## ショットリスト

1. [アクション:ランディングページに移動]
   - URL: https://example.com
   - 待機: 読み込みに1秒
   - ハイライト: ヒーローセクション

2. [アクション:「はじめる」ボタンをクリック]
   - 待機: トランジションアニメーション
   - ハイライト: サインアップフォーム

3. [アクション:デモデータを入力]
   - タイプ: [email protected]
   - ハイライト: 成功状態

各ショット = 1回の ply スクリーンショットまたは操作シーケンス。

ステップ3:制作モードの選択

モードA:クイックデモ(ply + ffmpeg)

スクリーンショットを動画に合成した、高速でラフなデモ。

スクリーンショットの撮影:

# 各ショットに移動してスクリーンショット
ply navigate "https://example.com"
ply screenshot --output marketing/demos/shot-01.png
ply click "はじめる"
ply screenshot --output marketing/demos/shot-02.png

ffmpegで合成:

# スクリーンショットからMP4(フレームあたり2秒)
ffmpeg -framerate 0.5 -i marketing/demos/shot-%02d.png \
  -c:v libx264 -pix_fmt yuv420p \
  -vf "scale=1280:800:force_original_aspect_ratio=decrease,pad=1280:800:(ow-iw)/2:(oh-ih)/2" \
  marketing/demos/demo.mp4

# プレビューGIF(低品質、小ファイル)
ffmpeg -i marketing/demos/demo.mp4 \
  -vf "fps=10,scale=640:-1:flags=lanczos" \
  -c:v gif marketing/demos/demo-preview.gif

# メール用GIF(幅600px、最適化)
ffmpeg -i marketing/demos/demo.mp4 \
  -vf "fps=8,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
  marketing/demos/demo-email.gif

# ソーシャル用正方形クロップ(1080x1080)
ffmpeg -i marketing/demos/demo.mp4 \
  -vf "crop=min(iw\,ih):min(iw\,ih),scale=1080:1080" \
  marketing/demos/demo-square.mp4

モードB:ポリッシュデモ(Remotion)

トランジション、テキストオーバーレイ、ブランドインテロを備えたマーケティング品質の出力用。

Remotionコンポジションの生成:

# 必要に応じて初期化
npx remotion init marketing/demos/remotion-demo

# 最終動画をレンダリング
npx remotion render marketing/demos/remotion-demo/src/index.tsx \
  --output marketing/demos/demo-polished.mp4

構成構造:

src/
├── index.tsx          # ルートコンポジション
├── Intro.tsx          # ブランドインテロ(ロゴ、タグライン)
├── DemoScene.tsx      # テキストオーバーレイ付きスクリーンショット
├── Transition.tsx     # シーン間のフェード/スライド
└── Outro.tsx          # CTA + URL

主要なRemotionパターン(完全なコンポーネントコードは references/remotion-examples.md を参照):

  • スクリーンショットには <Img> を、レイアウトには <AbsoluteFill> を使用
  • アニメーションには useCurrentFrame() + interpolate() を使用
  • brand/creative-kit.md からブランドカラーを取得
  • スムーズな再生には30fps、1280x720または1920x1080
  • 機能を呼び出すテキストオーバーレイを <Sequence> で追加

インテロシーン(2〜3秒): ロゴを中央に、タグラインがフェードイン。背景グラデーションはブランドカラー。短く保つ — 製品が主役です。

デモシーン(ショットごと): スクリーンショットがフレームの80%を占める。テキストオーバーレイを上部または下部に、1行の機能呼び出しを配置。interpolate() を使用して微妙なズームイン(シーン期間中に1.0→1.05)を適用し、動きを加える。

シーン間のトランジション: フェード+軽いスライド(200ms)。派手なワイプは決して使わない — 製品の邪魔になる。

アウトロシーン(3〜4秒): CTAテキスト(「[url]で無料トライアル」)、ロゴ、オプションのソーシャルプルーフの一文。これが唯一の販売スライド — 他のすべてのスライドは表示に集中する。

エラー回復

plyの失敗(ページが読み込めない、要素が見つからない、タイムアウト):ショットN+1にスキップし、ショットリストに失敗を記録。すべてのショットが完了したら、スキップされたショットを確認し、1回再試行。それでも失敗する場合は、手動スクリーンショットをフォールバックとして使用。

ffmpegの失敗(コーデックが見つからない、フォーマットエラー):ffmpeg -codecs で利用可能なコーデックを確認。libx264がない場合は、-c:v h264 を試すか、brew install ffmpeg でインストール。GIFパレットの問題が発生した場合は、フィルターチェーンを簡略化 — split/palettegen/paletteuse を削除し、基本の -vf "fps=10,scale=640:-1" を使用。

Remotionの失敗(レンダリングクラッシュ、コンポジションエラー):ノードバージョンを確認(node -v、18以上が必要)。npx remotion render が失敗した場合は、npx remotion render --gl=angle または --gl=swangle をGPU問題に対して試す。コンポジションエラーの場合は、すべての <Img> のsrcパスが正しく、画像が存在することを確認。

ステップ4:変換と出力

すべての出力は marketing/demos/ に保存。タイプごとに命名:

出力ファイル名備考
MP4(デスクトップ)demo-hero.mp4H.264、1280x800
MP4(ソーシャル)demo-social-1080.mp4正方形、1080x1080
GIF(プレビュー)demo-preview.gif幅640px、5MB未満
GIF(メール)demo-email.gif幅600px、2MB未満
MP4(ポリッシュ)demo-polished.mp4Remotion出力

ステップ5:完了サマリー

## 作成されたデモアセット

| アセット | サイズ | フォーマット | 推奨用途 |
|-------|------|--------|--------------|
| demo-hero.mp4 | 1.2MB | MP4 1280x800 | ランディングページのヒーロー |
| demo-preview.gif | 3.4MB | GIF 640px | README、ドキュメント |
| demo-email.gif | 1.1MB | GIF 600px | メールキャンペーン |
| demo-social-1080.mp4 | 800KB | MP4 1080x1080 | Instagram、X |

すべてのアセットは `marketing/demos/` に保存されました。

ビューポート設定

プラットフォーム幅高さスケール
デスクトップ12808001x
デスクトップHD192010801x
モバイル3908442x
Instagram108010801x
X12006751x
メール6004001x

アンチパターン

ミスなぜ失敗するか
ログイン/サインアップフローの録画誰も認証画面には興味がありません。ログイン後に開始する。
ローディングスピナーの表示編集で削除するか、読み込み完了状態にスキップする。スピナーは勢いを殺す。
ミュート自動再生にテキストオーバーレイがないソーシャル動画はミュートで自動再生される。テキストがないと、視聴者は何を見ているのかわからない。
チャプター区切りなしで60秒を超えるデモ15秒後に注意力が低下する。長い場合は、明確なセクションタイトルを追加する。
一貫性のないビューポートサイズでの録画サイズが変わるショットは素人っぽく見える。録画前にビューポートを固定する。
すべての機能を表示する最大3〜5機能に絞る。すべてを見せようとするデモは何も売れない。
マウスカーソルが目的もなく動く各クリックを計画する。カーソルは意図を持って動くべき — ターゲットへの直線。

関連スキル

  • /creative — 広告ビジュアル、商品写真(静的アセット、デモではない)
  • /content-atomizer — デモをプラットフォーム固有の投稿に変換
  • /page-cro — デモで紹介するページの監査

関連スキル