Agent skill

X Post Writer

by sergebulaev in sergebulaev/x-skills

Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point, build-in-public, mini-list, relatable cold-open), picked by goal (replies…

MITAuto-check passedWriting & Content

Install X Post Writer

skills CLI
$ npx skills add sergebulaev/x-skills --skill x-post-writer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sergebulaev/x-skills x-post-writer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sergebulaev/x-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/x-post-writer .claude/skills/x-post-writer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
x-post-writer
GitHub stars
121
Used in
1 other repo
Token cost
~1.8k tokens
SKILL.md length
996 words
Files
2 (incl. references)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point, build-in-public, mini-list, relatable cold-open), picked by goal (replies…

  • Works in 8 steps: Gather inputs. Topic, angle, any rough… → Pick the container. If the idea is one… → Pick the formula. Use the goal table to… → …
  • Write a tweet from notes
  • SKILL.md covers When to use, Formulas this skill uses…, Steps and Hard rules, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

X Post Writer is an agent skill from sergebulaev/x-skills. Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point, build-in-public, mini-list, relatable cold-open), picked by goal (replies, reposts, likes, bookmarks). Respects the 280-char limit (25,000 on Premium), runs the humanizer pass, and publishes via Publora on approval. Use to write a tweet from notes. Not for long threads (use x-thread-builder) or auditing a draft (use x-humanizer --mode audit).

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/single-tweet-checklist.md`).

It sits in Writing & Content, covering Social media posts. It works with X (Twitter). The repository describes itself as: X (Twitter) marketing skills for Claude Code and Codex: write tweets, threads, and replies in your voice, strip AI tells, and publish via Publora. Open source, MIT. Content… The licence is MIT.

When your agent uses it

  • Write a tweet from notes
  • Tasks that involve Social media posts

Example prompts

  • “/x-post-writer”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Gather inputs. Topic, angle, any rough draft, target audience (builders /
  2. Pick the container. If the idea is one claim, one number, or one moment,
  3. Pick the formula. Use the goal table to shortlist, then suggest 2-3 that
  4. Draft the tweet. Fill the skeleton in the user's voice. Respect the 2026
  5. Humanizer pass. Scrub 2026 AI vocab by density, cap em dashes (at
  6. Optional audit. Invoke x-humanizer --mode audit for a pass-fail check.
  7. Approval card. Show: formula used, full draft, char count (note if emoji
  8. On approval. Call `lib.publish(kind="post", draft_text=,

What it can do on your machine

Read from SKILL.md and the folder at commit 6ffd8e0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • x.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

X Post Writer loads about 1.8k tokens when it runs, and up to ~2.4k if it reads all its reference files. Until then it costs about 120 tokens; SKILL.md has 996 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~120
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sergebulaev/x-skills at commit 6ffd8e0, republished under its MIT licence (© sergebulaev). 996 words, ~1,811 tokens.

Download SKILL.mdSave it as .claude/skills/x-post-writer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
x-post-writer
description
Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point, build-in-public, mini-list, relatable cold-open), picked by goal (replies, reposts, likes, bookmarks). Respects the 280-char limit (25,000 on Premium), runs the humanizer pass, and publishes via Publora on approval. Use to write a tweet from notes. Not for long threads (use x-thread-builder) or auditing a draft (use x-humanizer --mode audit).

X Post Writer

Ship a single tweet, or a tight 2-3 tweet micro-thread, using hook shapes that actually travel on X in 2026. Single-tweet formulas land a complete punch in the first line, because X has no "see more" fold.

When to use

  • User says "write me a tweet about X"
  • User has a topic or a rough one-liner and wants a sharper hook
  • User wants to pick a proven single-tweet shape and fill in their voice
  • User wants a quick draft that auto-publishes on approval

Formulas this skill uses (single-tweet shapes)

CodeFormulaPrimary goalBest for
X1One-Liner Contrarianrepostsa sharp, defensible against-the-grain take
X2Data-Point Hookbookmarksone odd-precision number that reframes a thing
X3Build-in-Public Confessionrepliesa real metric from your own work, ugly ones included
X4Quote-Tweet Dunk-with-Valuerepostsadding a layer to someone else's take (quote tweet)
X5Mini-List Tweetbookmarksa scannable list that fits in one tweet
X6Relatable Cold-Openlikesa specific shared moment, no setup
X11Third-Person Case-Study Flexrepostssomeone else's absurd, specific result as anyone-could-copy bait

Full skeletons in ../../references/hook-formulas.md. For long-form tweetstorms (X7-X10), use x-thread-builder. X11 was validated as the top-recurring winning shape in a ~450-tweet corpus (July 2026); prefer it over a first-person "How I" when the result you are citing is someone else's.

Pick by goal first
GoalReach for
RepliesX3, X1
RepostsX1, X4, X11
LikesX6
BookmarksX2, X5, X11

Steps

Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that x-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.

