---
name: x_longform_writing
description: >-
  Writing long-form posts and Articles on X: choosing between a standard post, a thread,
  a long post, and an Article, structuring a long read so it holds to the end, formatting
  for phone scanning, and adapting an existing long piece without flattening it.
  Triggers on "write a long post on X", "X Article", "long-form on Twitter/X",
  "turn this post/article into an X piece", or "this thread should be one long post".
---

# X Long-Form Writing

## Purpose
Write a piece that belongs on X at length: one long post (up to 25,000 characters for Premium accounts) or an Article, structured so a reader who found it in a fast feed stays with it to the last section. This skill covers format choice, structure, formatting, and adaptation. It does not cover short posts, thread hooks in isolation, or scheduling.

## Workflow

### 1. Pick the format before drafting
Check the account first. Ask or verify: does the publishing account have Premium, and does its composer show long posts or Articles? Tiers have changed more than once, so trust the live composer over any remembered tier table.

- Standard post (280 characters): one claim, one proof point, one reply prompt fits. If it needs setup, it is not a standard post.
- Thread: the material is a sequence where each part can stand alone and readers may enter mid-chain, such as a live build log.
- Long post: one argument, story, or tutorial that reads as a single piece, roughly 300 to 25,000 characters. The reader should not need to tap through separate posts to follow it.
- Article: the piece needs a title, a cover image, section headings, embedded media or embedded posts, and a home on the profile Articles tab. Reported testing at launch put Articles near 100,000 characters, but treat that as reported, not guaranteed, and check the composer.
If the draft fits a long post, do not make it an Article just because Articles look more serious. Articles ask more of a cold reader.

### 2. Write the feed opening first
A long post appears in the feed as a truncated preview with a Show more prompt. The opening lines are the whole pitch.
- Put the claim, result, or tension in the first two lines. Background goes after.
- State a specific: a number, a name, a before and after, a decision. Avoid starting with a topic announcement such as "Some thoughts on pricing".
- Write the opening last as well: after the piece exists, rewrite the first two lines so they accurately promise what follows. An opening that oversells earns an expansion and an early exit.

### 3. Choose one structure and hold it
Pick one worked structure from `references/structures.md`: explained result, tutorial, argument, story with a lesson, or field guide. Outline with headings before writing prose. Each heading should state the point of its section, so a scanning reader gets the argument from the headings alone. That matters on X: online readers scan first and read second, a finding Nielsen Norman Group eye-tracking work has shown for years.

### 4. Format for a phone, not a page
- Paragraphs of one to three sentences. Break at the idea change, not at an arbitrary line count.
- Headings in Articles for every major section. In a long post, use a bold lead line or a blank line plus a short label line where a heading would go, since long posts support bold and italic but not Article-style headings.
- Lists for parallel items and numbered steps for sequences. Do not list ideas that need reasoning between them. Put the reasoning in prose and list only the items.
- Bold sparingly: the one phrase per section a scanner should catch. If half a paragraph is bold, nothing is.
- One idea per section. If a section needs the word "also" to introduce its second half, it is probably two sections.
- Place links beside the claim they support in Articles. In a long post, keep links late or in a self-reply when sending the reader away early would lose them, and say what the link is before they tap it.
- Embed an image, chart, or post where it proves or shows something. Decorative images mid-argument slow the read and add nothing.

### 5. Pace the middle
The middle is where long reads die. Work it deliberately.
- Strongest material first within each section, not saved for a finish the reader may not reach.
- Alternate density: a dense explanation, then an example, then a short line that lands the point.
- Cut throat-clearing transitions. A heading does that work.
- Every 300 to 500 words, the reader should hit something concrete: an example, a number from the work itself, a quoted line, a decision, or a failure. If a stretch has none, add one or cut the stretch.

### 6. Close on the piece, not on a pitch
- Restate the main point in one line, in different words from the opening.
- End with the real next step, the open question the piece leaves, or a specific prompt tied to the topic.
- Do not bolt on a generic follow request or a product pitch the piece did not earn. If there is a related link, one line at the very end is enough.

### 7. Adapt an existing piece without flattening it
Follow the eight-step adaptation method in `references/structures.md`. Short version: extract claims, rank them for the X reader, rebuild the order around one structure, rewrite the opening from scratch, convert dense passages to lists or steps where the material fits, drop context that only belonged to the original home, then restore one caveat beside each major claim.

### 8. Check before handing over
Run the checker on the final draft file:
`python3 ~/workspace/skills/x-longform-writing/bin/x_longform_check.py draft.md --format longpost`
Use `--format article` or `--format standard` as appropriate. Fix over-limit output and any paragraph or heading warning that reflects a real problem. Then re-read only the headings plus the first line of each paragraph: if that skim does not tell the story, fix the headings before polishing sentences.

## Output Contract
Deliver:
1. The finished piece, labelled with its format (standard post, long post, or Article) and its weighted character count.
2. For an Article: a title, a one-line subtitle or preview text if the composer asks for one, and a cover image note stating what the cover should show.
3. Headings in place for Articles, bold lead lines for long posts.
4. A short note listing anything cut during adaptation and any caveat restored, so the author can judge the trade.
Do not deliver a thread version as a silent substitute when a long post or Article was requested. If the format should change, say why and ask.

## Operating Rules
- Verify platform limits in the live composer when the account or tier is in doubt. Limits and tier access have changed repeatedly, and older help text has lagged behind the product.
- Never invent engagement figures, algorithm weights, or reach effects for long posts or Articles. No primary source publishes them.
- Keep quotations short, exact, and attributed. Paraphrase the rest.
- Preserve the author's claims when adapting. Compression may cut and reorder, it may not strengthen a claim the original made carefully.
- One structure per piece. Do not switch from tutorial to argument halfway through.
- No hashtag stacks at the end of a long piece. At most, a hashtag that is genuinely part of a sentence or a campaign tag the author named.
- Write the piece in the author's voice. Plain sentences and specific detail beat a borrowed creator style.
