Find high-performing short-form videos on AI × e-commerce topics across YouTube and Instagram, in English and Russian, filtered by view count. Presents a shortlist for the user to pick from, then saves the picks to the shared reel backlog with a note on what format or hook is worth stealing. Use when the user asks what is working on video right now, wants viral video references, wants ideas for what to shoot, or says "viral scout" / "what's popping". Research and selection only — no video is produced here.
77
97%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Finds what is already working, so a reel can borrow a format — never a topic.
Ends by putting picks in backlog/ideas.json, which reel-script reads.
scripts/find_viral.py reads each platform's own embedded JSON, the technique
that replaced a $229/mo Apify scraper in app4 at 100% recall:
ytInitialData with a view count per
result. Plain fetch, no browser, no quota. Sorted by view count server-side.i.instagram.com/api/v1/users/web_profile_info returns recent
media with video_play_count, given the public X-IG-App-ID header. This is
per account, not search, so you curate whose numbers matter — better
signal than hashtag roulette.BROLL=.claude/skills/viral-scout/scripts
python3 $BROLL/find_viral.py \
--yt "AI agent facebook ads" "shopify AI automation" --lang en \
--ig shopify klaviyo triplewhale \
--min-views 500000 --out work/candidates.json
python3 $BROLL/find_viral.py --yt "ИИ для интернет-магазина" --lang ru --min-views 200000Run English and Russian as separate passes — the --lang header changes what
YouTube returns, and Russian thresholds should be lower (a 200k RU video is the
same signal as a 500k EN one).
A raw run returns a lot of "I Tried AI Dropshipping For 7 Days". That is not a reel to make; it is a format that works. Never bring the user a list to copy the subject of. For each candidate, answer one question:
What did this video do in its first 3 seconds that made people stay?
Then bring the ones whose answer transfers to a first-party technical take.
Reject on sight, whatever the view count:
Keep when the video is: an operator telling a specific failure, a contrarian take on a tool everyone likes, a number nobody else published, or a teardown of something that broke in public.
Read .claude/skills/reel-script/voice.md first. The beat is AI × e-commerce:
agents running ads, analytics copilots, AI in checkout and support, platform
automation. Not general AI, not general startups — those pools are enormous and
almost none of it lands with a DTC founder.
Six to eight queries per run, mixing the two sides of the beat. For Instagram,
keep a standing account list in backlog/ig_accounts.txt rather than guessing.
Present a table, ~10 rows, best first. Views alone is not the ranking — a 600k-view operator confession beats a 4M-view dropshipping video every time.
| # | views | platform | who | what the hook does | transferable? |
Say plainly which ones you would skip and why. A run where you recommend two of ten is a good run.
They watch, they choose. Never add to the backlog without an explicit pick.
A bare URL is worthless in a week. Each backlog entry records the format observation that made it worth keeping:
{"id":"v-20260831-01","kind":"video","status":"new","added":"2026-08-31",
"url":"https://youtube.com/watch?v=...","views":612000,"platform":"youtube",
"title":"...","why":"opens on the invoice, not the story — the number is the hook",
"steal":"lead with the receipt on screen before saying a word",
"topic":["ads","agents"]}Append to backlog/ideas.json. reel-script Step 1 reads steal when shaping
the hook.