New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Repurpose existing content into a native Instagram post

Instagram Repurposer

by sergebulaev · MIT license · ★ 138 on GitHub · updated Sep 17

Instagram Repurposer cover

Repurpose existing content into a native Instagram post. Take a LinkedIn, blog, YouTube script, or X tweet or thread and rebuild it for Instagram: a long piece becomes a carousel or a caption, re-hooked before the 125-char fold,…

---
name: ig-repurposer
description: "Repurpose existing content into a native Instagram post. Take a LinkedIn, blog, YouTube script, or X tweet or thread and rebuild it for Instagram: a long piece becomes a carousel or a caption, re-hooked before the 125-char fold, off-platform artifacts stripped (X @-handles, link in bio), published via Publora on approval. Use to adapt content across platforms into Instagram. Not for writing from scratch (use ig-caption-writer or ig-carousel-planner), not for auditing a draft (ig-humanizer --mode audit)."
---

# Instagram Repurposer

Turn something you already made into a post that reads like it was born on
Instagram. Repurposing is not copy-paste. A post that killed on LinkedIn or a
thread that flew on X will die on Instagram if you paste it: wrong hook, wrong
container, wrong rhythm, no media, and artifacts ("link in bio", @-handles,
hashtag walls) that scream off-platform.

This skill transforms, it does not generate. It reads your source, keeps the
idea, and rebuilds the delivery for Instagram.

## When to use

Overview

Turn something you already made into a post that reads like it was born on Instagram. Repurposing is not copy-paste. A post that killed on LinkedIn or a thread that flew on X will die on Instagram if you paste it: wrong hook, wrong container, wrong rhythm, no media, and artifacts ("link in bio", @-handles, hashtag walls) that scream off-platform.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/instagram-skills --skill ig-repurposer -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/sergebulaev/instagram-skills/tar.gz/2919f0a6d8b1 \ | tar -xz -C ~/.claude/skills --strip-components=4 instagram-skills-2919f0a6d8b1/.codex-marketplace/instagram-skills/skills/ig-repurposer
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/40a17ba1e9e12a6414b7/ig-repurposer.zip" -OutFile "$env:TEMP\ig-repurposer.zip"; Expand-Archive "$env:TEMP\ig-repurposer.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.9 KB
Read the files here
sergebulaev/2919f0a1 file
Shared references5SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text139 lines

Instagram Repurposer

Turn something you already made into a post that reads like it was born on Instagram. Repurposing is not copy-paste. A post that killed on LinkedIn or a thread that flew on X will die on Instagram if you paste it: wrong hook, wrong container, wrong rhythm, no media, and artifacts ("link in bio", @-handles, hashtag walls) that scream off-platform.

This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for Instagram.

When to use

  • "Turn this LinkedIn post into an Instagram carousel / caption"
  • "Repurpose my blog post / newsletter / YouTube script for Instagram"
  • "This thread worked on X, adapt it for Instagram"
  • "I have a rough idea in another format, make it native here"

Not for a blank-page draft (use ig-caption-writer for a single caption, ig-carousel-planner for a slide-by-slide carousel) and not for reviewing an already-Instagram draft (use ig-humanizer --mode audit).

