Crosspost

SkillAI & models

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Crosspost skill

What this skill tells your AI

The instructions your AI receives, as published by jamkris/everything-gemini-code in skills/crosspost/SKILL.md and read by ahel’s review.

Distribute content across multiple social platforms with platform-native adaptation.

When to Use

  • 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

  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

PlatformMax LengthLink HandlingHashtagsMedia
X280 chars (4000 for Premium)Counted in lengthMinimal (1-2 max)Images, video, GIFs
LinkedIn3000 charsNot counted in length3-5 relevantImages, video, docs, carousels
Threads500 charsSeparate link attachmentNone typicalImages, video
Bluesky300 charsVia 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 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]

[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 x-api skill patterns
  • 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

  • content-engine — Generate platform-native content
  • x-api — X/Twitter API integration

Signals

GitHub stars
87
Forks
22
Last commit
May 2026
Hacker News mentions
1
Advanced
Catalog kind
skill
Gateway key
crosspost-jamkris
Source
github.com/jamkris/everything-gemini-code