ig-viral について
ig-viralは、Instagramクリエイター向けのリサーチスキルです。各アカウントの基準値と比べて好成績のReelsを見つけ、出典付きの資料を作成して独自コンテンツの企画に役立てます。
主な機能
- 01アカウント基準でReelsを順位付け
- 02フックの型を分類・採点
- 03上位と下位の投稿を比較
- 04YouTube Shortsで補完
- 05再利用できる資料を出力
活用シーン
- 01同規模アカウントの有効な形式を探す
- 02サンプルReelsの共通パターンを分析
- 03観察した型から独自のフックを考案
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jakeschincariol/ instagram-agent-skill --skill ig-viralインストール後、Claude Code で/ig-viralを入力して読み込まれたか確認します。
同梱ファイルswipe.py
詳細
ig-viral
リサーチスキルです。このパックのほかのものはすべて書き込みますが、これは調査に出かけます。毎日ではなく、毎月実行してください。数式はひとつのシーズンを通して使えます。
このフォルダーにはツールが1つあり、次の処理を実行します。
python3 swipe.py captured.tsv --out ~/.claude/instagram/swipe.md
これを実行する価値を生む、たったひとつの考え方
再生回数だけでは証拠になりません。 フォロワーが200万人いるアカウントが40万回再生されても、静かな火曜日を過ごしただけです。フォロワーが4,000人のアカウントが40万回再生されたなら、何かを見つけたということで、その何かは応用できます。
そのため、ここではすべて外れ値倍率で順位付けします。再生回数を、そのアカウントの直近の中央値で割った値です。3倍を超えるものはシグナルです。1.5倍未満のものは、そのアカウントにとって通常の結果であり、数値がどれほど大きく見えても、学べることはありません。
ユーザー自身の規模の約10倍以内のアカウントを集めてください。フォロワーが200万人のときに機能する数式は、多くの場合、フォロワーが200万人だからこそ機能します。
ステップ1:アカウントを選ぶ
ユーザーに6〜12個のアカウントを挙げてもらうか、候補を提案して承認を得てください。
- 直接競合 4件 — 同じニッチ、同じオファーで、少し先を行っているアカウントです。
- 隣接分野 4件 — ニッチは違いますが、同じオーディエンスを持つアカウントです。ニッチ内で誰も使っていないうちに、フォーマットが借用されるのはここからです。
- 大規模アカウント 2〜4件 — かなり規模の大きいアカウントです。参考にするのはフォーマットのみで、投稿頻度やトーンは参考にしないでください。
また、自分の保存済みコレクションを開いてもらいましょう。これは存在する中で最も早く、最も関連性の高いコーパスであり、すでに本人の好みでフィルタリングされています。
ステップ2:調査する
このセッションで実際に使えるブラウジングツールを利用してください。アプリ内ブラウザー、ユーザー自身のChromeに接続されたブラウザー拡張機能、またはコンピューター操作ツールなどです。この用途にAPIはなくても問題ありません。読み取る量が少ないためです。
譲れないルール:
- ユーザーに代わってInstagramにログインしてはいけません。また、パスワードを尋ねてはいけません。 ページでログインが必要な場合、すでにログインしているのはユーザー本人です。ユーザーが同席している状態でブラウザーを操作するか、内容を貼り付けてもらってください。
- これは読み取りであり、スクレイピングではありません。 アカウント10件からリールを各十数件、人間の速度で確認します。大量の自動収集はInstagramの利用規約に違反し、アカウントがアクションブロックされます。クローラーを作成したり、スクレイピングサービスを使ったり、バックグラウンドで繰り返し実行したりしてはいけません。
- コピーするのは数式であり、動画ではありません。 フックの形、構成、長さ、カットのパターンです。台本、声、編集をコピーしてはいけません。スワイプファイルの各行には、元になったアカウントを必ず記載してください。
リールごとに記録する内容は、クリエイター自身の言葉のままにします。
| フィールド | メモ |
|---|---|
| アカウント | ハンドル |
| フォロワー数 | プロフィールから取得 |
| 中央値 | 直近12件のリールをざっと確認し、再生回数の中央の値を取る |
| 再生回数 | このリールの再生回数 |
| フック | 最初の一言。音声または画面上のテキストを、文法の誤りも含めてそのまま記録 |
| 画面上のテキスト | 異なる場合は、最初のテキストカード |
| 長さ | 秒数 |
| CTA | 最後に何をするよう促したか |
重要なのは中央値です。これがなければ、またフォロワー数で順位を付けることになります。それをやめるために、このスキルがあります。
Instagramで十分な情報が表示されない場合: 同じフックの文法はYouTube Shortsでも使われています。再生回数と文字起こしが公開されており、ログインも不要です。正当な第二のコーパスであり、音声のフックを取得しやすくなります。
# view counts for a channel's shorts
python3 -m yt_dlp --flat-playlist --playlist-end 40 -J \
"https://www.youtube.com/@HANDLE/shorts" > channel.json
# the spoken first line of one short, from its auto-captions
python3 -m yt_dlp --skip-download --write-auto-subs --sub-langs "en.*" \
--sub-format json3 -o hook "https://www.youtube.com/watch?v=VIDEO_ID"
タイムスタンプが3.0秒未満の字幕内の語をすべて取得してください。それが、書かれたものではなく、実際に話されたフックです。
ステップ3:順位を付ける
ヘッダー行を含むタブ区切りファイルに入力し、スクリプトを実行します。
account followers median views hook
@someone 48000 11000 412000 nobody tells you your first 30 reels are supposed to flop
python3 swipe.py captured.tsv --out ~/.claude/instagram/swipe.md
このスクリプトは外れ値倍率を計算し、/ig-reel が使用するのと同じ26種類の数式からフックの数式を特定し、hookscore.py で各フックをスコア付けして、上位3分の1と下位3分の1を分ける要素を出力します。
ステップ 4:慎重に意味を読み取る
報告するのは次の 3 点だけです。
- 上位 3 分の 1 で特に多く見られる数式を、出現回数とともに示します。6 アカウント全体で、2 つの数式がそれぞれ 4 回登場していれば、それは発見です。1 つの数式が 2 回登場しただけなら、発見とは言えません。
- 上位 3 分の 1 に共通し、下位 3 分の 1 にはない構造的な特徴:フックの長さ、オチが視覚的かどうか、最初のフレームが動くかどうか、CTA の位置。
- 分類できなかった行。分類器が名前を付けられなかったフックは、ノイズであるか、まだ
hooks.jsonに登録されていない数式です。1 つずつ手作業で確認してください。これは出力の中で最も価値の高い列であり、スクリプトが件数を表示する理由でもあります。
次に、サンプル数と確信度を平易な言葉で示してください。6 アカウントのリール 40 本であれば、主張を裏付けられます。12 本では裏付けられません。そのことを明言するかどうかが、リサーチと占いの違いです。
ステップ 5:撮影できる形にする
上位 3 つの数式について、ユーザー自身のバージョンを作成します。本人のストーリーと数字を使い、効果が出ている形式に当てはめます。それぞれ、数式 ID をあらかじめ選んだ状態で /ig-reel に渡してください。
「これみたいなリールを作って」と返してはいけません。明日、本人が口にできるフックの文句を返してください。
出力
SWIPE · 38 reels · 7 accounts · baseline: account median
OUTLIERS (above 3x)
38.4x hook 86 #3 Nobody Tells You @acct_a 412,000 (median 10,700)
11.2x hook 79 #9 The Steal @acct_c 180,000 (median 16,100)
...
WHAT IS OVER-INDEXING
#3 Nobody Tells You x5 in the top third, 0 in the bottom
#2 Negative Command x4
median hook length 8 words up top, 19 at the bottom
UNCLASSIFIED (6)
Two of these are the same shape and it is not in hooks.json: a hook that
opens on someone else's comment read out loud. Worth adding.
YOUR VERSION
#3 "Nobody tells you the first 20 proposals are supposed to lose."
...
スワイプファイルを ~/.claude/instagram/swipe.md に書き込みます。/ig-reel と /ig-plan の両方がこれを読み込みます。これが要点です。一度実行すれば、パックの残りの部分はデフォルトではなく、ユーザー自身の根拠に基づいて動作します。
このスキルが投稿、フォロー、いいね、メッセージ送信を行うことはありません。読み取るだけです。