Skip to content

/x-repurposer

Repurpose existing content into a native X (Twitter) post or thread. Take a LinkedIn post, blog, YouTube script, or newsletter and rewrite it for X: re-hook for the no-fold first line, refit to 280 chars or a thread, strip off-platform artifacts, run the humanizer, publish via

From plugin
x-skills
1779 skills

Claude Code

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

SKILL.md

x-repurposer.SKILL.md
name: x-repurposer
description: "Repurpose existing content into a native X (Twitter) post or thread. Take a LinkedIn post, blog, YouTube script, or newsletter and rewrite it for X: re-hook for the no-fold first line, refit to 280 chars or a thread, strip off-platform artifacts, run the humanizer, publish via Publora on approval. Not for writing from scratch (use x-post-writer or x-thread-builder), not for auditing a draft (use x-humanizer --mode audit)."

X Repurposer

Turn something you already made into a tweet or thread that reads like it was born on X. Repurposing is not copy-paste. A post that killed on LinkedIn will die on X if you paste it: wrong hook, wrong length, wrong rhythm, and artifacts ("link in bio", 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 X.

When to use

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

Not for a blank-page draft (use `x-post-writer` for a tweet, `x-thread-builder` for a thread) and not for reviewing an already-X draft (use `x-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 `x-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 `x-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 / bookmarks) 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 tweet. A teach or a build -> thread (hand structure to `x-thread-builder`'s shapes). A LinkedIn carousel or a listicle -> a thread, one slide per tweet, hook rebuilt. A long video -> a thread that delivers the payoff, not a summary. 4. **Re-hook for X.** X has no "see more" fold: line one must land the whole punch. The source's hook almost never survives; write a new first line using a 2026 X formula (see `../../references/hook-formulas.md`), picked by the goal. 5. **Refit the format.** 280 chars on a standard account (emoji count as 2). One idea per tweet, line breaks as beats. Cut the source's connective tissue; X rewards compression. 6. **Strip off-platform artifacts.** Remove "link in bio", "smash subscribe", "read more below", hashtag walls, @-handles that only exist elsewhere, and any "as I wrote on LinkedIn" throat-clearing. A repurposed post should not admit it was repurposed. 7. **Humanizer pass.** Run the scrub: 2026 AI vocab by density, em dashes above the cap (at most one per tweet, never swapped for a period), stacked rule-of-three triads, generic openers and reveal bridges. Leave a single tweet's rhythm alone; on a thread never insert a punch tweet for variance. Keep the user's real numbers and named entities from the source. Canonical rules: `x-humanizer` V3. 8. **Approval card.** Show: source -> X mapping (what became what), the container (tweet or N-tweet thread), formula used, char counts, primary goal. 9. **On approval.** Publish via `lib.publish(kind="post", draft_text=<approved>, target_url="https://x.com/compose/tweet", platforms=[<X_PLATFORM_ID>], scheduled_time=<iso_or_None>)`. Publora auto-splits an over-length draft into a numbered thread.

Native-fit rules (source -> X)

  • **LinkedIn post -> X:** cut ~40%. LinkedIn tolerates warm-up; X does not. The LinkedIn hook is usually too long; rewrite it.
  • **Blog / newsletter -> X:** pick the single most quotable claim as the hook, then thread the supporting beats. Do not summarize the whole piece.
  • **YouTube script -> X:** lead with the video's payoff, not its intro. "Here's what I found" beats "In this video".
  • **Carousel / listicle -> thread:** one item per tweet, each with its own micro-hook, not a wall.
  • **Instagram / TikTok caption -> X:** strip emoji density and hashtag blocks; X reads them as noise.

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 must stop the scroll on its own. If it needs line two, 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.
  • 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", hashtag walls).
  • ALL CAPS first line for intensity. Carry it with word choice.
  • Em dashes above the cap (more than one in a tweet), or an em dash swapped for a period.
  • "The result?" / "Here's what" reveal bridges and staccato stacks added during the rewrite.
  • Rule-of-thr
Read more
@sergebulaev
Ships withx-skills

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

Stars on GitHub

Momentum

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

Other skills on x-skills.

x-audience-insights
Auto-invoked

x-audience-insights

Read your X (Twitter) audience and niche from real data. Pull a handle's recent tweets (yours or a competitor's) with likes,…

x-content-planner
Auto-invoked

x-content-planner

Generate a weekly X (Twitter) content plan from a theme, audience, and content pillars. Produces per-day recommendations (single…

x-hook-extractor
Auto-invoked

x-hook-extractor

Reverse-engineer the hook from a viral X (Twitter) tweet or thread URL. Identifies which of the 10 canonical 2026 X formulas it…

x-humanizer
Auto-invoked

x-humanizer

Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks,…

x-post-writer
Auto-invoked

x-post-writer

Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point,…

x-profile-optimizer
Auto-invoked

x-profile-optimizer

Audit and rewrite an X (Twitter) profile end-to-end for 2026: bio (160 chars), display name with a searchable keyword, @handle,…

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…

@iofficeai@iofficeaiInstall Skill

Questions about x-repurposer.

Which coding agents can use x-repurposer?
x-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.