さとまたwiki
← 🔬 さとまた48@Vlog2(ガジェマガ模写)

🧱 金型 — プロンプト原文と測定テンプレ

この60本と戦略を再生産するための原本。①タイトル生成 ②台本 ③測定テンプレ ④実測データの取得コード。コピーしてそのまま使える。

使い方:①でタイトルを量産し、採用したものを②に流して台本にする。撮影前に③で測定条件を固定する。④は競合実測をやり直すときに使う(他chにもそのまま流用できる)。
v1(さとまた48@Vlog)の金型との違いは、全ての出力に「測った数値」を強制する制約が入っていること

① タイトル生成プロンプト(60本を作った原本)

実測値の部分は、④のコードで取り直した最新の数字に差し替えて使う。数値を渡さずに走らせると、AIは必ず「9割が知らない」系の空タイトルを出してくる。

あなたは日本のYouTube企画設計者です。

# 依頼
新規YouTubeチャンネル「さとまた48@Vlog2(ガジェット/生活レビュー路線)」のタイトル案を30本作る。模写対象(ベンチマーク)はトーマスガジェマガ1本に絞る。

# 演者(画面上のペルソナ)
- 36歳・独身・東京で一人暮らし(1K)。画面上の肩書きは「コンサル」
- 高校中退→新聞配達・倉庫日雇い→BtoB経営10年
- 元120kg→減量。服2XL、靴28.5cm 4E、顔が大きくメガネのPDが合わない
- Claude Code 3,000時間の実務
- 収益は広告ではなく、電子書籍・自社サービスへの認知ハブ

# ベンチマーク実測(YouTube Data API v3・470本全走査)
登録50.8万 / 総再生1億3,699万 / 469本 / 全体中央値18.3万
型別中央値: 買ってよかった 556,065(11本)/ 〜選 486,423(13本)/ 理由 381,563(47本)/ 否定形 309,708(45本)/ レビュー 290,933(72本)/ 日常系 63,661(179本)
年別中央値: 2020=339,719 / 2021=361,610 / 2022=64,229(88本出して崩落)/ 2024=293,042(38本に絞って回復)/ 2026=177,767
構造変化: 本人は現在39歳・既婚・子2人・奈良/神戸。「東京・独身・一人暮らし・6畳1K」の席は空いている

# 出力ルール
- 10本ずつ3グループ: 【G1 参入直後の10本】【G2 当たったら伸ばす10本】【G3 競合が構造上作れない10本】
- 各行: `番号 | タイトル(全角30字以内) | 狙う型(実測中央値を併記) | 何を測るか・なぜ勝てるか(40字以内)`
- 全タイトルに「測れるもの」が1つ含まれること(寸法・重量・耐荷重・時間・電気代・dB・本数・日数)
- 禁止: 「9割が知らない」等の中身のない煽り/資産額・年収・役職を使ったマウント/測定できない主張
- 日常系(部屋ツアー・帰省・近況)は0本。実測中央値が全体の35%しかないため

② 台本プロンプト(v2版・測定強制つき)

v1の5段構成(掴み→問い→本質→逆説→結論)を、測定用に組み替えたもの。冒頭30秒で結論と測定値を出すのが最大の変更点。

あなたは「さとまた48@Vlog2」の台本ライターです。以下の制約で18〜22分の台本を書いてください。

# 演者
36歳・独身・東京1K暮らし。画面上は「コンサル」。服2XL、靴28.5cm 4E、元120kg。Claude Code 3,000時間。
資産額・年収・役職は絶対に言わない(非マウント設計)。

# 構成(この順を厳守)
1. 【0:00-0:30 結論と測定値】挨拶・自己紹介なし。「結論から言うと〜でした」で開始し、今日測った数値を最初に出す
2. 【0:30-1:30 測定条件】何を・どの器具で・何回・どの期間測ったかを提示。再現手順を隠さない
3. 【1:30-  本編】測定の過程を時系列で。途中で予想が外れた箇所を必ず1つ入れる(外れない検証は嘘っぽい)
4. 【逆説】数値上は正しいが、実生活では別の結論になる点を1つ挙げる
5. 【結論】「買う/買わない」で言い切る。条件付きなら「◯◯の人は買う、それ以外は買わない」まで割る
6. 【締め】売り込まない。「測った生データは概要欄に置いた」で終わる

