Skillshub crosspost
Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.
git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/affaan-m/everything-claude-code/crosspost" ~/.claude/skills/comeonoliver-skillshub-crosspost && rm -rf "$T"
skills/affaan-m/everything-claude-code/crosspost/SKILL.mdCrosspost
Distribute content across multiple social platforms with platform-native adaptation.
When to Activate
- User wants to post content to multiple platforms
- Publishing announcements, launches, or updates across social media
- Repurposing a post from one platform to others
- User says "crosspost", "post everywhere", "share on all platforms", or "distribute this"
Core Rules
- Never post identical content cross-platform. Each platform gets a native adaptation.
- Primary platform first. Post to the main platform, then adapt for others.
- Respect platform conventions. Length limits, formatting, link handling all differ.
- One idea per post. If the source content has multiple ideas, split across posts.
- Attribution matters. If crossposting someone else's content, credit the source.
Platform Specifications
| Platform | Max Length | Link Handling | Hashtags | Media |
|---|---|---|---|---|
| X | 280 chars (4000 for Premium) | Counted in length | Minimal (1-2 max) | Images, video, GIFs |
| 3000 chars | Not counted in length | 3-5 relevant | Images, video, docs, carousels | |
| Threads | 500 chars | Separate link attachment | None typical | Images, video |
| Bluesky | 300 chars | Via facets (rich text) | None (use feeds) | Images |
Workflow
Step 1: Create Source Content
Start with the core idea. Use
content-engine skill for high-quality drafts:
- Identify the single core message
- Determine the primary platform (where the audience is biggest)
- Draft the primary platform version first
Step 2: Identify Target Platforms
Ask the user or determine from context:
- Which platforms to target
- Priority order (primary gets the best version)
- Any platform-specific requirements (e.g., LinkedIn needs professional tone)
Step 3: Adapt Per Platform
For each target platform, transform the content:
X adaptation:
- Open with a hook, not a summary
- Cut to the core insight fast
- Keep links out of main body when possible
- Use thread format for longer content
LinkedIn adaptation:
- Strong first line (visible before "see more")
- Short paragraphs with line breaks
- Frame around lessons, results, or professional takeaways
- More explicit context than X (LinkedIn audience needs framing)
Threads adaptation:
- Conversational, casual tone
- Shorter than LinkedIn, less compressed than X
- Visual-first if possible
Bluesky adaptation:
- Direct and concise (300 char limit)
- Community-oriented tone
- Use feeds/lists for topic targeting instead of hashtags
Step 4: Post Primary Platform
Post to the primary platform first:
- Use
skill for Xx-api - Use platform-specific APIs or tools for others
- Capture the post URL for cross-referencing
Step 5: Post to Secondary Platforms
Post adapted versions to remaining platforms:
- Stagger timing (not all at once — 30-60 min gaps)
- Include cross-platform references where appropriate ("longer thread on X" etc.)
Content Adaptation Examples
Source: Product Launch
X version:
We just shipped [feature]. [One specific thing it does that's impressive] [Link]
LinkedIn version:
Excited to share: we just launched [feature] at [Company]. Here's why it matters: [2-3 short paragraphs with context] [Takeaway for the audience] [Link]
Threads version:
just shipped something cool — [feature] [casual explanation of what it does] link in bio
Source: Technical Insight
X version:
TIL: [specific technical insight] [Why it matters in one sentence]
LinkedIn version:
A pattern I've been using that's made a real difference: [Technical insight with professional framing] [How it applies to teams/orgs] #relevantHashtag
API Integration
Batch Crossposting Service (Example Pattern)
If using a crossposting service (e.g., Postbridge, Buffer, or a custom API), the pattern looks like:
import os import requests resp = requests.post( "https://your-crosspost-service.example/api/posts", headers={"Authorization": f"Bearer {os.environ['POSTBRIDGE_API_KEY']}"}, json={ "platforms": ["twitter", "linkedin", "threads"], "content": { "twitter": {"text": x_version}, "linkedin": {"text": linkedin_version}, "threads": {"text": threads_version} } }, timeout=30, ) resp.raise_for_status()
Manual Posting
Without Postbridge, post to each platform using its native API:
- X: Use
skill patternsx-api - LinkedIn: LinkedIn API v2 with OAuth 2.0
- Threads: Threads API (Meta)
- Bluesky: AT Protocol API
Quality Gate
Before posting:
- Each platform version reads naturally for that platform
- No identical content across platforms
- Length limits respected
- Links work and are placed appropriately
- Tone matches platform conventions
- Media is sized correctly for each platform
Related Skills
— Generate platform-native contentcontent-engine
— X/Twitter API integrationx-api