Communitygithub.com

thatrebeccarae/claude-marketing

Remotion 動画制作のベストプラクティス — スプリングアニメーション、補間パターン、SVG描画エフェクト、シーントランジション、チャートアニメーション、オーディオ統合、レンダリング。プログラムによる動画制作、アニメーションコンテンツの作成、コードを使用したマーケティング動画の制作に最適です。

claude-marketing とは?

このスキルは、Remotion を使用したプログラム動画制作におけるベストプラクティスを提供します。スプリングアニメーションのプリセット(弾む、滑らか、きびきび、段階的)、補間パターン(カメラズーム、パララックス、スクロールシミュレーション)、SVG描画アニメーション(パストレース、ストローク表示)、TransitionSeries を使ったシーントランジション、AbsoluteFill を使ったレイヤー合成、チャートアニメーション(棒グラフの成長、折れ線グラフの描画、円グラフの表示、カウントアップ数字)、オーディオの統合と同期、レンダリング設定をカバーしています。パフォーマンスルールとして、useEffect ではなく useCurrentFrame と interpolate を使用すること、コンポーネントのメモ化、アセットのプリロード、開発時のコンポジション30秒以下、およびターゲット解像度でのテストを推奨しています。反パターンとして、CSS transition や animation、setTimeout、絶対ピクセル配置、フレームごとに再生成されるインラインスタイルを避けるべきことが強調されています。このスキールは Claude Code などの AI エージェントで利用でき、Remotion 動画の効率的で高品質な制作を支援します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thatrebeccarae/claude-marketing/tree/HEAD/skills/remotion-video

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

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

ドキュメント

Remotion 動画制作

Remotion でプログラム動画を制作するためのベストプラクティス — アニメーション、トランジション、チャート、レンダリング。

インストール

git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/remotion-video ~/.claude/skills/

コア機能

  • スプリングアニメーションプリセット(弾む、滑らか、きびきび、段階的)
  • 補間パターン(カメラズーム、パララックス、スクロールシミュレーション)
  • SVG描画アニメーション(パストレース、ストローク表示)
  • TransitionSeries によるシーントランジション
  • AbsoluteFill を使ったレイヤー合成
  • チャートアニメーション(棒グラフ成長、折れ線グラフ描画、円グラフ表示、カウントアップ数字)
  • オーディオ統合と同期
  • レンダリング設定

スプリングプリセット

Remotion の spring() を使用した物理ベースのアニメーション:

プリセット設定使用例
弾む (Bouncy)mass: 0.5, damping: 8, stiffness: 120遊び心のある表示、ロゴのバウンド
滑らか (Smooth)mass: 1, damping: 15, stiffness: 80UIトランジション、スライドイン
きびきび (Crisp)mass: 0.8, damping: 20, stiffness: 200素早いインタラクション、トグル
段階的 (Staggered)アイテムごとのフレームオフセット付きの任意のプリセットリスト表示、グリッドアニメーション
import { spring, useCurrentFrame, useVideoConfig } from "remotion";

const frame = useCurrentFrame();
const { fps } = useVideoConfig();

const scale = spring({
  frame,
  fps,
  config: { mass: 0.5, damping: 8, stiffness: 120 },
});

補間パターン

カメラズーム

import { interpolate } from "remotion";

const zoom = interpolate(frame, [0, 30], [1, 1.5], {
  extrapolateRight: "clamp",
});

パララックスレイヤー

const bgX = interpolate(frame, [0, 100], [0, -50]);
const fgX = interpolate(frame, [0, 100], [0, -150]);

スクロールシミュレーション

const scrollY = interpolate(frame, [0, 90], [0, -800], {
  extrapolateRight: "clamp",
});

SVG描画

strokeDashoffset をアニメーション化して SVG パスを表示:

const pathLength = 500;
const draw = interpolate(frame, [0, 60], [pathLength, 0], {
  extrapolateRight: "clamp",
});

<path
  d="..."
  strokeDasharray={pathLength}
  strokeDashoffset={draw}
/>

チャートアニメーションパターン

パターンテクニック
棒グラフ成長高さを0から目標値までアニメーション、各棒を3〜5フレームずつずらす
折れ線グラフ描画strokeDashoffset アニメーションを使用した SVG パス
円グラフ表示conic-gradient のストップ値または SVG 円弧パスをアニメーション
カウントアップ数字0から目標値まで補間、表示には Math.round() を使用

シーントランジション

import { TransitionSeries, linearTiming } from "@remotion/transitions";
import { fade } from "@remotion/transitions/fade";

<TransitionSeries>
  <TransitionSeries.Sequence durationInFrames={90}>
    <SceneOne />
  </TransitionSeries.Sequence>
  <TransitionSeries.Transition
    timing={linearTiming({ durationInFrames: 15 })}
    presentation={fade()}
  />
  <TransitionSeries.Sequence durationInFrames={90}>
    <SceneTwo />
  </TransitionSeries.Sequence>
</TransitionSeries>

パフォーマンスルール

  1. アニメーションに useEffect を使用しない。 useCurrentFrame() + interpolate() を使用する。
  2. 静的コンポーネントをメモ化する。 フレームに依存しないものには React.memo を使用する。
  3. アセットをプリロードする。 ローカルには staticFile()、リモートURLには prefetch() を使用する。
  4. 開発時の高速なレンダリング反復のために、コンポジションは30秒以内に保つ。
  5. 最終レンダリング前にターゲット解像度(1920x1080 または 1080x1080)でテストする。

反パターン

  • CSS の transition や animation を使用しない — Remotion の interpolate() と spring() を使用する
  • setTimeout や setInterval を使用しない — フレームベースのタイミングのみ使用する
  • レスポンシブレイアウトに絶対ピクセル配置を使用しない — AbsoluteFill + flex を使用する
  • フレームごとに再生成されるインライン style オブジェクトを使用しない — 定数または useMemo に抽出する
  • 制御されていないオーディオを使用しない — 常に明示的な volume と startFrom を設定する

完全なコード例とコンポジションテンプレートについては、REFERENCE.md を参照してください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル