# Content Twitter

> X/Twitter thread and single tweet generation with brand voice and hook-first writing. Use when user wants to create a tweet, thread, X post, or Twitter content.

- Skill: `vstorm-co/content-twitter` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add vstorm-co/content-twitter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vstorm-co/content-twitter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: vstorm-co (https://skillmd.com/u/vstorm-co)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vstorm-co/content-twitter

---


# X/Twitter Content Generation

## Before You Start

1. **Check for brand voice**: Read `brand/VOICE.md` if it exists. Adapt the brand voice for X's more informal, direct tone. If no voice file exists, default to conversational, direct, and personality-forward.

2. **Determine content format**: Decide between a single tweet and a thread based on the content.

3. **Gather inputs**: Topic, key message, target audience, any links or media to include, desired CTA.

---

## Thread vs. Single Tweet Decision

Use a **single tweet** when:
- The idea fits in one punch (under 280 characters)
- You are sharing a link with commentary
- You are making a bold claim or hot take
- You are asking a question

Use a **thread** when:
- The topic requires explanation or multiple steps
- You are telling a story
- You are breaking down a complex idea
- You want to maximize engagement through a multi-part narrative

---

## Hook-First Writing

The first tweet (whether standalone or the start of a thread) must stop the scroll. It is the most important piece of content you write.

**Rules for hooks:**
- Lead with the most interesting, surprising, or valuable part of your content
- Never open with context or background. Start with the payoff, then backfill.
- The hook must work without the reader knowing anything about you or your topic
- If your hook starts with "So," "Just," or "I think," rewrite it

**Reference `hook-patterns.md` for proven hook formulas with examples.**

---

## Thread Structure

Every thread follows this three-act structure:

### Act 1: Hook (Tweet 1)
- Stop the scroll
- Create a curiosity gap or deliver an immediate value promise
- Include a signal that a thread is coming ("A thread:" or the /thread emoji or a numbered "1/")

### Act 2: Value (Tweets 2 through N-1)
- Each tweet must stand alone as a valuable insight, even out of context
- Number your tweets for easy reference and readability
- Keep each tweet focused on one point
- Use line breaks within tweets for readability
- Include specifics: data, examples, names, numbers
- Vary tweet length: some punchy (1-2 lines), some fuller (3-4 lines)

### Act 3: CTA (Final Tweet)
- Summarize the key takeaway in one sentence
- Include a clear CTA: follow for more, share the thread, try this tool, read this link
- Optionally invite discussion: ask a question or request the reader's experience

---

## Character Count Awareness

- Standard tweet: 280 characters max
- Thread tweets: aim for 200-260 characters for readability (leave room for the brain to breathe)
- Links consume 23 characters regardless of actual URL length
- Images, videos, and polls do not count against the character limit
- Mentions (@username) count against the limit

**Do not cram every tweet to 280 characters.** Shorter tweets often perform better because they are easier to read while scrolling.

---

## Brand Voice Adaptation for X

X has its own cultural tone that must blend with the brand voice:

| Brand Voice Attribute | X Adaptation |
|---|---|
| Formal | Shift one notch toward casual. Drop "we are pleased to announce" in favor of direct statements. |
| Technical | Keep technical depth but use conversational framing. "TIL that..." is fine. Jargon is fine if your audience expects it. |
| Warm/Friendly | Amplify. X rewards personality. Use "I" more than "we." |
| Authoritative | Show, don't claim. Share the insight, not the credential. |
| Humorous | Lean into it. X rewards wit. But avoid forcing jokes -- a dry observation beats a bad punchline. |

**Things that never work on X regardless of brand voice:**
- Corporate press release language
- "We're thrilled to announce..."
- Walls of hashtags (#innovation #leadership #growth)
- Tagging 10 people hoping for retweets
- Engagement bait without substance ("Agree?")

---

## Templates

Reference the templates in `templates/` for structural starting points:

| Template | Use Case |
|---|---|
| `thread-howto.template` | How-to and tutorial threads |
| `thread-story.template` | Narrative and storytelling threads |
| `thread-teardown.template` | Analysis and breakdown threads |
| `single-hook.template` | Standalone tweet patterns |

---

## Thread Polish Checklist

Before delivering a thread:

- [ ] Tweet 1 stops the scroll (test: would you click "Show more" if you saw this while scrolling?)
- [ ] Each tweet stands alone as a complete thought
- [ ] Tweets are numbered
- [ ] No tweet exceeds 280 characters
- [ ] Specifics present: at least 3 tweets contain data, examples, or names
- [ ] Variety in tweet length (not all the same size)
- [ ] Final tweet has a clear CTA
- [ ] Brand voice is adapted for X's tone (not copy-pasted from formal content)
- [ ] Zero hashtag walls (0-2 hashtags max per tweet, and only if genuinely relevant)
- [ ] Thread length is appropriate: 5-12 tweets for most topics (not padded, not rushed)

## Single Tweet Polish Checklist

- [ ] Hook is in the first line
- [ ] Under 280 characters
- [ ] One clear idea (not three ideas crammed together)
- [ ] CTA or conversation-starter if appropriate
- [ ] No engagement bait without substance

