70 added, 144 removed. Audit A to A.
---
name: crosspost
description: 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.
origin: ECC
---
# Crosspost
- Distribute content across multiple social platforms with platform-native adaptation.
+ Distribute content across platforms without turning it into the same fake post in four costumes.
## 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"
+ - the user wants to publish the same underlying idea across multiple platforms
+ - a launch, update, release, or essay needs platform-specific versions
+ - the user says "crosspost", "post this everywhere", or "adapt this for X and LinkedIn"
## Core Rules
- 1. **Never post identical content cross-platform.** Each platform gets a native adaptation.
- 2. **Primary platform first.** Post to the main platform, then adapt for others.
- 3. **Respect platform conventions.** Length limits, formatting, link handling all differ.
- 4. **One idea per post.** If the source content has multiple ideas, split across posts.
- 5. **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 |
- | LinkedIn | 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 |
+ 1. Do not publish identical copy across platforms.
+ 2. Preserve the author's voice across platforms.
+ 3. Adapt for constraints, not stereotypes.
+ 4. One post should still be about one thing.
+ 5. Do not invent a CTA, question, or moral if the source did not earn one.
## 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 `x-api` skill for X
- - 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]
+ ### Step 1: Start with the Primary Version
- [Link]
- ```
+ Pick the strongest source version first:
+ - the original X post
+ - the original article
+ - the launch note
+ - the thread
+ - the memo or changelog
- **LinkedIn version:**
- ```
- Excited to share: we just launched [feature] at [Company].
+ Use `content-engine` first if the source still needs voice shaping.
- Here's why it matters:
+ ### Step 2: Capture the Voice Fingerprint
- [2-3 short paragraphs with context]
+ Before adapting, note:
+ - how blunt or explanatory the source is
+ - whether the source uses fragments, lists, or longer transitions
+ - whether the source uses parentheses
+ - whether the source avoids questions, hashtags, or CTA language
- [Takeaway for the audience]
+ The adaptation should preserve that fingerprint.
- [Link]
- ```
+ ### Step 3: Adapt by Platform Constraint
- **Threads version:**
- ```
- just shipped something cool — [feature]
+ ### X
- [casual explanation of what it does]
+ - keep it compressed
+ - lead with the sharpest claim or artifact
+ - use a thread only when a single post would collapse the argument
+ - avoid hashtags and generic filler
- link in bio
- ```
+ ### LinkedIn
- ### Source: Technical Insight
+ - add only the context needed for people outside the niche
+ - do not turn it into a fake founder-reflection post
+ - do not add a closing question just because it is LinkedIn
+ - do not force a polished "professional tone" if the author is naturally sharper
- **X version:**
- ```
- TIL: [specific technical insight]
+ ### Threads
- [Why it matters in one sentence]
- ```
+ - keep it readable and direct
+ - do not write fake hyper-casual creator copy
+ - do not paste the LinkedIn version and shorten it
- **LinkedIn version:**
- ```
- A pattern I've been using that's made a real difference:
+ ### Bluesky
- [Technical insight with professional framing]
+ - keep it concise
+ - preserve the author's cadence
+ - do not rely on hashtags or feed-gaming language
- [How it applies to teams/orgs]
+ ## Posting Order
- #relevantHashtag
- ```
+ Default:
+ 1. post the strongest native version first
+ 2. adapt for the secondary platforms
+ 3. stagger timing only if the user wants sequencing help
- ## API Integration
+ Do not add cross-platform references unless useful. Most of the time, the post should stand on its own.
- ### Batch Crossposting Service (Example Pattern)
- If using a crossposting service (e.g., Postbridge, Buffer, or a custom API), the pattern looks like:
+ ## Banned Patterns
- ```python
- import os
- import requests
+ Delete and rewrite any of these:
+ - "Excited to share"
+ - "Here's what I learned"
+ - "What do you think?"
+ - "link in bio" unless that is literally true
+ - "not X, just Y"
+ - generic "professional takeaway" paragraphs that were not in the source
- resp = requests.post(
- "https://api.postbridge.io/v1/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}
- }
- }
- )
- ```
+ ## Output Format
- ### Manual Posting
- Without Postbridge, post to each platform using its native API:
- - X: Use `x-api` skill patterns
- - LinkedIn: LinkedIn API v2 with OAuth 2.0
- - Threads: Threads API (Meta)
- - Bluesky: AT Protocol API
+ Return:
+ - the primary platform version
+ - adapted variants for each requested platform
+ - a short note on what changed and why
+ - any publishing constraint the user still needs to resolve
## 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
+ Before delivering:
+ - each version reads like the same author under different constraints
+ - no platform version feels padded or sanitized
+ - no copy is duplicated verbatim across platforms
+ - any extra context added for LinkedIn or newsletter use is actually necessary
## Related Skills
- - `content-engine` — Generate platform-native content
- - `x-api` — X/Twitter API integration
+ - `content-engine` for voice capture and source shaping
+ - `x-api` for X publishing workflows