How it works

Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that ig-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.

  1. Take the source. Any format: a post, a paragraph, a script, a caption, a transcript, a bullet list, a link to read. Ask for the source, the media the user has (Instagram needs an image or video), and the goal (saves / shares / comments / follows) if not given.
  2. Extract the spine. Strip the source platform's shell and pull out the one claim, the one story, or the one number worth keeping. Most repurposing fails because it keeps the words instead of the point.
  3. Choose the container. One claim or number -> single caption. A teach, a list, or a build -> carousel, one point per slide (hand structure to ig-carousel-planner, hook slide to payoff slide). A long video -> a carousel that delivers the payoff, not a summary.
  4. Re-hook for the fold. Instagram hides everything after ~125 characters behind "more". Line one (or the hook slide) must land the whole punch on its own. The source's hook almost never survives; write a new first line using a 2026 Instagram formula (see ../../references/hook-formulas.md), picked by the goal.
  5. Refit the format. Caption body skimmable, short lines, white space between beats. Carousel: one idea per slide, no wall. Cut the source's connective tissue; Instagram rewards the front-loaded payoff.
  6. Strip off-platform artifacts. Remove "link in bio" carried from another platform, "smash subscribe", "read more below", X @-handles that only exist there, and any "as I wrote on LinkedIn" throat-clearing. A repurposed post should not admit it was repurposed.
  7. Media reminder. Instagram rejects text-only posts. Confirm the image, video, or slide set the user will attach. A caption with no media is not publishable.
  8. Hashtags at the end. Hand the topic to ig-hashtag-strategist or apply a 3-5 sized set yourself (see ../../references/hashtag-strategy.md). Place them as one block at the END of the caption or in the first comment, never as a mid-text wall.
  9. Humanizer pass. Run ig-humanizer V3 on the result: 2026 AI vocab by paragraph density, em dashes above the cap (about one per 100 words, never swapped for a period), stacked rule-of-three triads, generic openers and reveal bridges. Fix only a paragraph that reads machine-flat; never manufacture variance. Keep the user's real numbers and named entities from the source.
  10. Approval card. Show: source -> Instagram mapping (what became what), the container (single caption or N-slide carousel), formula used, the hook (flag if over 125 chars), hashtag set, the media the user must attach, primary goal.
  11. On approval. Publish via lib.publish(kind="post", draft_text=<approved caption>, target_url="https://www.instagram.com/", media=[<local file paths>], platforms=[<INSTAGRAM_PLATFORM_ID>], scheduled_time=<iso_or_None>). For a Reel pass kind="reel". The wrapper runs the Publora draft then upload then schedule flow. With no media or no Publora key it returns a copy-paste block and a reminder to attach the media.

Native-fit rules (source -> Instagram)

  • LinkedIn post -> Instagram: a long post becomes a carousel (one point per slide) or, if it is one sharp claim, a single caption. LinkedIn tolerates warm-up; Instagram does not. The LinkedIn hook is usually too long; rewrite it for the 125-char fold.
  • Blog / newsletter -> carousel: turn the structure into slides, one point per slide, hook slide first, payoff slide last. Do not paste the whole piece into one caption.
  • YouTube script -> carousel of the payoff: lead with the video's payoff, not its intro. Build the carousel around "here's what I found", not a scene-by-scene recap.
  • Tweet / thread -> caption or carousel: a single tweet becomes a caption; a thread becomes a carousel, one tweet per slide with its own micro-point. Strip X @-handles and thread numbering.

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • Keep the source's claim and facts intact. Repurposing changes the delivery, never the meaning or the numbers.
  • The new first line (or hook slide) must stop the scroll on its own before the 125-char fold. If it needs the second line, rewrite it.
  • Never paste the source verbatim and trim. Rebuild the hook and rhythm from the spine.
  • One specific number where the source offers one. Keep it.
  • 3-5 sized hashtags as one block at the end, never 30 and never mid-caption.
  • Media is required. Never present a repurposed caption as publishable without reminding the user to attach the image, video, or slides.
  • Do not hard-sell the user's product. One natural mention max.

Anti-patterns (skill will refuse)

  • Copy-pasting the source with light edits (that is not repurposing).
  • Keeping the source platform's artifacts ("link in bio", "smash subscribe", X @-handles, thread numbering).
  • A hook that only makes sense after the 125-char fold.
  • A mid-caption hashtag wall instead of one block at the end.
  • Presenting a caption with no media as ready to post.
  • ALL CAPS first line for intensity. Carry it with word choice.
  • Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
  • "The result?" / "Here's the thing.." reveal bridges and staccato stacks added during the rewrite.
  • Rule-of-three lists without specifics.
  • "leverage", "fundamentally", "game-changer", "level up", "dive in".
  • Meta throat-clearing ("I originally posted this on...").

