x-thread
Skill4 starsChanged 45 days agoMITView on GitHub
Build an X thread: the first post that sells the whole thing, one idea per post, cut to fit X's weighted character count, and a last post that people act on. Use when the user says "thread", "write a thread", "turn this into a thread", "tweetstorm", or has a list-shaped or step-shaped idea that would be cramped in one post.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- belzoralolbtw/x-agent-skilltheir own version, first seen Oct 25, 2026
- swayamdhawan/x-agentword for word, first seen Oct 20, 2026
- lxyang20131208-star/x-algorithm-skillstheir own version, first seen Oct 13, 2026
Other versions3 projects use a version of this.
Word for word · 1
- swayamdhawan/x-agent★ 0100% same
Edited · 0
None found.
Wrote their own version · 2
- lxyang20131208-star/x-algorithm-skills★ 1same name
- belzoralolbtw/x-agent-skill★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 40
If that is what the user has, say so and hand it to /x-post.
- Very specific: line 70
Humanize every post: Run the draft through /x-human before cutting it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
x-thread
A thread is a list that people read one post at a time, and most of them stop after the first. So a thread is really one post with a sequel. Build it that way round.
One tool lives in this folder and it runs:
python3 thread.py draft.txt # cut it, count every post, lint it
python3 thread.py draft.txt --number # add 1/7, 2/7 ... (counted in the length)
python3 thread.py draft.txt --pack # merge short paragraphs into one postPosts break at your own --- lines first, then at paragraphs, then at
sentences. A sentence longer than a whole post is the only thing that gets
split between words, and it is flagged when it happens.
Thread, long post, or single post
Decide this before writing anything, and say which one and why:
| the idea | format |
| one claim | a single post. /x-post |
| one argument that needs room, no natural steps | a long post, if the user has Premium |
| steps, a list, a sequence, a story with beats | a thread |
The most common way a thread fails is being one claim cut into eight pieces.
If that is what the user has, say so and hand it to /x-post.
Structure
5 to 12 posts. Under 3 is a post. Past about 15, fewer people finish it than read post 2.
1 THE HOOK stands completely alone. The payoff, promised
specifically. Formula from ../x-post/hooks.json,
usually #16 Thread Promise, #2 Number Reveal or #5 The List.
2 THE STAKE why the reader should care, or the proof you are
the one to say it. The second most-read post.
3..N ONE IDEA EACH a line of claim, a line or two of why. Short.
N+1 THE RECAP the whole thread as a list, so a screenshot of it works.
LAST THE ASK one: follow, a keyword, the link. One.Rules
- Post 1 is 80% of the result. Score it with
python3 ../x-post/hookscore.py --hook "..."before writing the rest. - No "A thread 🧵" as the hook. X shows it is a thread. Spend the line on
the payoff.
thread.pyflags it. - Every post has to survive being seen alone. Posts from the middle of a thread turn up on their own in people's timelines.
- Numbering is optional. It helps a list and costs 5 to 7 characters a
post.
--numbercounts it for you. - Links go last. A link in post 2 is an exit before the payoff.
- The recap is the post people screenshot. Make it standalone.
- Humanize every post. Run the draft through
/x-humanbefore cutting it. Thread boilerplate ("if you found this thread helpful, follow me...") is in the lexicon for a reason.
Output
The thread from thread.py, each post copy-ready with its count, then the
lints and what you did about each. Then:
THREAD READY · 8 posts
hook: #16 Thread Promise (score 78 STRONG)
checks: all posts fit · no mid-sentence breaks · link in the last post only
humanizer: 11 artefacts stripped across 8 posts
Reply "yes" to log it, or tell me which post to change.Nothing is posted by this skill. The user posts post 1, then replies to it
with post 2, and so on, or pastes them into X's composer with the + button.
On "yes", log post 1 to ~/.claude/x/log.md with the formula.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

