TikTok/YouTube Shorts向けのバイラル動画スクリプト&ストーリーボード生成スキル。 調査済みのバイラルテクニック(3秒フック、モジュラー構造、ループブリッジ、フラッシュテキスト、 スプリットスクリーン等)をスクリプティングとストーリーボード作成に自動組み込み。 「TikTok動画のスクリプト」「バイラル動画を作りたい」「Short動画の台本」等で発動。
Scanned 9/5/2026
Install to Claude Code
npx -y skills add minicoohei/ai-agent-camp --skill viral-short-video --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Viral Short Video?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/minicoohei-viral-short-video-ai-agent-camp)More formats (shields.io, HTML) on the badges page.
---
name: viral-short-video
description: "TikTok/YouTube Shorts向けのバイラル動画スクリプト&ストーリーボード生成スキル。 調査済みのバイラルテクニック(3秒フック、モジュラー構造、ループブリッジ、フラッシュテキスト、 スプリットスクリーン等)をスクリプティングとストーリーボード作成に自動組み込み。 「TikTok動画のスクリプト」「バイラル動画を作りたい」「Short動画の台本」等で発動。"
triggers:
- バイラル動画を作りたい
- TikTok動画のスクリプト
- Short動画の台本
- バズる動画を作りたい
- リール動画の企画
- viral-short-video
- TikTok Shorts
---
# Viral Short Video - バイラルショート動画スクリプト&ストーリーボード
TikTok / YouTube Shorts 向けのバイラル動画制作パイプライン。
調査に基づくバイラルテクニックをスクリプトに自動埋め込みし、
既存の `storyboard-generator` / `video-editor` と連携して動画を生成する。
## パイプライン全体像
```
[トピック/商材/ターゲット]
↓
[generate_viral_script.py] ← このスキルの中核
├─ viral_script.json (バイラル構造化スクリプト)
├─ scenes.json (storyboard-generator互換)
├─ hook_variants.json (フックバリエーション x3)
└─ hook_analysis.json (--analyze-video時: ピークフック分析)
↓
[storyboard-generator] ← 既存スキル
├─ frames/ (絵コンテ画像)
└─ scenes.json (拡張済み)
↓
[video-editor] ← 既存スキル(拡張済み)
├─ キャプション焼き込み
├─ フラッシュテキスト挿入
├─ スプリットスクリーン合成 (背景オーバーレイ方式)
└─ 最終動画.mp4
```
## 同梱アセット
### ゲームプレイ背景素材 (`assets/gameplay/`)
| プリセット名 | ゲーム | 長さ | 備考 |
|-------------|--------|------|------|
| subway_surfers | Subway Surfers | 26分 | 縦型HD, No Copyright |
| minecraft | Minecraft Parkour | 5分 | 縦型2K 60fps, No Copyright |
### フックコンピレーション素材 (`assets/hooks/`)
| プリセット名 | 内容 | 用途 |
|-------------|------|------|
| hook_viral_10 | 10 TikTok Hooks You Can Use To Go Viral | フック実例集: 10パターン |
| hook_trifecta | This HOOK Combo Will Get You Viral on TikTok | フック三位一体戦略+実例 |
| hook_600k_gmv | This Hook Made $600K GMV on TikTok Shop | $600K売上フック分解 |
初回セットアップ: `bash skills/viral-short-video/scripts/download_assets.sh`
## Usage
```bash
# 基本: トピックからバイラルスクリプト生成
python skills/viral-short-video/scripts/generate_viral_script.py \
--topic "仮想通貨ウォレットの安全な使い方" \
--duration 30 \
--target "20-30代の仮想通貨初心者" \
--session "crypto_wallet_tips"
# 商材名を指定してスクリプト生成
python skills/viral-short-video/scripts/generate_viral_script.py \
--topic "このアプリで送金手数料を90%カットする方法" \
--product "My Product" \
--duration 15 \
--tone casual \
--session "product_fees"
# ストーリーボード生成まで一気通貫
python skills/viral-short-video/scripts/generate_viral_script.py \
--topic "AIで動画を作る方法" \
--duration 60 \
--generate-storyboard \
--character "20代の日本人女性、カジュアルな服装" \
--session "ai_video_tutorial"
# dry-run(スクリプトのみ生成、画像生成なし)
python skills/viral-short-video/scripts/generate_viral_script.py \
--topic "3つの投資の間違い" \
--duration 30 \
--dry-run
# ピークフック抽出: 同梱のフックコンピレーション動画を分析
python skills/viral-short-video/scripts/generate_viral_script.py \
--analyze-video hook_viral_10 \
--topic "仮想通貨ウォレット" --duration 30
# ピークフック抽出: カスタム動画を分析
python skills/viral-short-video/scripts/generate_viral_script.py \
--analyze-video path/to/any_viral_video.mp4 \
--topic "アプリ紹介" --duration 15
# ピークフック抽出: dry-run(分析結果の表示のみ)
python skills/viral-short-video/scripts/generate_viral_script.py \
--analyze-video hook_trifecta \
--topic "副業" --dry-run
```
## Parameters
| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| --topic | Yes | - | 動画のトピック/テーマ |
| --product | No | - | 商材/サービス名 |
| --duration | No | 30 | 動画の長さ(秒): 15, 30, 60 |
| --target | No | - | ターゲット層の説明 |
| --tone | No | casual | トーン: casual, professional, energetic, storytelling |
| --hook-style | No | auto | フックスタイル: curiosity, fomo, social_proof, pattern_interrupt, contrarian |
| --split-screen | No | false | スプリットスクリーン用の指示を含める |
| --flash-text | No | true | フラッシュテキスト(リウォッチ誘導)を含める |
| --loop | No | true | ループブリッジ(冒頭回帰)を含める |
| --variants | No | 3 | フックバリエーション数 |
| --generate-storyboard | No | false | scenes.json生成後にstoryboard-generatorを呼び出す |
| --character | No | - | ストーリーボード用キャラクター説明 |
| --session | No | - | セッション名(出力フォルダ名) |
| --dry-run | No | false | スクリプトのみ生成(APIコール最小) |
| --lang | No | ja | スクリプト言語: ja, en |
| --analyze-video | No | - | ピークフック抽出。プリセット名(hook_viral_10, hook_trifecta, hook_600k_gmv)またはファイルパス |
## Output Structure
```
output/viral-scripts/
└── YYYYMMDD_HHMMSS_session/
├── viral_script.json # メインスクリプト(バイラル構造化)
├── scenes.json # storyboard-generator互換形式
├── hook_variants.json # フックバリエーション
├── hook_analysis.json # ピークフック分析結果(--analyze-video時のみ)
└── storyboard/ # --generate-storyboard時のみ
├── frames/
├── storyboard_sheet.png
└── scenes.json
```
## viral_script.json フォーマット
```json
{
"meta": {
"topic": "トピック",
"product": "商材名",
"duration": 30,
"target": "ターゲット層",
"tone": "casual"
},
"hook": {
"text": "正直これ教えたくなかったんだけど...",
"duration": 3,
"trigger_type": "curiosity_gap",
"visual_note": "目を見開いてカメラに向かって話す",
"emotion": "surprise"
},
"body": [
{
"text": "実はこのアプリ使うだけで送金手数料が...",
"duration": 5,
"visual_note": "スマホ画面を見せながら説明",
"motion_type": "i2v"
}
],
"cta": {
"text": "リンクはプロフィールから。今すぐチェックして",
"duration": 3,
"visual_note": "画面下を指差す",
"emotion": "friendly"
},
"loop_bridge": {
"enabled": true,
"end_text": "さっき言った一番ヤバいやつだけど...",
"connects_to": "hook",
"visual_note": "冒頭と同じカメラアングルに戻る"
},
"flash_text": {
"enabled": true,
"text": "最後まで見た?もう一回見て",
"color": "red",
"duration_frames": 3,
"position": "center"
},
"viral_techniques": {
"split_screen": false,
"captions": true,
"lofi_aesthetic": true,
"fast_pace": true,
"speech_speed": 1.2
},
"hook_variants": [
{
"text": "99%の人がこれ知らないんだけど...",
"trigger_type": "curiosity_gap"
},
{
"text": "これ見逃したらマジで損する",
"trigger_type": "fomo"
},
{
"text": "100万人が使ってるのに誰も教えてくれない",
"trigger_type": "social_proof"
}
]
}
```
---
## バイラルテクニック チートシート
### 1. 冒頭3秒フック(最重要)
**データ**: 3秒維持率65%超 → 4-7xインプレッション / エンゲージメント+340%
**7つの心理トリガー** (バイラル動画の84.3%で使用):
| # | トリガー | 日本語フック例 | 英語フック例 |
|---|---------|--------------|-------------|
| 1 | パターンインタラプト | 「ちょっと待って、これ見て」 | "Wait, look at this" |
| 2 | キュリオシティギャップ | 「99%の人が知らない〇〇」 | "Nobody tells you this about..." |
| 3 | FOMO | 「今だけ」「これ見逃したら損」 | "You're missing out on..." |
| 4 | ソーシャルプルーフ | 「100万人が使ってる」 | "1M people already use this" |
| 5 | 感情的覚醒 | 「マジでヤバい」「信じられない」 | "I can't believe this works" |
| 6 | サプライズ | (目を見開く + 沈黙1秒) | (wide eyes + 1s pause) |
| 7 | 個人的関連性 | 「〇〇な人だけ見て」 | "If you're a [target], watch this" |
### 2. モジュラー構造
```text
[Hook: 0-3秒] → [Body: 3-15秒] → [CTA: 15秒+]
```
- 効果: 制作コスト-40%、テスト速度2x
- Hook部分だけ差し替えてA/Bテスト
### 3. ループブリッジ
- 効果: リウォッチ = アルゴリズムブースト+84%
- 70%完視聴率 → アルゴリズム推進
- 92%完視聴率 → 3xリーチ(Sticky Content認定)
- パターン: 動画の最後で「さっき言った〇〇だけど...」→ 冒頭に戻る
### 4. フラッシュテキスト(リウォッチトリガー)
- 最後の2-3フレーム(0.1秒未満)に赤/黒文字を一瞬表示
- 意識的に読めない速度 → 「今なんか見えた?」→ リウォッチ
- テキスト例: 「もう一回見て」「隠しメッセージ」「気づいた?」
- 色: 赤(緊急性・目立つ) or 黒背景に白文字(ミステリアス)
### 5. 背景ゲームプレイ(オーバーレイ方式)
- 全画面背景: Minecraft/Subway Surfers → 上部にメインコンテンツをオーバーレイ
- TikTokスタイル: ゲームプレイが全画面(1080x1920)、メインが上部(1080x960)
- 効果: 平均視聴時間+40%、コメント・シェア2x
- Gen Z(18-24歳)の67%に特に有効
- プリセット素材同梱: `subway_surfers`, `minecraft`
- 注意: ブランドイメージを損なう可能性 → オーガニック投稿向け推奨
### 6. ピークフック抽出
- バズ動画の最もフックの強い瞬間を自動特定
- video-frame-reader + Gemini Flash Vision でスコアリング
- 抽出したフックパターンでスクリプト再構成案を自動生成
- 同梱のフックコンピレーション素材(3本)で即座に分析可能
### 7. 字幕(キャプション)
- 85%がミュート視聴 → 字幕で維持率+31%、エンゲージメント+38%
- TikTokセーフゾーン: Y位置55-65%(上15%・下20%は避ける)
- 日本語: 1行5-8文字、最大2行、太字白+黒縁3px
### 8. ロファイ感(UGC風)
- UGC風 vs プロ品質: CTR 4x、コンバージョン率+29%
- iPhone撮影風のカジュアルな雰囲気
- 背景: 自宅風、カフェ風など自然な環境
### 9. 音声ペース
- 1.1-1.3xの速い音声 → 離脱防止
- 間を詰めて情報密度を上げる
---
## 連携スキル
| スキル | 役割 | 連携方法 |
|-------|------|---------|
| `storyboard-generator` | scenes.json → 絵コンテ画像 | `--generate-storyboard` で自動連携 |
| `video-editor` | 最終動画合成(キャプション/フラッシュ/背景オーバーレイ) | `compose_video.py --flash-text --split-screen subway_surfers` |
| `video-frame-reader` | 動画のキーフレーム抽出 | `--analyze-video` で自動連携 |
| `banner-creator` | サムネイル生成 | 別途実行 |
| `social-content` | 投稿文・ハッシュタグ生成 | 別途実行 |
## Requirements
- `GEMINI_API_KEY`: Gemini Flash(スクリプト生成)用
- Python packages: google-genai, python-dotenv
- `storyboard-generator` の依存(絵コンテ生成時のみ)
- `ffmpeg`(動画合成時のみ)
## Trigger Phrases
- 「TikTok動画のスクリプトを作って」
- 「バイラル動画を作りたい」
- 「Short動画の台本」
- 「TikTok用のスクリプト生成」
- 「バズる動画を作りたい」
- 「リール動画の企画」
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!