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 LinkedIn post

Linkedin repurposer

by sergebulaev · MIT license · ★ 3,059 on GitHub · updated Sep 18

Linkedin repurposer cover

Repurpose existing content into a native LinkedIn post. Take a tweet, thread, YouTube video, blog, or newsletter and rebuild it for LinkedIn: re-hook before the fold, expand to the 900 to 1300 char sweet spot, add whitespace and a CTA,…

---
name: linkedin-repurposer
description: "Repurpose existing content into a native LinkedIn post. Take a tweet, thread, YouTube video, blog, or newsletter and rebuild it for LinkedIn: re-hook before the fold, expand to the 900 to 1300 char sweet spot, add whitespace and a CTA, move links to the first comment, run the humanizer, publish via Publora on approval. Not for writing from scratch (use linkedin-post-writer), not for auditing a draft (use linkedin-humanizer --mode audit)."
---

# LinkedIn Repurposer

Turn something you already made into a post that reads like it was written for LinkedIn. Repurposing is not copy-paste. A tweet that flew on X will flop pasted into LinkedIn: too short, no whitespace, wrong rhythm, and a link in the body that tanks your reach.

This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for LinkedIn's 2026 algorithm.

## When to use

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

Overview

Turn something you already made into a post that reads like it was written for LinkedIn. Repurposing is not copy-paste. A tweet that flew on X will flop pasted into LinkedIn: too short, no whitespace, wrong rhythm, and a link in the body that tanks your reach.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/linkedin-skills --skill linkedin-repurposer -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/sergebulaev/linkedin-skills/tar.gz/5c6192db54db \ | tar -xz -C ~/.claude/skills --strip-components=4 linkedin-skills-5c6192db54db/.codex-marketplace/linkedin-skills/skills/linkedin-repurposer
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/632988714173c5fe643e/linkedin-repurposer.zip" -OutFile "$env:TEMP\linkedin-repurposer.zip"; Expand-Archive "$env:TEMP\linkedin-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.md6.5 KB
Read the files here
sergebulaev/5c6192d1 file
Shared references4SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text76 lines

LinkedIn Repurposer

Turn something you already made into a post that reads like it was written for LinkedIn. Repurposing is not copy-paste. A tweet that flew on X will flop pasted into LinkedIn: too short, no whitespace, wrong rhythm, and a link in the body that tanks your reach.

This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for LinkedIn's 2026 algorithm.

When to use

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

