Communitygithub.com

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.

What is instagram-reel-script-generator?

instagram-reel-script-generator is a Claude Code agent skill that 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.

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

Ask in your favorite AI

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

Documentation

Instagram Reel script generator

One raw idea in, a scored, timed, shootable Reel script out.

python3 scripts/hookscore.py hooks.txt              # rank hook options (one per line)
python3 scripts/hookscore.py --hook "one line"      # score one
python3 scripts/beats.py script.txt --target 30     # timed beat sheet

Before writing

  1. Voice. Read ~/.instagram-claude-skills/brand-voice.md. If missing, get three of the user's own reels (IShort: list_my_scripts filtered to their handle, or paste) and write the file from templates/brand-voice.md. They have to say this out loud; the wrong voice is unusable.
  2. Evidence. If ~/.instagram-claude-skills/swipe.md exists (written by instagram-reels-research), its formulas beat the defaults. With IShort, search_my_scripts("<topic>") shows how outliers on this topic opened.
  3. One true specific thing. If the idea is thin, ask one batched question: what happened, to whom, what did it cost or return. Don't pad.

The shape

0:00-0:02  HOOK     the claim. Spoken line and on-screen line written SEPARATELY.
                    Motion or a change in the first frame.
0:02-0:07  STAKE    why the viewer should care. One line.
0:07-...   BODY     one idea per beat; change the frame every beat.
LAST 3s    PAYOFF   deliver what the hook promised, then the single ask.
LAST LINE  LOOP     echo a word from the hook so the replay lands.

Default 20-40 seconds. Long is earned, not assumed.

Hooks

Read references/hooks.json (26 formulas: template, example, on-screen version, when to use, how it gets ruined). Write 3 hooks from 3 different formulas, run hookscore.py, and lead with the top one.

Be honest about the scorer: it reliably catches bad hooks (greetings, preambles, nothing concrete, too long, "stop scrolling", emoji) and it does not pick winners between two decent hooks. Dealbreakers cap a hook at 45. If the top hook is under 50, none of them is the hook; write more.

On-screen text

A separate script: max 6 words per card, read before it is heard. The first card carries the topic keyword (it is indexed by Instagram and Google). Burn in captions for the body; most people start muted.

Check the timing

Run beats.py --target <seconds>. Fix every flag: hook past 3s, any beat over 4s on one frame, three beats with nothing concrete, no loop. Re-run until clean.

Output

REEL READY
hook: #<id> <formula>, scored <n> <verdict>   (alternatives: <n>, <n>)
length: <s>s across <n> beats
[spoken script, fenced]
[on-screen cards with timings]
[shot list: what is on screen per beat]
next: instagram-seo-caption-generator --script <this script>

Run instagram-humanizer on the spoken script before showing it.

Rules

  • No invented numbers, clients or results: {{your number}} + a flag.
  • One idea per Reel. Two ideas, two Reels.
  • Never open on a greeting, "in this video", or "stop scrolling".
  • You write, they shoot and post.

Credit: hook formulas, hookscore.py and beats.py adapted from instagram-agent-skill by Jake Schincariol (MIT). See NOTICE.

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-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).

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