Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add kimny1143/claude-code-template --skill "remotion"
Install specific skill from multi-skill repository
# Description
|
# SKILL.md
name: remotion
description: |
MUEDnote動画制作スキル。プロモーション動画、Hooキャラクターアニメーション、
LP用動画、アプリ内チュートリアル動画の制作に使用。Remotionベース。
トリガー: "プロモ動画", "Hooアニメーション", "MUEDnote動画",
"動画を作って", "アニメーションを作成"
MUEDnote Video Skill (Remotion)
Remotionを使用したMUEDnote動画制作スキル。
注意事項
このスキルは新規Remotionプロジェクト作成時のテンプレート。
mued_v2にはRemotionは未インストール。動画制作時は別ディレクトリで作業するか、
mued_v2にRemotionをセットアップすること。
Remotionセットアップ(必要時)
# 別ディレクトリで新規作成
npx create-video@latest muednote-videos
# または mued_v2 に追加(推奨しない - 依存関係が複雑になる)
npm install remotion @remotion/cli @remotion/player
ブランドガイドライン
カラーパレット
// src/styles/theme.ts
export const colors = {
primary: '#2D3748', // ダークグレー(メインUI)
accent: '#6366F1', // インディゴ(CTAボタン等)
background: '#1A202C', // ダークBG
backgroundLight: '#2D3748',
text: '#E2E8F0', // ライトグレー(本文)
textMuted: '#A0AEC0', // ミュートテキスト
hoo: '#FFFFFF', // Hooは白ラインアート
success: '#48BB78', // 成功
error: '#F56565', // エラー
};
タイポグラフィ
- 見出し:
Noto Sans JP Bold/font-weight: 700 - 本文:
Noto Sans JP Regular/font-weight: 400 - コード/数字:
JetBrains Mono
動画設定デフォルト
- 解像度: 1920×1080 (16:9)
- FPS: 30
- コーデック: h264
Hooキャラクター仕様
デザインコンセプト
フクロウ + オープンリールテープレコーダー のハイブリッド
- 目 = テープリール(2つの円)
- リール間にテープが張っている
- 音楽記録アプリの象徴的デザイン
基本情報
- 名前: Hoo(フー)
- キャッチフレーズ: "ほほう (Ho Hoo)"
- 役割: MUEDnoteのAIアシスタント、マーケティングマスコット
- スタイル: 白いラインアート(モノトーン)
- ベースカラー:
#FFFFFF(白ストローク、塗りなし) - 参照:
/public/logo.png
アニメーション可能パーツ
| パーツ | 説明 | アニメーション |
|---|---|---|
| left-reel | 左目(テープリール) | 回転 |
| right-reel | 右目(テープリール) | 回転(逆方向) |
| tape | リール間のテープ | 流れる動き |
| body | 本体輪郭 | 揺れ、傾き |
| ears | 耳(羽角) | 軽い揺れ |
表情・状態
| 状態 | 用途 | アニメーション |
|---|---|---|
| idle | 待機 | リールゆっくり回転 + 軽い呼吸 |
| recording | 録音中 | リール高速回転 + テープ流れ |
| curious | 興味・説明 | 首を傾ける + リール回転 |
| happy | 喜び・完了 | リール高速 + 上下バウンス |
アニメーションコード
// リール回転(常時)
const reelRotation = (frame / fps) * 30; // 1秒で30度
// 首傾げ(curious時)
const tilt = spring({
frame: frame - startFrame,
fps,
config: { damping: 15, stiffness: 80 },
}) * 15;
// リール高速回転(recording/happy時)
const fastRotation = (frame / fps) * 180;
// テープ流れ(strokeDashoffsetで表現)
const tapeOffset = (frame / fps) * 50;
詳細: hoo-animation.md 参照
動画テンプレート
1. プロモーション動画(30秒)
構成:
├── Hook (0-5秒)
│ └── 問題提起テキスト + Hooが右下から登場
├── Problem (5-12秒)
│ └── 課題の可視化 + Hoo心配顔
├── Solution (12-25秒)
│ └── MUEDnote機能デモ + Hooが説明
└── CTA (25-30秒)
└── ダウンロード促し + Hoo喜び
指示例:
MUEDnoteの30秒プロモ動画を作成。
Hook: "音楽制作、記録してる?"
Problem: アイデアが消えていく様子
Solution: MUEDnoteの3つの機能をハイライト
CTA: App Storeへ誘導
Hooを各シーンで使用。
2. 機能紹介動画(15秒)
構成:
├── タイトル (0-3秒): 機能名 + アイコン
├── デモ (3-12秒): 操作画面のアニメーション
└── 締め (12-15秒): Hoo「ほほう」+ ロゴ
3. チュートリアル動画(60秒)
構成:
├── 導入 (0-5秒): Hoo挨拶「こんにちは!」
├── ステップ1 (5-20秒): 最初の操作説明
├── ステップ2 (20-35秒): 次の操作説明
├── ステップ3 (35-50秒): 最後の操作説明
└── まとめ (50-60秒): Hoo「ほほう、簡単でしょう?」
推奨プロジェクト構造
muednote-videos/ # 別ディレクトリ推奨
├── src/
│ ├── Root.tsx
│ ├── compositions/
│ │ ├── PromoVideo.tsx
│ │ ├── FeatureDemo.tsx
│ │ └── Tutorial.tsx
│ ├── components/
│ │ ├── Hoo/
│ │ │ ├── HooCharacter.tsx
│ │ │ ├── HooExpressions.tsx
│ │ │ └── animations.ts
│ │ ├── Text/
│ │ │ ├── TitleText.tsx
│ │ │ ├── TypewriterText.tsx
│ │ │ └── HighlightText.tsx
│ │ ├── Transitions/
│ │ │ ├── FadeSlide.tsx
│ │ │ ├── ScaleIn.tsx
│ │ │ └── WipeTransition.tsx
│ │ └── UI/
│ │ ├── PhoneMockup.tsx
│ │ ├── AppStoreBadge.tsx
│ │ └── Logo.tsx
│ ├── styles/
│ │ └── theme.ts
│ └── utils/
│ └── animations.ts
├── public/
│ └── assets/ # ロゴ、スクリーンショット等
└── out/ # レンダリング出力
よく使うアニメーションパターン
フェードイン + スライドアップ
const FadeSlideIn: React.FC<{children: React.ReactNode; delay?: number}> = ({
children,
delay = 0,
}) => {
const frame = useCurrentFrame();
const adjustedFrame = frame - delay;
const opacity = interpolate(adjustedFrame, [0, 20], [0, 1], {
extrapolateLeft: 'clamp',
extrapolateRight: 'clamp',
});
const translateY = interpolate(adjustedFrame, [0, 20], [30, 0], {
extrapolateLeft: 'clamp',
extrapolateRight: 'clamp',
});
return (
<div style={{ opacity, transform: `translateY(${translateY}px)` }}>
{children}
</div>
);
};
タイプライター効果
const TypewriterText: React.FC<{text: string; startFrame?: number}> = ({
text,
startFrame = 0,
}) => {
const frame = useCurrentFrame();
const adjustedFrame = frame - startFrame;
const charsToShow = Math.floor(
interpolate(adjustedFrame, [0, text.length * 3], [0, text.length], {
extrapolateRight: 'clamp',
})
);
return <span>{text.slice(0, charsToShow)}</span>;
};
スケールバウンス(登場演出)
const scaleValue = spring({
frame: frame - delay,
fps,
config: {
damping: 10,
stiffness: 100,
mass: 0.5,
},
});
レンダリング
標準(YouTube/LP用)
npx remotion render src/index.ts CompositionName out/video.mp4
高品質
npx remotion render src/index.ts CompositionName out/video-hq.mp4 \
--codec=h264 \
--quality=100
SNS向け縦型
# Instagram Reels / TikTok
npx remotion render src/index.ts VerticalComp out/vertical.mp4 \
--height=1920 --width=1080
GIF(短尺・ループ用)
npx remotion render src/index.ts ShortLoop out/loop.gif \
--codec=gif
関連ファイル
hoo-animation.md- Hooアニメーション詳細仕様remotion-handson-glasswerks.md- Remotionハンズオンメモ
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.