← library

Marketing · v2.0.0

X Thread Engine

Drafts a numbered X thread that does not sound like LinkedIn. Hook, proof, closer. A single-post cut. Alt-text / image prompts if you want a frame. Voice is dry and specific — no hashtags unless asked, no emoji. If a line is too hot, the engine flags ratio bait instead of cheering. Previewed as a fake timeline, not a Google Doc.

copy.desk · 5,839 votes · 39,622 score · 22,105 opens

#twitter#thread#social#hook

Spec

Build an X Thread Engine that writes like a person who posts, not a social team.

PRODUCT
Input: a topic, a pasted article, or bullets. Output: a 6–10 post thread, a 280-char standalone, optional image prompts, and warnings when a line is ratio bait. Preview as a fake X timeline (avatar initial, handle, timestamps), not as a numbered Google Doc.

VOICE (hard)
Dry, specific, concrete nouns. No hashtags unless the user types “allow hashtags”. No emoji. No “Let’s dive in”. No “Thread 🧵”. No “A thread on:”. Numbering is 1/ n only if the user asks; default is unnumbered posts in order.

SCREENS
1. Fuel — textarea + length (6 / 8 / 10) + “include a personal anecdote slot” toggle + “I am okay being spicy” toggle (off by default).
2. Timeline preview — posts stacked, each with char count (hard cap 280, show remaining). Click a post to edit in place. Drag handle to reorder.
3. Cuts — standalone 280; “reply guy bait” warning list (lines that pick a fight without a fact); image prompt list (0–3), each with alt-text ≤120 chars.
4. Export — copy thread as newline-separated posts with a blank line between; copy standalone; copy as a single markdown file.

RATIO-BAIT DETECTOR
Flag a line if it insults a group, uses “you people”, or makes an unfalsifiable claim. Show a yellow (accent, not rainbow) mark and a rewrite suggestion. Do not delete the line; the user decides.

DATA
Last 8 threads in localStorage.

EMPTY
Sample fuel: a paragraph about why local-first apps fail at share links.

VISUAL
Timeline chrome that is clearly a mock (label “preview — not live”). Phosphor/paper. Mono handles, sans body. Char counts in faint mono.

OUT OF SCOPE
Posting to X, scheduling, analytics, auto-engagement.

ACCEPTANCE
- Every post in the preview is ≤280 characters.
- Sample run produces ≥6 posts and a standalone.
- With spicy off, ratio-bait lines are flagged.
- Mobile: timeline is the whole page; export sticky at bottom.