Skip to content
Content
Skill

/ig-repurposer

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

From plugin
instagram-skills
879 skills
Install
$ npx -y skills add sergebulaev/instagram-skills --skill ig-repurposer --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ig-repurposer

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

ig-repurposer.SKILL.md
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

  • "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. Repur
Read more
Ships withinstagram-skills

Part of the linkedin-skills family (400+ stars). Same voice engine and approve-before-publish flow, now for Instagram. Also available for X · YouTube · TikTok · Threads · Facebook. 9 skills that turn Claude Code and Codex into your Instagram content team.

Get the whole plugin
Stats
92
Stars
17
Forks
Active
Maintenance
Python
Language
MIT
License
1d ago
Last commit
2mo ago
Created

Repo: sergebulaev/instagram-skills

Other skills on instagram-skills.