---
name: crossposting_workflow
description: Turn one idea into platform-native posts for X, Instagram Reels, TikTok, and YouTube Shorts — format-adaptation rules, per-platform captions/hashtags, and a repurposing checklist. Use when asked to cross-post, adapt content across platforms, or build a repurposing pipeline.
---

# Crossposting Workflow

## Purpose

Take a single master idea and ship it as four native-feeling posts — X (Twitter), Instagram Reels, TikTok, YouTube Shorts — without the "lazy cross-post" penalty. The rule of the skill: **one idea, four natives**, never one post cloned four times.

## Workflow

1. **Define the master idea** (one sentence + core insight + proof/asset). Also name the master asset: text, image, or video.
2. **Pick the platform order.** Default: X first (text travels fastest, cheapest to revise), then the three vertical-video platforms. If the master is video-first, start with TikTok/Shorts and derive the X text post last.
3. **Adapt per platform** using `references/platform-specs.md` (limits) and `references/adaptation-playbook.md` (rules, templates, worked example):
   - **X:** compress to ≤280 chars (or a thread ≤25 posts); 0–2 hashtags; images 1200×675; video ≤2:20; external link goes in the *first reply*, not the post.
   - **Instagram Reels:** 1080×1920, ≤3 min, keep key content in the center 1080×1420 safe zone; caption 150–300 chars with a strong first line; 3–5 hashtags; custom cover.
   - **TikTok:** 1080×1920, hook in the first 100 chars of caption; 3–5 niche hashtags (skip generic #fyp); re-upload natively — never post a file carrying another platform's watermark.
   - **YouTube Shorts:** 9:16, ≤3 min (auto-classified); title 40–60 chars; 3–5 hashtags in the description (never more than 15, or YouTube ignores all of them).
4. **Re-cut video per platform** when length demands it: a 2-minute master becomes a 25–35s TikTok, a ≤90s Reel, a ≤60s Short, and a 30s X clip or a text thread. Different hooks per platform; never the same first 3 seconds everywhere.
5. **Validate** every draft with the checker:
   ```bash
   python3 ~/workspace/skills/crossposting-workflow/bin/crosspost_check.py --plan plan.json
   ```
   See `references/adaptation-playbook.md` for the plan schema. Fix any FAIL before publishing.
6. **Publish natively, staggered.** Upload each version in that platform's app/scheduler. Space posts 2–4 hours apart so one audience doesn't see the same beat four times in a row.
7. **Run the repurposing checklist** (the skill's deliverable for a finished idea):
   - [ ] One master idea, named and stored
   - [ ] Four platform-native drafts (text + media + captions + hashtags)
   - [ ] `crosspost_check.py` passes on all four
   - [ ] Video re-exported per platform (no cross-platform watermarks)
   - [ ] First-reply links prepared for X
   - [ ] Covers/thumbnails prepared for Reels (1080×1920)
   - [ ] Publish order + times decided

## Output Contract

Return, per idea: the four platform drafts (ready-to-paste copy + media spec for each), the checklist status, and the validator result. Also deliver the machine-readable `plan.json` when the user runs a pipeline.

## Operating Rules

1. Never publish a draft the validator flags FAIL — fix or cut.
2. Never copy-paste one caption across all four platforms; each gets its own voice (X: terse, TikTok: conversational question, Reels: first-line hook, Shorts: keyword-led).
3. Never invent platform specs — the limits in `references/platform-specs.md` were researched 2026-09-20 with sources. If a limit looks stale, re-verify before use.
4. Hashtag discipline: X 0–2, Reels/TikTok/Shorts 3–5 niche tags each, and never identical blocks.
5. All claims about "reach penalties" or "the algorithm prefers X" must stay in the evidence-framed language of the playbook — they are reported observations, not guarantees.