Story bank next. If ../../references/story-bank.md has filled: yes, load it and take every concrete detail (numbers, dates, named projects, positions) from there instead of asking mid-draft. Never invent a figure, a date or a client name that is not in the bank or supplied by the user in this conversation. If the bank has nothing that fits, ask the user, or say once that x-humanizer --mode interview fills it in 20 to 40 minutes. A draft with a plausible invented number is worse than a draft with none: one is vague, the other is a retraction.

  1. Gather inputs. Topic, angle, any rough draft, target audience (builders / founders / a niche), and the goal (replies / reposts / likes / bookmarks).
  2. Pick the container. If the idea is one claim, one number, or one moment, it is a single tweet. If it is a scannable one-line-per-item list, still a single tweet (X5). If items need teaching or the idea has a build, hand off to x-thread-builder.
  3. Pick the formula. Use the goal table to shortlist, then suggest 2-3 that also fit the topic and let the user choose.
  4. Draft the tweet. Fill the skeleton in the user's voice. Respect the 2026 X rules:
    • First line carries the whole load (no fold).
    • Under 280 chars on a standard account (emoji count as 2 chars). Confirm the user's tier; only go long if they are on Premium and the length earns it.
    • One idea per tweet. Line breaks as beats.
    • 0-1 hashtag at the end, 0-1 emoji, none on a serious take.
    • No external link in the tweet (offer to put it in a reply).
  5. Humanizer pass. Scrub 2026 AI vocab by density, cap em dashes (at most one per tweet, never swap one for a period), break stacked triads, generic openers and reveal bridges. Leave a single tweet's rhythm alone (uniform rhythm wins on short posts; never insert a fragment for punch). Add an odd-precision number with a named referent or a named entity where the claim allows it. Canonical rules: x-humanizer V3.
  6. Optional audit. Invoke x-humanizer --mode audit for a pass-fail check.
  7. Approval card. Show: formula used, full draft, char count (note if emoji push it over 280), suggested posting window, primary goal.
  8. On approval. Call lib.publish(kind="post", draft_text=<approved>, target_url="https://x.com/compose/tweet", platforms=[<X_PLATFORM_ID>], scheduled_time=<iso_or_None>). The wrapper handles Publora / manual / diy routing. If the content runs long, Publora auto-splits it into a numbered thread.
Show full SKILL.md (302 more words)Show less

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • The first line must stop the scroll on its own. Rewrite any opener that needs line 2 to make sense.
  • Keep a standard-account tweet inside 280 chars. If it does not fit, tighten it or escalate to a thread, never ship a truncated thought.
  • One specific number where the claim allows it. 2.4x beats "way better".
  • Do not hard-sell the user's product. One natural mention max.

Anti-patterns (skill will refuse)

  • ALL CAPS first line for intensity. Carry intensity with word choice.
  • Em dashes above the cap (more than one in a tweet), or an em dash swapped for a period.
  • "Here's what / here's how" or "Stop X, start Y" as the opener; "The result?" as a reveal.
  • Announced candor ("Let me be honest", "not gonna lie") with no dated fact behind it.
  • "Unpopular opinion:" on a take that is actually popular.
  • Padding a one-line idea with filler to look substantial.
  • Rule-of-three lists without specifics.
  • "leverage", "fundamentally", "game-changer", "deep dive".
  • External link in the tweet body.
  • Engagement bait ("RT if you agree", "reply YES").

Resources

  • ../../references/hook-formulas.md - all 11 X formula skeletons (X1-X6 and X11 are single-tweet)
  • ../../references/algorithm-heuristics.md - 2026 X ranking rules (signals, timing, limits)
  • references/single-tweet-checklist.md - the per-tweet scrub and fit list

Optional illustration

Offer a generated image when a visual would lift reach. Draft a prompt and call lib.illustrate(prompt, kind="wide"), pulling brand handle/color from Voice & Brand Profile section 6 for a pixel-exact overlay. Show the returned url + cost, then attach on publish via media_urls=[url]. Full workflow (incl. quote-cards): ../x-humanizer/sub-skills/illustration.md. No Pixfaro key -> it drafts the prompt for you to generate manually.

  • x-thread-builder - when the idea needs more than a tweet
  • x-humanizer - aggressive AI-tell scrubber, plus --mode audit for review
  • x-hook-extractor - reverse-engineer a hook from a tweet you admire

© sergebulaev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/x-post-writer of sergebulaev/x-skills.

  • SKILL.md
  • references/single-tweet-checklist.md

Open the folder on GitHubat commit 6ffd8e0

Used in 1 other repository

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sergebulaev/x-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

X Post Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

