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.