Skip to content
Content
Skill

/threads-repurposer

Repurpose existing content into a native Threads post or thread. Take a LinkedIn post, X thread, blog, YouTube script, or newsletter and rewrite it for Threads: warm the tone, de-corporate it, refit to a short post or light thread, rebuild the hook to clear the soft fold, strip

From plugin
threads-skills
528 skills

Claude Code

$ npx -y skills add sergebulaev/threads-skills --skill threads-repurposer --agent claude-code

SKILL.md

threads-repurposer.SKILL.md
name: threads-repurposer
description: "Repurpose existing content into a native Threads post or thread. Take a LinkedIn post, X thread, blog, YouTube script, or newsletter and rewrite it for Threads: warm the tone, de-corporate it, refit to a short post or light thread, rebuild the hook to clear the soft fold, strip off-platform artifacts, run the humanizer, publish via Publora on approval. Not for writing from scratch (use threads-post-writer), auditing a draft (use threads-humanizer), or a hook teardown (use threads-hook-extractor)."

Threads Repurposer

Turn something you already made into a Threads post or thread that reads like it was born on Threads. Repurposing is not copy-paste. A post that killed on LinkedIn or landed on X will read wrong on Threads if you paste it: too polished, too cold, wrong length, and artifacts ("link in bio", hashtag walls, "smash subscribe") that scream off-platform.

This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for Threads: warmer, lowercase-casual, reply-driven.

When to use

  • "Turn this LinkedIn post into a Threads post / thread"
  • "Repurpose my blog post / newsletter / YouTube script for Threads"
  • "This X thread did well, adapt it for Threads"
  • "I have a rough idea in another format, make it native here"

Not for a blank-page draft (use `threads-post-writer` for a post or thread), not for reviewing an already-Threads draft (use `threads-humanizer`, plus `--mode audit`), and not for reverse-engineering a hook (use `threads-hook-extractor`).

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 `threads-humanizer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules.

**Story bank next.** If `../../references/story-bank.md` has `filled: yes`, load it and take every concrete detail (numbers, dates, named projects, positions) from there instead of asking mid-draft. **Never invent a figure, a date or a client name that is not in the bank or supplied by the user in this conversation.** If the bank has nothing that fits, ask the user, or say once that `threads-humanizer --mode interview` fills it in 20 to 40 minutes. A draft with a plausible invented number is worse than a draft with none: one is vague, the other is a retraction.

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 and the goal (replies / reposts / likes / quotes) 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 post. A teach or a build -> a light thread (hand structure to `threads-post-writer`'s shapes). A LinkedIn carousel or a listicle -> a short thread, one item per post, hook rebuilt. A long video -> a thread that delivers the payoff, not a summary. Threads leans short: prefer one warm post over a long thread when the idea fits. 4. **Warm the tone.** Threads is conversational and lowercase-casual. De-corporate a LinkedIn source (cut the polish and the humble-brag frame), and turn a transplanted X dunk into an invitation to talk. The register is a person talking, not a brand broadcasting. 5. **Rebuild the hook.** Threads has a soft fold (the feed truncates long posts with a "more" cut), so line one must land the whole punch and stand alone. The source's hook almost never survives; write a new first line using a 2026 Threads formula (see `../../references/hook-formulas.md`), picked by the goal. 6. **Refit the format.** Under 500 chars per post (10,000 only with a text attachment). One idea per post, line breaks as beats. Cut the source's connective tissue. For a thread, hand-split with `---` so the user sees the breaks before approving. 7. **Strip off-platform artifacts.** Remove "link in bio", "smash subscribe", "read more below", hashtag walls (Threads allows one hashtag max), @-handles that only exist elsewhere, and any "as I wrote on LinkedIn" throat-clearing. A repurposed post should not admit it was repurposed. 8. **Humanizer pass.** Run `threads-humanizer` V3: 2026 AI vocab by density, em dashes above the cap (at most one per post, never swapped for a period), stacked rule-of-three triads, generic openers and reveal bridges. Leave the rhythm alone (uniform rhythm wins on Threads; never insert a punch post for variance). Keep the user's real numbers and named entities from the source. 9. **Approval card.** Show: source -> Threads mapping (what became what), the container (single post or N-post thread with per-post char counts), formula used, warmed-tone note, primary goal. Confirm any `---` breaks. 10. **On approval.** Publish via `lib.publish(kind="post"` (single) or `kind="thread"`, `draft_text=<approved>, target_url="https://www.threads.com/", platforms=[<THREADS_PLATFORM_ID>], scheduled_time=<iso_or_None>)`. The wrapper handles Publora / manual / diy routing. Publora auto-splits an over-length draft into a connected thread at paragraph then sentence boundaries.

Native-fit rules (source -> Threads)

  • **LinkedIn post -> Threads:** warm it, cut the polish. Drop the corporate frame

and the humble-brag. The LinkedIn hook is too long and too formal; rewrite it lowercase-casual as a person talking.

  • **X thread -> Threads:** soften the combat tone. A sharp dunk becomes an

invitation to talk. Keep the point, lose the edge that reads cold here.

  • **Blog / newsletter -> Threads:** pick the one human take, lead with it, and end

on a question. Do not

Read more
@sergebulaev
Ships withthreads-skills

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

Stars on GitHub

Momentum

stars in total
52
Star history of sergebulaev/threads-skills on GitHub, a chart by star-history.com

Other skills on threads-skills.

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli13d33k
@iofficeai@iofficeaiInstall Skill

Questions about threads-repurposer.

Which coding agents can use threads-repurposer?
threads-repurposer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.