Not for a blank-page draft (use linkedin-post-writer) and not for reviewing a finished LinkedIn draft (use linkedin-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 linkedin-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules. If ../../references/story-bank.md has filled: yes, load it too and take concrete details (numbers, dates, named projects) from there instead of asking mid-draft. Never invent a figure that is not in it; if the bank has nothing that fits, ask the user or offer linkedin-interviewer.

  1. Take the source. Any format: a tweet or thread, a video or script, a blog paragraph, a caption, a transcript, a bullet list, a link to read. Ask for the source and the goal (comments / reposts / likes / saves) if not given.
  2. Extract the spine. Strip the source platform's shell and pull out the one claim, story, or number worth keeping. Repurposing fails when it keeps the words instead of the point.
  3. Re-hook for LinkedIn. The hook must land in the first 210 characters, before the "...see more" fold. The source's hook rarely survives; write a new first line using one of the 20 formulas in ../../references/hook-formulas.md, picked by the goal.
  4. Expand to LinkedIn length. X compresses; LinkedIn breathes. Grow the spine into the 900 to 1300 char sweet spot: short paragraphs, double line breaks between ideas, one concrete detail per beat. A dense tweet becomes 4 to 6 short paragraphs, not a wall.
  5. Add the LinkedIn shape. Whitespace between ideas, a moment of real stakes or vulnerability (pure-insight posts do not land in 2026), and one clear closing question or CTA.
  6. Fix links and artifacts. Move any external link to the first comment (in-body links suppress reach). Strip off-platform artifacts: hashtag walls, "link in bio", "smash subscribe", X @-handles, "as I tweeted" throat-clearing. 0 to 2 hashtags at the end.
  7. Humanizer pass. Run the scrub: 2026 AI vocab by density, em dashes above the cap (about one per 100 words), stacked rule-of-three triads, generic openers and reveal bridges. Keep the user's real numbers and named entities from the source.
  8. Approval card. Show: source -> LinkedIn mapping (what became what), formula used, char count, suggested posting window (Tue/Wed/Thu 7:30 to 9:00 AM local), the link-in-first-comment note.
  9. On approval. Publish via lib.publish(kind="post", draft_text=<approved>, target_url="https://www.linkedin.com/post/new/", platforms=[{"platform":"linkedin","platformId":<id>}], scheduled_time=<iso_or_None>). The wrapper handles Publora / manual / diy routing. If the user reconsiders after approving, call lib.unpublish(post_group_id=<postGroupId from the response>) to cancel it before it goes out. On the publora tier the post is already queued, so the dashboard is otherwise the only way back.

Native-fit rules (source -> LinkedIn)

  • Tweet -> LinkedIn: expand, do not paste. One tweet is a hook; grow the argument underneath it with whitespace.
  • X thread -> LinkedIn: unroll into one flowing post, not a numbered list. Keep the best line as the hook.
  • YouTube video / script -> LinkedIn: lead with the payoff, then the story of how you got there. Link the video in the first comment.
  • Blog / newsletter -> LinkedIn: pick the single most quotable claim as the hook, then the one story that proves it. Do not summarize the whole piece.
  • Instagram / TikTok caption -> LinkedIn: strip emoji density and hashtag blocks; add the professional stakes LinkedIn rewards.

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 hook must land in the first 210 characters, before the fold.
  • Never paste the source and trim. Rebuild the hook, length, and rhythm from the spine.
  • No external link in the post body. Offer to put it in the first comment.
  • Include at least one moment of real stakes or vulnerability. Keep the source's real numbers and named entities.
  • Do not name-drop the user's product as self-promo. 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).
  • Shipping a tweet-length post with no whitespace or expansion.
  • All-caps first line ("THIS CHANGED EVERYTHING").
  • Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
  • Rule-of-three lists without receipts.
  • "leverage", "fundamentally", "game-changer", "deep dive".
  • External links in the body.
  • Meta throat-clearing ("I originally posted this on...").

Resources

  • ../../references/hook-formulas.md - the 20 formula skeletons to re-hook with
  • ../../references/algorithm-heuristics.md - 2026 posting rules (timing, format, length)
  • linkedin-post-writer - write a fresh post from scratch
  • linkedin-humanizer - scrub AI tells, plus --mode audit to review the result
  • linkedin-hook-extractor - reverse-engineer a hook from a post you admire
1---
2name: linkedin-repurposer
3description: "Repurpose existing content into a native LinkedIn post. Take a tweet, thread, YouTube video, blog, or newsletter and rebuild it for LinkedIn: re-hook before the fold, expand to the 900 to 1300 char sweet spot, add whitespace and a CTA, move links to the first comment, run the humanizer, publish via Publora on approval. Not for writing from scratch (use linkedin-post-writer), not for auditing a draft (use linkedin-humanizer --mode audit)."
4---
5 
6# LinkedIn Repurposer
7 
8Turn something you already made into a post that reads like it was written for LinkedIn. Repurposing is not copy-paste. A tweet that flew on X will flop pasted into LinkedIn: too short, no whitespace, wrong rhythm, and a link in the body that tanks your reach.
9 
10This skill transforms, it does not generate. It reads your source, keeps the idea, and rebuilds the delivery for LinkedIn's 2026 algorithm.
11 
12## When to use
13 
14- "Turn this tweet / thread into a LinkedIn post"
15- "Repurpose my YouTube video / blog / newsletter for LinkedIn"
16- "This worked on Threads, adapt it for LinkedIn"
17- "I have a rough idea in another format, make it native here"
18 
19Not for a blank-page draft (use `linkedin-post-writer`) and not for reviewing a finished LinkedIn draft (use `linkedin-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 `linkedin-humanizer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules. If `../../references/story-bank.md` has `filled: yes`, load it too and take concrete details (numbers, dates, named projects) from there instead of asking mid-draft. Never invent a figure that is not in it; if the bank has nothing that fits, ask the user or offer `linkedin-interviewer`.
24 
251. **Take the source.** Any format: a tweet or thread, a video or script, a blog paragraph, a caption, a transcript, a bullet list, a link to read. Ask for the source and the goal (comments / reposts / likes / saves) if not given.
262. **Extract the spine.** Strip the source platform's shell and pull out the one claim, story, or number worth keeping. Repurposing fails when it keeps the words instead of the point.
273. **Re-hook for LinkedIn.** The hook must land in the first 210 characters, before the "...see more" fold. The source's hook rarely survives; write a new first line using one of the 20 formulas in `../../references/hook-formulas.md`, picked by the goal.
284. **Expand to LinkedIn length.** X compresses; LinkedIn breathes. Grow the spine into the 900 to 1300 char sweet spot: short paragraphs, double line breaks between ideas, one concrete detail per beat. A dense tweet becomes 4 to 6 short paragraphs, not a wall.
295. **Add the LinkedIn shape.** Whitespace between ideas, a moment of real stakes or vulnerability (pure-insight posts do not land in 2026), and one clear closing question or CTA.
306. **Fix links and artifacts.** Move any external link to the first comment (in-body links suppress reach). Strip off-platform artifacts: hashtag walls, "link in bio", "smash subscribe", X @-handles, "as I tweeted" throat-clearing. 0 to 2 hashtags at the end.
317. **Humanizer pass.** Run the scrub: 2026 AI vocab by density, em dashes above the cap (about one per 100 words), stacked rule-of-three triads, generic openers and reveal bridges. Keep the user's real numbers and named entities from the source.
328. **Approval card.** Show: source -> LinkedIn mapping (what became what), formula used, char count, suggested posting window (Tue/Wed/Thu 7:30 to 9:00 AM local), the link-in-first-comment note.
339. **On approval.** Publish via `lib.publish(kind="post", draft_text=<approved>, target_url="https://www.linkedin.com/post/new/", platforms=[{"platform":"linkedin","platformId":<id>}], scheduled_time=<iso_or_None>)`. The wrapper handles Publora / manual / diy routing. If the user reconsiders after approving, call `lib.unpublish(post_group_id=<postGroupId from the response>)` to cancel it before it goes out. On the publora tier the post is already queued, so the dashboard is otherwise the only way back.
34 
35## Native-fit rules (source -> LinkedIn)
36 
37- **Tweet -> LinkedIn:** expand, do not paste. One tweet is a hook; grow the argument underneath it with whitespace.
38- **X thread -> LinkedIn:** unroll into one flowing post, not a numbered list. Keep the best line as the hook.
39- **YouTube video / script -> LinkedIn:** lead with the payoff, then the story of how you got there. Link the video in the first comment.
40- **Blog / newsletter -> LinkedIn:** pick the single most quotable claim as the hook, then the one story that proves it. Do not summarize the whole piece.
41- **Instagram / TikTok caption -> LinkedIn:** strip emoji density and hashtag blocks; add the professional stakes LinkedIn rewards.
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 hook must land in the first 210 characters, before the fold.
49- Never paste the source and trim. Rebuild the hook, length, and rhythm from the spine.
50- No external link in the post body. Offer to put it in the first comment.
51- Include at least one moment of real stakes or vulnerability. Keep the source's real numbers and named entities.
52- Do not name-drop the user's product as self-promo. One natural mention max.
53 
54## Anti-patterns (skill will refuse)
55 
56- Copy-pasting the source with light edits (that is not repurposing).
57- Keeping the source platform's artifacts ("link in bio", "smash subscribe", hashtag walls).
58- Shipping a tweet-length post with no whitespace or expansion.
59- All-caps first line ("THIS CHANGED EVERYTHING").
60- Em dashes above the cap (more than about one per 100 words), or an em dash swapped for a period.
61- Rule-of-three lists without receipts.
62- "leverage", "fundamentally", "game-changer", "deep dive".
63- External links in the body.
64- Meta throat-clearing ("I originally posted this on...").
65 
66## Resources
67 
68- `../../references/hook-formulas.md` - the 20 formula skeletons to re-hook with
69- `../../references/algorithm-heuristics.md` - 2026 posting rules (timing, format, length)
70 
71## Related skills
72 
73- `linkedin-post-writer` - write a fresh post from scratch
74- `linkedin-humanizer` - scrub AI tells, plus `--mode audit` to review the result
75- `linkedin-hook-extractor` - reverse-engineer a hook from a post you admire
76 
View all files on GitHub →

Details

Updated
Sep 18, 2026
License
MIT
Stars on the repo
★ 3,059
Checked
Source
sergebulaev/linkedin-skills ↗
Creator
sergebulaev · 77 listings
View creator

Similar skills

See all →
SkillTurn public social videos, transcripts, postsContent repurposingScrapeCreators/social-media-research-skills · by ScrapeCreatorsUse when the user wants to turn public social videos, transcripts, posts, or creator research into reusable content assets such as LinkedIn posts, X threads, short-form scripts, newsletters, blog outlines, carousels, or content calendars.★ 2.6k GitHub starsSkillRepurpose and atomize content across platforms and formatsContent repurposingOpenClaudia/openclaudia-skills · by OpenClaudiaRepurpose and atomize content across platforms and formats. Use when the user says "repurpose this", "turn this into", "convert blog to", "make a thread from", "content atomization", "repurpose content", "turn this article into social posts", or asks about adapting content from one format to another.★ 705 GitHub starsSkillAn approved campaign, launch, research findingCross platform distributionOotto-AI/claude-content-skills · by Ootto-AIUse when an approved campaign, launch, research finding, or asset needs a deliberate plan across several social channels. Trigger phrases include "adapt this for LinkedIn and X", "where should this campaign go?", "make a distribution plan", "repurpose this without duplicating it", and "what is each platform's role?". Do not use this to invent a campaign strategy, bulk-post identical copy, or schedule a calendar; use campaign-brief for the strategic source, content-repurposer for asset transformations, and content-calendar for dates.★ 139 GitHub starsSkillVideo repurposing pipeline for multi-platform clipVideo Clipspawbytes/skill-suites · by pawbytesVideo repurposing pipeline for multi-platform clip extraction. Use when the user requests to 'extract clips', 'repurpose video', 'create clips from video', or 'clip video for social'.★ 114 GitHub starsSkillDistribute content across channels for maximum reachContent distributionLeadMagic/gtm-skills · by LeadMagicDistribute content across channels for maximum reach — multi-platform repurposing, syndication, paid amplification, email distribution, and partner promotion. Use when getting content in front of an audience, repurposing content, or building a distribution engine. Triggers on: "content distribution", "promote content", "repurpose content", "syndication", "amplify content", "get more eyes on", or any content amplification request.★ 62 GitHub starsSkillRepurpose existing content into a native Facebook Page postFacebook Repurposersergebulaev/facebook-skills · by sergebulaevRepurpose existing content into a native Facebook Page post. Take a LinkedIn post, X thread, blog, or newsletter and rewrite it for a Page: warm the tone, lead with a standalone claim before the "See more" fold, move links to the first comment, strip off-platform artifacts (hashtag walls, "link in bio", @-handles), then humanize and publish via Publora on approval. Not for writing from scratch (use fb-post-writer), auditing a draft (use fb-humanizer), or comment replies (use fb-engagement-drafter).★ 49 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