mcpField
I
ig-viral

ig-viral

github.com/jakeschincariol营销与增长3.5k610 次安装6 周前更新
代码仓库

关于 ig-viral

ig-viral 是面向 Instagram 创作者的研究技能,按账号自身基准识别表现突出的 Reels,并生成带来源的素材文件,供原创内容规划使用。

主要功能

  1. 01按账号基准排名 Reels
  2. 02标注并评分开场公式
  3. 03比较高低表现内容
  4. 04支持以 YouTube Shorts 补充
  5. 05生成可复用的素材文件

适用场景

  1. 01寻找同类账号的高效形式
  2. 02分析抽样 Reels 的共同模式
  3. 03依据观察到的公式构思原创开场

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jakeschincariol/instagram-agent-skill --skill ig-viral

安装后在 Claude Code 中输入/ig-viral确认已加载。

附带文件swipe.py

详细介绍

ig-viral

研究技能包。其他所有内容都会写作,而这个技能包负责查找。每月运行一次,而不是每天运行。公式的生命力通常只持续一个季度。

此文件夹中有一个工具,运行方式如下:

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,也不需要 API,因为需要查看的内容量足够少,可以直接阅读。

以下规则不可妥协:

  • 绝不代替用户登录 Instagram,也绝不索要密码。 如果页面需要登录,由用户使用已登录的账号。让用户在场时操作他们的浏览器,或者请他们粘贴内容。
  • 这是阅读,不是抓取。 十个账号,每个账号十几条 Reels,以人工速度查看。大规模自动收集违反 Instagram 的使用条款,可能导致账号被限制操作。不要构建爬虫,不要使用抓取服务,也不要在后台循环运行。
  • 只借鉴公式,绝不照搬视频。 包括开场方式、结构、时长和剪辑节奏,而不是他们的脚本、声音或剪辑。滑动文件中的每一行都要注明来源账号。

每条 Reels 要记录的内容,使用创作者自己的表述:

字段备注
account用户名
followers从个人主页获取
median查看最近 12 条 Reels,估算播放量中位数
views这条 Reels 的播放量
hook第一行内容,无论是口播还是屏幕文字,都要逐字记录,包括语法错误
on-screen第一张文字卡片;若与 hook 不同则记录
length秒数
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 为每条开场内容评分,并打印出排名前 1/3 与后 1/3 之间的差异。

第 4 步:谨慎说明结果的含义

只报告三件事,不要多说:

  1. 排名前三分之一中哪些公式占比过高,并给出次数。两个公式在 6 个账号中各出现 4 次,这就是一项发现。某个公式只出现 2 次,则不算。
  2. 排名前三分之一在结构上有哪些共同点,而排名后三分之一没有:钩子长度、回报是否具有视觉效果、第一帧是否在动,以及行动号召的位置。
  3. **未分类的行。**分类器无法命名的每个钩子,要么是噪声,要么是尚未添加到 hooks.json 中的公式。逐条手动阅读。这是输出中最有价值的一列,也是脚本打印计数的原因。

然后用通俗的语言说明样本量和可信度。来自 6 个账号的 40 条 Reels 足以支撑一项结论;12 条则不够。坦承这一点,才是研究与算命的区别。

第 5 步:把结果变成可拍摄的内容

针对排名前三的公式,写出用户自己的版本:用他们自己的故事、自己的数字,套用有效的形式。为每个版本预先选好公式 ID,再交给 /ig-reel。

绝不要只交付“照着这个做一条 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 都会读取它,这正是重点:运行一次后,整个工具包就会依据用户自己的证据运作,而非默认设置。

此技能不会发布内容、关注账号、点赞或发送消息,只会读取。

评论

支持 Markdown