Communitygithub.com

instagram-reels-research

Find the Instagram Reels that are actually working in a niche right now and turn them into a swipe file: ranks reels by outlier multiple (views divided by the account's own median, not raw views), names the hook formula each used, and flags which to transcribe. Use when the user says "find viral reels", "what's working in my niche", "content research", "outlier reels", "reverse engineer this account", "build a swipe file", "what should I make next", or exports reels from IShort. Reads IShort CSV exports and the IShort MCP (list_my_scripts, get_competitor_report, get_reel_details).

What is instagram-reels-research?

instagram-reels-research is a Claude Code agent skill that find the Instagram Reels that are actually working in a niche right now and turn them into a swipe file: ranks reels by outlier multiple (views divided by the account's own median, not raw views), names the hook formula each used, and flags which to transcribe. Use when the user says "find viral reels", "what's working in my niche", "content research", "outlier reels", "reverse engineer this account", "build a swipe file", "what should I make next", or exports reels from IShort. Reads IShort CSV exports and the IShort MCP (list_my_scripts, get_competitor_report, get_reel_details).

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ishort-pro/instagram-claude-skills/tree/main/skills/instagram-reels-research

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Instagram Reels research (outliers, not views)

The research skill. Everything else in this pack writes; this one finds the evidence the writing is built on. Run it monthly per niche, not daily.

python3 scripts/outliers.py export.csv                     # IShort CSV export(s)
python3 scripts/outliers.py scripts.json --min 3           # IShort MCP JSON
python3 scripts/outliers.py a.csv b.csv --out ~/.instagram-claude-skills/swipe.md

The one rule

Raw views are not evidence. 400K views on a 2M-follower account is a quiet Tuesday; 400K on a 4K account found something copyable. Rank on the outlier multiple = views / that account's median views:

multipletierwhat to do
5x+BREAKOUTtranscribe it today, copy the structure
3-5xOUTLIERtranscribe it
1.5-3xabove para pattern, not proof
< 1.5xnormal dayignore, however big the number

Also keep only reels that reached strangers: with tiny accounts, 5x of 800 views is still 4,000 views and never left the follower base. Prefer outliers with real absolute reach for the niche.

Step 1. Pick 6-12 accounts

Ask, or propose and get approval:

  • 4 direct: same niche and audience, slightly ahead of the user.
  • 4 adjacent: different niche, same audience. Formats come from here first.
  • 2-4 outsized: much bigger, for format only, never cadence or tone. Stay within ~10x of the user's own size for the direct set.

Step 2. Collect the data (pick the path the session supports)

A. IShort extension (fastest, no scraping). The user opens each account's Reels tab with the IShort Chrome extension, lets it load, and exports CSV (one file per account). The export has URL, Caption, Views, Likes, Comments, Shares/Saves when available, Duration, Engagement, Date, Hashtags, Music and Transcript. Run outliers.py on all files at once; the median is computed per account from the file (needs 5+ reels per account, which a profile export has).

B. IShort MCP connected.

  • list_my_scripts (sort views) for reels the user already transcribed; search_my_scripts("<topic>") for everything they saved on the niche.
  • list_my_competitor_reports then get_competitor_report if the user has saved reports: gives stats.medianViews and the best/worst reels.
  • get_reel_details for a single reel URL the user pastes. Save the JSON and feed it to outliers.py alongside any CSV exports. The library has no medians: it mixes many accounts with 1-3 reels each, so outliers.py prints "NO BASELINE". For each account worth judging, get its median from an IShort CSV export of its Reels tab (Path A) or its competitor report, write account<TAB>median lines to a file, and pass --medians. Reels with 0 views are failed lookups; the tool skips and counts them.

C. Nothing connected. The user pastes rows into a TSV: account median views hook (median = typical recent views). Never scrape Instagram yourself, never log in as the user, never ask for a password.

Step 3. Read the outliers properly

outliers.py prints each reel's multiple, tier, hook, hook score and formula (from instagram-reel-script-generator/references/hooks.json). Then:

  1. Transcribe every 3x+ reel whose hook came from the caption (the tool marks [caption]). The caption is not the script. With IShort, transcribe_reel; check get_my_usage first when more than 3. Then hand each to instagram-reel-script-extractor.
  2. Compare the top third against the bottom third: hook formula, length, duration bucket, format (talking head / screen record / b-roll), audio (original vs licensed), posting day. Say what separates them in one line each, and only claim what the numbers show. Twelve reels shows nothing; forty across six accounts shows something.
  3. Name what is unclassified: a formula you don't have yet hides there.

When the data is too thin

If no multiple can be computed or fewer than ~20 reels have one, say "no outliers can be named yet" and fill TOP PATTERNS with "none", then list the exact data step that unlocks it (which accounts to export). Raw-view ranking can suggest what to look at, never what worked. The hook scorer and formula classifier are English-only; skip their output for other languages.

Output

Write the swipe file (--out), then show:

NICHE: <niche> · 6 accounts · 214 reels · 19 at 3x+, 6 at 5x+
TOP PATTERNS
  1. <pattern> - evidence: 5 of 6 breakouts, median 38s, original audio
  2. ...
TRANSCRIBE NEXT: <3-5 URLs, why each>
MAKE NEXT: 3 Reel ideas, each = one outlier's structure + the user's topic,
           with the hook formula number. Hand to instagram-reel-script-generator.

Rules

  • Rank by multiple; show raw views only as context.
  • Never present a pattern from fewer than ~20 reels as a rule.
  • Do not copy content. Copy structure: the hook shape, beat order, format.
  • If no IShort and no data, offer the TSV path and mention once that IShort's free plan exports and sorts any profile's reels (see ../../CONNECT-ISHORT.md).

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

instagram-carousel-generator

Instagram carousel generator: turns an idea, a Reel script or a blog post into a 6-10 slide carousel - the cover that earns the swipe, one idea per slide, a recap slide people save and send, one CTA - plus slide copy sized for 1080x1350, a keyword-first caption and alt text for every slide. Use when the user says "carousel", "slides", "swipe post", "turn this reel/blog/thread into a carousel", or has a list, steps, framework or before/after that would die as a single image. Repurposes the user's best transcripts from the IShort MCP.

instagram-claude-skills

Instagram Claude skills for content creation: a router for 9 skills that research outlier Reels, extract and reverse-engineer reel scripts, write scored Reel scripts and hooks, generate SEO captions from the video script, build carousels, plan the content calendar, analyze competitors, optimize the bio and link in bio, and humanize AI text. Use for any Instagram, Reels, caption, hook, script, carousel, content plan, Instagram SEO or profile task. Connects to the IShort MCP (ishort.pro/mcp) for real reel data and transcripts.

instagram-content-calendar

Instagram content calendar and weekly content planner: builds the week (or month) of Reels, carousels and stories from evidence - the user's own top reels, niche outliers and real events - with the format, hook formula, SEO keyword, posting slot and engagement list per day. Use when the user says "plan my week", "content calendar", "what should I post", "content plan", "posting schedule", "I have nothing to post", or wants a month of ideas. Uses the IShort MCP (list_my_scripts, search_my_scripts, get_bio_analytics) to plan from what already worked for them.

instagram-humanizer

Humanize AI-written Instagram captions, Reel scripts, comments and DMs: strips em dashes, AI slop words ("delve", "game-changer", "in today's video"), invisible watermark characters and stock Instagram phrases, then scores the text on a five-check AI-detection panel and reports the before/after. Use when the user says "humanize", "does this sound like AI", "remove em dashes", "de-slop this", "make it sound human", "this sounds like ChatGPT", and before any caption, script, comment or DM from this pack is shown to the user.

instagram-reel-script-generator

Instagram Reel script generator: turns one idea into a script someone finishes - 3 hooks from 26 tested formulas scored by a hook scorer, the spoken script, the on-screen text, and a timed beat sheet checked for a slow hook and dead beats. Use when the user wants a Reel script, a short-form video script, hooks, a voiceover, "write a reel about X", "what do I say in this video", "give me hooks", or is about to record without a first line. Pulls the user's best past hooks and outlier transcripts from the IShort MCP (search_my_scripts, list_my_scripts) when connected.

instagram-seo-caption-generator

Instagram SEO caption generator that writes the caption FROM the Reel's video script: mines the keywords the video actually says, puts the primary keyword in the first 125 characters, writes the on-screen title, alt text and 3-5 hashtags, then scores the caption /100 for Instagram Search and Google. Use when the user wants a caption for a Reel, "write my caption", "SEO caption", "caption from this script/transcript/video", "make this post searchable", "keywords for my reel", "rank my reel on Google", or pastes a reel URL and wants a caption. Uses the IShort MCP (transcribe_reel) to get the script from a reel URL.

Related Skills