X Post Writer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
X Post Writer this skillsergebulaev/x-skills1211 repos~1.8kAutomated safety check: PassMIT
Socialcoreyhaines31/marketingskills54k4 repos~4.5kAutomated safety check: PassMIT
Social Contentfreekmurze/dotfiles1k23 repos~2.1kAutomated safety check: PassNone
Typefullyfreekmurze/dotfiles1k2 repos~3.4kAutomated safety check: NotesNone
Changelog Social RecapFlorianBruniaux/claude-code-ultimate-guide6.1k—~1.8kAutomated safety check: NotesCC-BY-SA-4.0
X Mastery Mentoralchaincyf/x-mentor-skill1.2k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Social

    coreyhaines31/marketingskills

    When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.

    54k GitHub starsUsed in 4 repos~4.5k tokens
    Writing & ContentAuto-check passed
  • Social Content

    freekmurze/dotfiles

    When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms.

    1k GitHub starsUsed in 23 repos~2.1k tokens
    Writing & ContentAuto-check passed
  • Typefully

    freekmurze/dotfiles

    Create, schedule, and manage social media posts via Typefully.

    1k GitHub starsUsed in 2 repos~3.4k tokens
    Writing & ContentAuto-check: notes
  • Changelog Social Recap

    FlorianBruniaux/claude-code-ultimate-guide

    Turns CHANGELOG.md entries for a release or a week into LinkedIn, Twitter/X, newsletter and Slack posts in French and English.

    6.1k GitHub stars~1.8k tokensUpdated yesterday
    Writing & ContentAuto-check: notes
  • X Mastery Mentor

    alchaincyf/x-mentor-skill

    $10K/hr级X/Twitter运营导师。基于Nicolas Cole、Dickie Bush、Sahil Bloom、Justin Welsh、 Dan Koe、Alex Hormozi六位顶级创作者的方法论 + X开源算法深度分析 + AI/科技赛道专精策略, 提炼6个核心心智模型、10条决策启发式、完整的选题-写作-增长操作手册。

    1.2k GitHub stars~2.3k tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Voice Builder

    charlie947/social-media-skills

    Build a personalised voice profile inside a Codex or Claude project from a short interview plus 3 to 5 sample pieces of writing.

    3.8k GitHub stars~3.3k tokensUpdated 24 days ago
    Writing & ContentAuto-check passed

More from sergebulaev/x-skills

All 10 skills in this repo
  • X Marketing

    sergebulaev/x-skills

    Plan, draft, audit, and publish posts and threads for X (Twitter).

    121 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check: notes
  • X Content Planner

    sergebulaev/x-skills

    Generate a weekly X (Twitter) content plan from a theme, audience, and content pillars.

    121 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • X Hook Extractor

    sergebulaev/x-skills

    Reverse-engineer the hook from a viral X (Twitter) tweet or thread URL.

    121 GitHub starsUsed in 1 repo~964 tokens
    Auto-check passed
  • X Reply Drafter

    sergebulaev/x-skills

    Draft a reply or a value-add quote tweet for a specific X (Twitter) tweet from its URL.

    121 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • X Humanizer

    sergebulaev/x-skills

    Remove the AI tells human readers react to in a tweet or thread: 2026 vocabulary by density, reveal bridges, staccato stacks, stacked triads, performed sincerity.

    121 GitHub starsUsed in 1 repo~4.2k tokens
    Auto-check passed
  • X Audience Insights

    sergebulaev/x-skills

    Read your X (Twitter) audience and niche from real data. An agent skill from sergebulaev/x-skills.

    121 GitHub starsUsed in 2 repos~1.2k tokens
    Auto-check passed

Works with

Questions about X Post Writer

What does X Post Writer do?

Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point, build-in-public, mini-list, relatable cold-open), picked by goal (replies…. X Post Writer is an agent skill from sergebulaev/x-skills. Draft a single tweet or short auto-thread for X (Twitter) using a 2026 X hook formula (one-liner contrarian, data-point, build-in-public, mini-list, relatable cold-open), picked by goal (replies, reposts, likes, bookmarks).

When should I use X Post Writer?

X Post Writer fits situations like: write a tweet from notes; tasks that involve Social media posts.

How do I install X Post Writer in Claude Code?

Run `npx skills add sergebulaev/x-skills --skill x-post-writer -a claude-code`. Or copy the skill folder (skills/x-post-writer in sergebulaev/x-skills) into .claude/skills/x-post-writer in your project. Claude Code loads it when a task matches its description.

How do I install X Post Writer in Codex?

Run `npx skills add sergebulaev/x-skills --skill x-post-writer -a codex`. Or copy the skill folder (skills/x-post-writer in sergebulaev/x-skills) into .agents/skills/x-post-writer in your project. Codex loads it when a task matches its description.

Can I use X Post Writer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sergebulaev/x-skills --skill x-post-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/x-post-writer, .gemini/skills/x-post-writer, .github/skills/x-post-writer and .opencode/skills/x-post-writer in your project.

What does X Post Writer need to run?

SKILL.md names no scripts, command-line tools or credentials: X Post Writer is instructions for the agent only.

Does X Post Writer access the network?

SKILL.md names 1 domain. As links in the text: x.com. This is read from the text; nothing was executed.

Is X Post Writer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does X Post Writer use?

X Post Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does X Post Writer use?

About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 632 tokens, read only when the agent opens those files.

What are the alternatives to X Post Writer?

Skills that share tags, products or a category with X Post Writer: Social (coreyhaines31/marketingskills, 54k stars), Social Content (freekmurze/dotfiles, 1k stars), Typefully (freekmurze/dotfiles, 1k stars) and Changelog Social Recap (FlorianBruniaux/claude-code-ultimate-guide, 6.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains X Post Writer?

sergebulaev (a GitHub user) maintains it in sergebulaev/x-skills, which has 121 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

Source: sergebulaev/x-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.