X repurposer

Repurpose existing content into a native X (Twitter) post or thread.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit sergebulaev/x-skills/.codex-marketplace/x-skills/skills/x-repurposer#main ~/.claude/skills/x-repurposer

For one project only, change the path to .claude/skills/x-repurposer.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text75 lines
x-repurposer/SKILL.md75 lines5.9 KBpushed 13d agoRawView on GitHub

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.

  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-three lists without specifics.
  • "leverage", "fundamentally", "game-changer", "deep dive".
  • An external link in the tweet body (offer a reply).
  • Meta throat-clearing ("I originally posted this on...").

Resources

  • ../../references/hook-formulas.md - the 11 X formula skeletons to re-hook with
  • ../../references/algorithm-heuristics.md - 2026 X ranking rules (length, timing, signals)

Related skills

  • x-post-writer - write a fresh tweet from scratch
  • x-thread-builder - structure a multi-tweet thread (repurposer hands long builds here)
  • x-humanizer - scrub AI tells, plus --mode audit to review the result
1---
2name: x-repurposer
3description: "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)."
4---
5 
6# X Repurposer
7 
8Turn 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.
9 
10This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for X.
11 
12## When to use
13 
14- "Turn this LinkedIn post into a tweet / thread"
15- "Repurpose my blog post / newsletter / YouTube script for X"
16- "This worked on Threads, adapt it for X"
17- "I have a rough idea in another format, make it native here"
18 
19Not 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`).
20 
21## How it works
22 
23**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.
24 
251. **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.
262. **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.
273. **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.
284. **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.
295. **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.
306. **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.
317. **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.
328. **Approval card.** Show: source -> X mapping (what became what), the container (tweet or N-tweet thread), formula used, char counts, primary goal.
339. **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.
34 
35## Native-fit rules (source -> X)
36 
37- **LinkedIn post -> X:** cut ~40%. LinkedIn tolerates warm-up; X does not. The LinkedIn hook is usually too long; rewrite it.
38- **Blog / newsletter -> X:** pick the single most quotable claim as the hook, then thread the supporting beats. Do not summarize the whole piece.
39- **YouTube script -> X:** lead with the video's payoff, not its intro. "Here's what I found" beats "In this video".
40- **Carousel / listicle -> thread:** one item per tweet, each with its own micro-hook, not a wall.
41- **Instagram / TikTok caption -> X:** strip emoji density and hashtag blocks; X reads them as noise.
42 
43## Hard rules
44 
45Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific rules:
46 
47- Keep the source's **claim and facts** intact. Repurposing changes the delivery, never the meaning or the numbers.
48- The new first line must stop the scroll on its own. If it needs line two, rewrite it.
49- Never paste the source verbatim and trim. Rebuild the hook and rhythm from the spine.
50- One specific number where the source offers one. Keep it.
51- Do not hard-sell the user's product. One natural mention max.
52 
53## Anti-patterns (skill will refuse)
54 
55- Copy-pasting the source with light edits (that is not repurposing).
56- Keeping the source platform's artifacts ("link in bio", "smash subscribe", hashtag walls).
57- ALL CAPS first line for intensity. Carry it with word choice.
58- Em dashes above the cap (more than one in a tweet), or an em dash swapped for a period.
59- "The result?" / "Here's what" reveal bridges and staccato stacks added during the rewrite.
60- Rule-of-three lists without specifics.
61- "leverage", "fundamentally", "game-changer", "deep dive".
62- An external link in the tweet body (offer a reply).
63- Meta throat-clearing ("I originally posted this on...").
64 
65## Resources
66 
67- `../../references/hook-formulas.md` - the 11 X formula skeletons to re-hook with
68- `../../references/algorithm-heuristics.md` - 2026 X ranking rules (length, timing, signals)
69 
70## Related skills
71 
72- `x-post-writer` - write a fresh tweet from scratch
73- `x-thread-builder` - structure a multi-tweet thread (repurposer hands long builds here)
74- `x-humanizer` - scrub AI tells, plus `--mode audit` to review the result
75 

Discussion

Alternatives

Also in Posting & scheduling
Linkedin comment drafterDraft a LinkedIn comment on someone else's post from its URL, or reshare (repost) it to your feed with optional commentary. Use when the user pastes a post URL and asks to comment, engage, be first commenter, or repost with their thoughts. Produces 1-3 variants in the user's voice, picks a reaction, and publishes via Publora on approval. Not for replying to existing comments (use linkedin-reply-handler).Marketing · MITLinkedin content plannerGenerate a 7-day LinkedIn content plan from a theme, audience, and pillars. Produces per-day post pillar, format, hook type, CTA, posting time, daily comment targets, and a weekly inbound-readiness check. Use when the user wants to plan a week or month of content, not draft a single post (use linkedin-post-writer).Marketing · MITLinkedin employee advocacyStand up and run a LinkedIn employee advocacy program for a marketing or sales team. Covers 14-day launch playbook, brand-guideline governance, per-post time budget, cadence benchmarks, and team ROI (reach, engagement, pipeline). Triggers on "employee advocacy", "get the team posting", "scale LinkedIn across team", "advocacy ROI". Not for planning one person's own calendar (use linkedin-content-planner).Marketing · MITInstagram Audience InsightsRead 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).Marketing · MIT