ig-viral は何をしますか?
リサーチスキル。このパック内の他のスキルは作成に使いますが、これは調査を行います。毎日ではなく、毎月実行してください。フォーマットは一シーズンは持ちます。
このフォルダには1つのツールがあり、次のように実行します:
python3 swipe.py captured.tsv --out ~/.claude/instagram/swipe.md
これをやる価値があるという唯一の考え
生の再生回数は証拠にはなりません。 フォロワー200万人のアカウントが40万回再生されたとしても、それはそのアカウントにとっては静かな火曜日です。フォロワー4000人のアカウントが40万回再生されたなら、それは何かを見つけた証拠であり、その何かはコピー可能です。
したがって、ここではすべてを外れ値倍率でランク付けします。再生回数をそのアカウント自身の最近の中央値で割った値です。3倍以上はシグナルです。1.5倍未満はそのアカウントの平常日であり、数字がどれだけ大きくても何も教えてはくれません。
ユーザー自身のサイズの約10倍以内のアカウントを収集してください。フォロワー200万人で機能するフォーマットは、しばしばフォロワー200万人だから機能しているのです。
ステップ1: アカウントを選ぶ
ユーザーに6~12のアカウントを尋ねるか、候補を提案して承認を得てください:
- 4 直接 - 同じニッチ、同じオファー、少し先を行くアカウント。
- 4 隣接 - 異なるニッチ、同じオーディエンス。ここから、誰もそのニッチで使う前にフォーマットが借用されます。
- 2~4 大型 - はるかに大きなアカウント。フォーマットのみを参考にし、投稿頻度やトーンは参考にしません。
また、自分の保存コレクションを開いてもらうように依頼してください。それは存在する中で最も速く、最も関連性の高いコーパスであり、すでにユーザーの好みでフィルタリングされています。
ステップ2: 調査する
このセッションで実際に利用可能なブラウジングツール(アプリ内ブラウザ、ユーザーのChromeに接続されたブラウザ拡張機能、コンピューター使用ツール)を使用してください。これに対するAPIは存在せず、必要もありません。なぜなら、ボリュームが十分に小さく、読むことができるからです。
譲れないルール:
- 決してユーザーに代わってInstagramにログインしたり、パスワードを尋ねたりしないでください。 ページにログインが必要な場合、ユーザー自身がすでにログインしています。ユーザーのブラウザをユーザーの目の前で操作するか、貼り付けてもらうように依頼してください。
- これは読み取りであり、スクレイピングではありません。 10アカウント、それぞれ12リール程度、人間の速度で。大量の自動収集はInstagramの利用規約に違反し、アカウントがアクション制限を受けます。クローラーを構築したり、スクレイピングサービスを使用したり、バックグラウンドでループさせたりしないでください。
- フォーマットをコピーし、動画自体は決してコピーしないでください。 フックの形状、構造、長さ、カットのパターン。彼らのスクリプト、声、編集はコピーしません。スワイプファイルのすべての行を、それが取得されたアカウントに帰属させてください。
リールごとにキャプチャするもの(作成者の言葉で):
| フィールド | 備考 |
|---|---|
| account | ハンドル |
| followers | プロフィールから |
| median | 過去12リールをざっと見て、中央の再生回数を取る |
| views | このリールの再生回数 |
| hook | 最初の一言(話されているか、画面に表示されているか)、悪い文法も含めてそのまま |
| on-screen | 最初のテキストカード(異なる場合) |
| length | 秒数 |
| cta | 最後に求めていたアクション |
中央値が重要です。これがないとフォロワー数でランク付けに戻ってしまい、このスキルが存在する目的を台無しにします。
Instagramで十分な情報が得られない場合: 同じフックの文法がYouTube Shortsでも使われており、視聴回数と文字起こしが公開されており、ログインは不要です。これは正当な第2のコーパスであり、話されているフックを取得するのがより簡単です:
# チャンネルのショート動画の視聴回数
python3 -m yt_dlp --flat-playlist --playlist-end 40 -J \
"https://www.youtube.com/@HANDLE/shorts" > channel.json
# 1つのショート動画の話されている最初の一文(自動キャプションから)
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にない公式のどちらかです。手動で読み取ってください。これは出力の中で最も価値のある列であり、スクリプトがカウントを出力する理由です。
次に、サンプルサイズと信頼度を平易な言葉で述べてください。6つのアカウントにわたる40のリールは主張を裏付けます。12では不十分であり、そのように述べることが、研究と占いの違いです。
ステップ5: 撮影可能なものに変換する
上位3つの公式について、ユーザーのバージョンを書いてください: 効果が出ている形に、ユーザー自身のストーリー、ユーザー自身の数字を当てはめます。それぞれを /ig-reel に、公式IDを指定して渡します。
「こんなリールを作って」と返してはいけません。明日言えるフックの一行を返してください。
出力
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 は両方ともこれを読み取ります。これがポイントです: これが一度実行されると、パックの残りの部分はデフォルトではなく、ユーザー自身の証拠に基づいて動作します。
このスキルによって、何も投稿、フォロー、いいね、メッセージ送信は行われません。これは読み取りのみを行います。