Agent skill · Create

cross-post

Turn one story, blog post, announcement, or idea into native-feeling drafts for multiple platforms at once — LinkedIn, X (Twitter), Instagram, Facebook, Thre…

frontmatter · SKILL.md+
name: cross-post
description: >
  Turn one story, blog post, announcement, or idea into native-feeling drafts for
  multiple platforms at once — LinkedIn, X (Twitter), Instagram, Facebook, Threads,
  Bluesky, and Mastodon — adapting tone, length, structure, hashtags, and format per
  platform instead of copy-pasting one caption everywhere. Use when someone says
  "cross-post", "post this everywhere", "turn this blog post into social posts", or
  "adapt this for LinkedIn and X". Each draft comes with a one-line note explaining
  what changed for that platform and why. Reads social-context.md for brand voice,
  audience, and default platform setup so every draft sounds like the same person
  speaking each platform's dialect.
metadata:
  version: 1.0.0
  category: Create
  topics: [cross-posting, linkedin, x, instagram, facebook]
  examplePrompt: "Turn https://blog.example.com/launch into posts for LinkedIn and X"

Given one source — a URL, pasted text, or a raw idea — produce a native draft per platform, each shaped for how that platform actually reads, with a one-line rationale per draft.

Context

Read social-context.md (also check .agents/social-context.md) before drafting. You need:

  • Brand voice: register, person ("I" vs "we"), emoji policy, banned phrases
  • Audience per platform, if specified — the LinkedIn reader and the Bluesky reader are rarely the same person
  • ## Platforms: the default platform list when the user does not name targets

If the file is missing, offer to run the social-context skill first — but do not block. Ask two or three quick questions inline (Which platforms? Personal voice or company voice? Anything off-limits?) and proceed.

Workflow

  1. Ingest the source. Fetch the URL or read the pasted text in full — the best social material is often a buried aside, not the headline. If it is only an idea, ask one clarifying question at most, then work with what you have.
  2. Extract the ONE core claim plus 2–3 supporting points. Write these down and show them before drafting. Every platform draft argues the same claim; what varies is how. If you cannot state the claim in one sentence, the source is not ready — say so and propose the sharpest available angle. Also harvest the receipts: any number, quote, or before/after in the source, because those survive adaptation better than prose.
  3. Confirm target platforms. Use the user's list if given; otherwise default to ## Platforms from social-context; otherwise ask. Do not silently produce all seven — an unwanted Mastodon draft is noise, not thoroughness.
  4. Draft each platform natively, from the claim — not from another draft. These are siblings, not truncations of each other:
    • LinkedIn — hook line that survives the ~200-char fold, short paragraphs with whitespace, a professional lesson or takeaway, end on a question or a crisp close. Link in the post is acceptable; many prefer first comment — follow social-context if it says.
    • X — decide single post vs thread by weight: one claim + one punch fits a single ≤280 post; a claim with supporting evidence becomes a thread where the first tweet works alone. No hashtags; one link max, at the end.
    • Instagram caption — first ~125 chars carry the hook (visible before "more"), then a story-shaped caption; note what image or carousel should accompany it. Hashtag block (3–8, specific not generic) after a spacer. No bare URLs — say where the link lives.
    • Facebook — conversational, first-person, slightly longer is fine; links unfurl well, so include one. Write like you are telling a friend group, not broadcasting.
    • Threads — casual, lowercase-friendly if on-voice, ≤500 chars, ends with something reply-able. Hashtags off.
    • Bluesky — ≤300 chars, wry and plainspoken; the culture rewards understatement and punishes marketing-speak hardest here.
    • Mastodon — ≤500 chars, sincere and direct; add a CW line when the topic warrants (politics, health, spoilers); CamelCase multi-word hashtags for screen readers.
  5. Write the per-draft rationale. One line under each draft: what you changed for this platform and why ("compressed to the stat because X rewards one sharp number", "led with the customer story because LinkedIn's fold buries anything slower"). The rationale teaches the user the platform, not just this post.
  6. Voice-check the set. Read all drafts in a row and hold them to three tests:
    • Same person, different rooms — if any draft could not have been written by the voice in social-context, revise it.
    • No verbatim repeats — kill any phrase that appears word-for-word in three or more drafts; siblings, not clones.
    • Claim intact — every draft still argues the core claim from step 2; a draft that drifted into a different point gets rewritten, not kept.
  7. Length-check against the hard caps. Count characters on X, Threads, Bluesky, and Mastodon drafts and trim to fit — never by amputating the ending, always by cutting the weakest middle clause.
  8. Flag gaps honestly. If a platform is a poor fit for this story (a B2B pricing memo on Instagram), include the draft but say so in its rationale rather than forcing false enthusiasm — the user may still want it, but they should not be surprised when it underperforms.

Quality bar

Platform Length Structure Hashtags Links
LinkedIn ≤3,000 chars; hook in first ~200 Short paragraphs, whitespace 0–3, end only In post or first comment
X ≤280, or thread of 3–7 Hook tweet stands alone None One, final position
Instagram Hook in first ~125 chars Caption + hashtag block 3–8, specific No bare URLs
Facebook 1–3 short paragraphs Conversational 0–2 Yes, unfurls
Threads ≤500 chars Casual, reply-bait close None Sparingly
Bluesky ≤300 chars Plain, wry 0–2 Yes
Mastodon ≤500 chars Sincere; CW etiquette CamelCase, 1–3 Yes
  • Every draft must contain the core claim; no draft may contradict another.
  • Numbers and concrete nouns survive adaptation; adjectives do not have to.
  • Never pad a short-form draft to feel "complete" — Bluesky at 180 chars beats Bluesky at 300.
  • Hooks differ per platform: reusing the same first line on LinkedIn and X wastes the one variable that matters most.
  • Hashtags are platform culture, not decoration: Instagram expects them, X and Threads punish them, Mastodon wants them CamelCase.
  • Emoji follow the social-context policy; when in doubt, LinkedIn and Mastodon get fewer, Instagram and Threads tolerate more.
  • Thread decisions are structural: only thread on X when there are 3+ distinct beats — a two-tweet thread is a long tweet that lost its nerve.

Deliverable

Return, in order:

  1. A two-line summary: the core claim in one sentence, and the platforms covered.
  2. One section per platform: a heading, the ready-to-copy draft in a fenced block, and the one-line rationale beneath it.
  3. Character counts on every draft with a hard cap (X, Threads, Bluesky, Mastodon), shown as (214/280).

Nothing else — end there.

Related skills