Resources

  • ../../references/hook-formulas.md - the 10 Instagram formula skeletons to re-hook with
  • ../../references/algorithm-heuristics.md - 2026 Instagram ranking rules (fold, timing, signals)
  • ../../references/hashtag-strategy.md - the 3-5 sized hashtag recipe
  • ../../references/media-workflow.md - the draft, upload, schedule flow
  • ig-caption-writer - write a fresh single caption from scratch
  • ig-carousel-planner - structure a slide-by-slide carousel (repurposer hands long builds here)
  • ig-hashtag-strategist - build the sized hashtag set
  • ig-humanizer - scrub AI tells, plus --mode audit to review the result
1---
2name: ig-repurposer
3description: "Repurpose existing content into a native Instagram post. Take a LinkedIn, blog, YouTube script, or X tweet or thread and rebuild it for Instagram: a long piece becomes a carousel or a caption, re-hooked before the 125-char fold, off-platform artifacts stripped (X @-handles, link in bio), published via Publora on approval. Use to adapt content across platforms into Instagram. Not for writing from scratch (use ig-caption-writer or ig-carousel-planner), not for auditing a draft (ig-humanizer --mode audit)."
4---
5 
6# Instagram Repurposer
7 
8Turn something you already made into a post that reads like it was born on
9Instagram. Repurposing is not copy-paste. A post that killed on LinkedIn or a
10thread that flew on X will die on Instagram if you paste it: wrong hook, wrong
11container, wrong rhythm, no media, and artifacts ("link in bio", @-handles,
12hashtag walls) that scream off-platform.
13 
14This skill transforms, it does not generate. It reads your source, keeps the
15idea, and rebuilds the delivery for Instagram.
16 
17## When to use
18 
19- "Turn this LinkedIn post into an Instagram carousel / caption"
20- "Repurpose my blog post / newsletter / YouTube script for Instagram"
21- "This thread worked on X, adapt it for Instagram"
22- "I have a rough idea in another format, make it native here"
23 
24Not for a blank-page draft (use `ig-caption-writer` for a single caption,
25`ig-carousel-planner` for a slide-by-slide carousel) and not for reviewing an
26already-Instagram draft (use `ig-humanizer --mode audit`).
27 
28## How it works
29 
30**Voice profile first (all drafts).** If `../../references/voice-profile.md` has `filled: yes`, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that `ig-humanizer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules.
31 
321. **Take the source.** Any format: a post, a paragraph, a script, a caption, a
33 transcript, a bullet list, a link to read. Ask for the source, the media the
34 user has (Instagram needs an image or video), and the goal (saves / shares /
35 comments / follows) if not given.
362. **Extract the spine.** Strip the source platform's shell and pull out the one
37 claim, the one story, or the one number worth keeping. Most repurposing fails
38 because it keeps the words instead of the point.
393. **Choose the container.** One claim or number -> single caption. A teach, a
40 list, or a build -> carousel, one point per slide (hand structure to
41 `ig-carousel-planner`, hook slide to payoff slide). A long video -> a carousel
42 that delivers the payoff, not a summary.
434. **Re-hook for the fold.** Instagram hides everything after ~125 characters
44 behind "more". Line one (or the hook slide) must land the whole punch on its
45 own. The source's hook almost never survives; write a new first line using a
46 2026 Instagram formula (see `../../references/hook-formulas.md`), picked by the
47 goal.
485. **Refit the format.** Caption body skimmable, short lines, white space between
49 beats. Carousel: one idea per slide, no wall. Cut the source's connective
50 tissue; Instagram rewards the front-loaded payoff.
516. **Strip off-platform artifacts.** Remove "link in bio" carried from another
52 platform, "smash subscribe", "read more below", X @-handles that only exist
53 there, and any "as I wrote on LinkedIn" throat-clearing. A repurposed post
54 should not admit it was repurposed.
557. **Media reminder.** Instagram rejects text-only posts. Confirm the image,
56 video, or slide set the user will attach. A caption with no media is not
57 publishable.
588. **Hashtags at the end.** Hand the topic to `ig-hashtag-strategist` or apply a
59 3-5 sized set yourself (see `../../references/hashtag-strategy.md`). Place them
60 as one block at the END of the caption or in the first comment, never as a
61 mid-text wall.
629. **Humanizer pass.** Run `ig-humanizer` V3 on the result: 2026 AI vocab by
63 paragraph density, em dashes above the cap (about one per 100 words, never
64 swapped for a period), stacked rule-of-three triads, generic openers and
65 reveal bridges. Fix only a paragraph that reads machine-flat; never
66 manufacture variance. Keep the user's real numbers and named entities from
67 the source.
6810. **Approval card.** Show: source -> Instagram mapping (what became what), the
69 container (single caption or N-slide carousel), formula used, the hook (flag
70 if over 125 chars), hashtag set, the media the user must attach, primary goal.
7111. **On approval.** Publish via `lib.publish(kind="post",
72 draft_text=<approved caption>, target_url="https://www.instagram.com/",
73 media=[<local file paths>], platforms=[<INSTAGRAM_PLATFORM_ID>],
74 scheduled_time=<iso_or_None>)`. For a Reel pass `kind="reel"`. The wrapper
75 runs the Publora draft then upload then schedule flow. With no media or no
76 Publora key it returns a copy-paste block and a reminder to attach the media.
77 
78## Native-fit rules (source -> Instagram)
79 
80- **LinkedIn post -> Instagram:** a long post becomes a carousel (one point per
81 slide) or, if it is one sharp claim, a single caption. LinkedIn tolerates
82 warm-up; Instagram does not. The LinkedIn hook is usually too long; rewrite it
83 for the 125-char fold.
84- **Blog / newsletter -> carousel:** turn the structure into slides, one point
85 per slide, hook slide first, payoff slide last. Do not paste the whole piece
86 into one caption.
87- **YouTube script -> carousel of the payoff:** lead with the video's payoff, not
88 its intro. Build the carousel around "here's what I found", not a scene-by-scene
89 recap.
90- **Tweet / thread -> caption or carousel:** a single tweet becomes a caption; a
91 thread becomes a carousel, one tweet per slide with its own micro-point. Strip
92 X @-handles and thread numbering.
93 
94## Hard rules
95 
96Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
97rules:
98 
99- Keep the source's **claim and facts** intact. Repurposing changes the delivery,
100 never the meaning or the numbers.
101- The new first line (or hook slide) must stop the scroll on its own before the
102 125-char fold. If it needs the second line, rewrite it.
103- Never paste the source verbatim and trim. Rebuild the hook and rhythm from the
104 spine.
105- One specific number where the source offers one. Keep it.
106- 3-5 sized hashtags as one block at the end, never 30 and never mid-caption.
107- Media is required. Never present a repurposed caption as publishable without
108 reminding the user to attach the image, video, or slides.
109- Do not hard-sell the user's product. One natural mention max.
110 
111## Anti-patterns (skill will refuse)
112 
113- Copy-pasting the source with light edits (that is not repurposing).
114- Keeping the source platform's artifacts ("link in bio", "smash subscribe", X
115 @-handles, thread numbering).
116- A hook that only makes sense after the 125-char fold.
117- A mid-caption hashtag wall instead of one block at the end.
118- Presenting a caption with no media as ready to post.
119- ALL CAPS first line for intensity. Carry it with word choice.
120- Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
121- "The result?" / "Here's the thing.." reveal bridges and staccato stacks added during the rewrite.
122- Rule-of-three lists without specifics.
123- "leverage", "fundamentally", "game-changer", "level up", "dive in".
124- Meta throat-clearing ("I originally posted this on...").
125 
126## Resources
127 
128- `../../references/hook-formulas.md` - the 10 Instagram formula skeletons to re-hook with
129- `../../references/algorithm-heuristics.md` - 2026 Instagram ranking rules (fold, timing, signals)
130- `../../references/hashtag-strategy.md` - the 3-5 sized hashtag recipe
131- `../../references/media-workflow.md` - the draft, upload, schedule flow
132 
133## Related skills
134 
135- `ig-caption-writer` - write a fresh single caption from scratch
136- `ig-carousel-planner` - structure a slide-by-slide carousel (repurposer hands long builds here)
137- `ig-hashtag-strategist` - build the sized hashtag set
138- `ig-humanizer` - scrub AI tells, plus `--mode audit` to review the result
139 
View all files on GitHub →

Details

Updated
Sep 17, 2026
License
MIT
Stars on the repo
★ 138
Checked
Source
sergebulaev/instagram-skills ↗
Creator
sergebulaev · 77 listings
View creator

Similar skills

See all →
SkillResearch what people actually say about any topicSTEP 0: STALE-CLONE SELF-CHECK — RUN BEFORE READING BELOWmvanhorn/last30days-skill · by mvanhornResearch what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube, TikTok, Hacker News, Polymarket, GitHub, and the web. Includes a doctor health check to diagnose broken or missing sources.★ 63.5k GitHub starsSkillScrapes social platforms, business dataApifydanielmiessler/LifeOS · by danielmiesslerScrapes social platforms, business data, and e-commerce via Apify actors — Instagram, LinkedIn, TikTok, YouTube, Facebook, Google Maps, Amazon, and web crawls — filtering in code. USE WHEN scrape Instagram, scrape LinkedIn, scrape TikTok, scrape YouTube, scrape Facebook, Google Maps leads, Amazon reviews, business intelligence, multi-platform social listening, competitive analysis, lead generation, social monitoring, Apify actors, web crawl, extract contacts. NOT FOR X/Twitter account operations like posting, threads, or bookmarks (those need a dedicated X API client), 4-tier progressive scraping with proxy escalation (use BrightData), or real-Chrome bot bypass and computer use (use Interceptor).★ 19.3k GitHub starsSkill微信公众号长文增长闭环 ——tsingyuai/growth-lab · by tsingyuai微信公众号长文增长闭环 —— 从读者问题与复刻锚选题、写出可验证的公众号长文、预览与合规检查、同步微信草稿、三重确认下受控发布,到回收阅读与转化数据并复盘。用户要求写公众号、把内容改成公众号、同步或发布微信草稿、查看公众号数据或复盘时使用。★ 2k GitHub starsSkillSearch and retrieve content from Twitter/XTwitter/X SkillReScienceLab/opc-skills · by ReScienceLabSearch and retrieve content from Twitter/X. Get user info, tweets, replies, followers, communities, spaces, and trends via twitterapi.io. Use when user mentions Twitter, X, or tweets.★ 1.8k GitHub starsSkillSays 'YouTube script', 'video script'🎬 YouTube Script: Writing retention-optimized video script...cwinvestments/memstack · by cwinvestmentsUse this skill when the user says 'YouTube script', 'video script', 'write script for YouTube', 'YouTube video outline', or is creating scripted content for a YouTube video with hooks, chapters, and CTAs. Do NOT use for TikTok/Reels short-form scripts or webinar presentations.★ 423 GitHub starsSkillAgent Reach — 互联网能力路由器Ootto-AI/claude-content-skills · by Ootto-AIMUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, V2EX, LinkedIn/领英/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 13 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客)。★ 139 GitHub stars

More from sergebulaev

SkillBy density per paragraph, not per wordAI Tells — Complete Blacklist (V3, 2026-09)sergebulaev/linkedin-skills · by sergebulaevScored the way readers read: by density per paragraph, not per word. One marker in a paragraph is English. Three is a signature. The…★ 3.1k GitHub starsSkillFifteen rules from the linkedin-humanizer packageAI-Tell Rules: Tier-Classified Referencesergebulaev/linkedin-skills · by sergebulaevFifteen rules from the linkedin-humanizer package, sorted by what kind of evidence each one actually represents.★ 3.1k GitHub starsSkillPattern data from MagicPost LinkedIn analysisEmoji Patterns — AI vs. Humansergebulaev/linkedin-skills · by sergebulaevPattern data from MagicPost LinkedIn analysis (Feb 2026, viral post with 220 engagement).★ 3.1k GitHub starsSkillRead your Instagram niche and profile from real dataInstagram Audience Insightssergebulaev/instagram-skills · by sergebulaevRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).★ 138 GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan an Instagram carousel slide by slide, up to 10 slidesInstagram Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub stars