# 文体
- 断定。「〜と思います」ではなく「〜でした」「〜です」
- 専門用語は初出時に括弧で1行解説
- 1動画につき「不利」は1つだけ使う(4E/2XL/元120kg/中退/大顔のうち1つ)

# 禁止
- 測っていない数値を出す
- 「人によります」で終わる
- 案件・提供品の存在を匂わせる
- 資産・年収・経営者であることの示唆

③ 測定テンプレ(撮影前に埋める)

動画ごとに条件が変わると比較できず資産にならない。撮影前にこれを埋めてからカメラを回す。埋まらない企画は撮らない。

## 測定シート(動画ID: ____)

| 項目 | 記入 |
|---|---|
| 測るもの(1つに絞る) |  |
| 測定器具・型番 |  |
| 単位 |  |
| n数(試行回数) |  |
| 測定期間 |  |
| 環境条件(室温・時間帯・充電状態など) |  |
| 比較対象(何と比べるか) |  |
| 事前予想(外れた場合そのまま使う) |  |
| 生データの置き場所(概要欄URL) |  |
| 使う「不利」1つ |  |
| 結論の言い切り(買う/買わない) |  |

### 撮影前チェック
- [ ] 測定条件が画面に出せる形になっているか
- [ ] n=1で語っていないか(n=1なら「1台での結果」と明言する)
- [ ] 資産・年収・役職に触れていないか
- [ ] 冒頭30秒に結論と数値が入っているか

④ 競合実測コード(YouTube Data API v3)

材料②の数字はこのコードで取得した。チャンネルIDを差し替えれば任意のchで同じ分析ができる。APIキーはハブ直下 .env の YOUTUBE_API_KEY。無料枠は約100検索/日。

// 競合chの全動画を走査して年別・型別の中央値を出す
// 使い方: node yt-trend.mjs  (UPLOADS は チャンネルID の UC → UU に置換したもの)
const KEY = process.env.YOUTUBE_API_KEY;
const UPLOADS = 'UUzmxo1Zj4KkM32FlObFWdeA'; // トーマスガジェマガ
const api = async (p, q) => {
  const u = new URL(`https://www.googleapis.com/youtube/v3/${p}`);
  Object.entries({ ...q, key: KEY }).forEach(([k, v]) => u.searchParams.set(k, v));
  const r = await fetch(u); if (!r.ok) throw new Error(p + ' ' + r.status);
  return r.json();
};
let token, ids = [];
for (let i = 0; i < 10; i++) {
  const pl = await api('playlistItems', { part: 'contentDetails', playlistId: UPLOADS, maxResults: 50, ...(token ? { pageToken: token } : {}) });
  ids.push(...pl.items.map((x) => x.contentDetails.videoId));
  token = pl.nextPageToken; if (!token) break;
}
const rows = [];
for (let i = 0; i < ids.length; i += 50) {
  const v = await api('videos', { part: 'snippet,statistics', id: ids.slice(i, i + 50).join(',') });
  v.items.forEach((x) => rows.push({ t: x.snippet.title, d: x.snippet.publishedAt.slice(0, 10), views: +(x.statistics.viewCount || 0) }));
}
const med = (a) => { const s = [...a].sort((x, y) => x - y); return s[Math.floor(s.length / 2)]; };
const pat = [['買ってよかった', /買ってよかった/], ['〜選', /\d+選/], ['理由', /理由/], ['否定形', /ない|微妙|無し|やめ|するな|不要/], ['レビュー', /レビュー/], ['日常系', /帰省|モトブログ|ルームツアー|決算報告|質問/]];
pat.forEach(([n, re]) => { const h = rows.filter((r) => re.test(r.t)); console.log(n, h.length + '本', med(h.map((r) => r.views))); });
console.log('全体中央値', med(rows.map((r) => r.views)));

📌 この金型を他ブランドへ流用するとき

④で任意の競合chの型別中央値を出す → ①のプロンプトの実測値ブロックを差し替える → 30本出す。この手順自体が v2 の再現可能な部分で、ジャンルにもチャンネルにも依存しない。
共通ルールは 📖 工場マニュアル、v1の金型は さとまた48@Vlog の金型 を参照。

← 🔬 さとまた48@Vlog2(ガジェマガ模写)