Twitter Thread Creation
Twitter/X thread writing with hook tweets, thread structure, and engagement optimization. Covers tweet formatting, character limits, media attachments, and p...
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 619 · 0 current installs · 0 all-time installs
byÖmer Karışman@okaris
MIT-0
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name/description (Twitter/X thread creation) align with the actions in SKILL.md: composing tweets, structuring threads, and posting via a CLI. The commands shown (infsh app run x/post-create, html-to-image, agent-browser) are coherent with producing and publishing threads and media.
Instruction Scope
The SKILL.md instructs the agent to: install and run a third‑party CLI (inference.sh), run infsh commands that can post to X, generate images, and take website screenshots. It does not instruct reading local files or env vars, but it does direct network activity and installation of a binary — beyond pure text-generation. It also implies an interactive login step (infsh login) though no credentials are declared in the registry.
Install Mechanism
The skill recommends running curl -fsSL https://cli.inference.sh | sh (remote installer) which downloads binaries from dist.inference.sh. This is a high‑risk install pattern (remote script piped to shell). The domain is not a widely known package host (e.g., official GitHub releases), and the registry provides no install spec or integrity guarantees beyond pointing to a checksums.txt. This increases supply‑chain risk and potential for executing arbitrary code on the host.
Credentials
The registry declares no required env vars or credentials, which is internally consistent, but the instructions implicitly require authenticating to inference.sh and (via that tool) granting access to post on X. The skill does not declare or justify where credentials will be stored or which services will be authorized, which is an omission users should be aware of.
Persistence & Privilege
always:false (good). The skill allows autonomous invocation (platform default). Combined with the instruction to install and run a third‑party CLI that can post to X, autonomous invocation increases the blast radius (it could install and post if the agent has permission). The skill itself does not request persistent privileges or modify other skills.
What to consider before installing
This skill appears to do what it says (help craft and post X threads) but it relies on installing and using a third‑party CLI via a curl|sh installer (dist.inference.sh). Before installing or allowing an agent to run it: 1) do not run curl | sh blindly — review the installer script and verify checksums from a trusted channel; 2) understand that you will need to authenticate the CLI to post to your X account — consider using a separate/sandbox account or least‑privilege credentials; 3) prefer manual installation from a verifiable release (and inspect the binary/source) rather than letting an autonomous agent perform the install; 4) if you enable autonomous invocation, restrict the agent’s permissions or disable automatic tool execution so it cannot install software or post without explicit confirmation. If you want a lower‑risk option, use the writing guidance from the SKILL.md but post manually via the official Twitter/X interface or a vetted, well‑known client.Like a lobster shell, security has layers — review code before you run it.
Current versionv0.1.5
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Twitter/X Thread Creation
Write high-engagement Twitter/X threads via inference.sh CLI.
Quick Start
curl -fsSL https://cli.inference.sh | sh && infsh login
# Post a tweet
infsh app run x/post-create --input '{
"text": "I analyzed 1,000 landing pages.\n\n90% make the same 5 mistakes.\n\nHere are the fixes (with examples):\n\n🧵👇"
}'
Install note: The install script only detects your OS/architecture, downloads the matching binary from
dist.inference.sh, and verifies its SHA-256 checksum. No elevated permissions or background processes. Manual install & verification available.
Character Limits
| Element | Limit |
|---|---|
| Tweet text | 280 characters (free), 25,000 (Premium) |
| Thread length | No limit (10-15 tweets is sweet spot) |
| Image alt text | 1,000 characters |
| Quote tweet addition | 280 characters |
| Reply | 280 characters |
| Display name | 50 characters |
Thread Structure
The Anatomy
Tweet 1 (Hook): Bold claim + "thread 🧵"
Tweet 2: Context / why this matters
Tweet 3-9: One point per tweet (numbered)
Tweet 10: Summary or biggest takeaway
Tweet 11: CTA (follow, retweet, bookmark)
Tweet 1: The Hook
This tweet lives or dies alone in the timeline. It must work WITHOUT the thread.
| Hook Type | Template |
|---|---|
| I did X + result | "I analyzed 1,000 [things]. Here's what I found:" |
| Number + list | "10 [topic] tips that [benefit]:" |
| Contrarian | "Unpopular opinion: [bold take]" |
| Story opener | "In 2019, I [dramatic event]. Here's what happened:" |
| How-to promise | "How to [achieve outcome] (step by step):" |
| Surprising fact | "[Stat that seems wrong]. Let me explain:" |
# Post hook tweet
infsh app run x/post-create --input '{
"text": "I spent 3 years building SaaS products.\n\nHere are 10 things I wish someone told me on day 1:\n\n🧵"
}'
Content Tweets (3-9)
| Rule | Why |
|---|---|
| One idea per tweet | Clarity and retweetability |
| Number them (1/, 2/, etc.) | Progress signal, easy to reference |
| Each tweet should stand alone | People share individual tweets |
| Lead with the insight | Don't bury the point |
| Use line breaks | Visual breathing room |
| Include examples | Abstract → concrete |
# Content tweet with visual
infsh app run x/post-create --input '{
"text": "3/ Your pricing page is the second most visited page on your site.\n\nBut most founders treat it as an afterthought.\n\nThe fix:\n→ Show 3 tiers (not 2, not 5)\n→ Highlight the middle one\n→ Annual toggle defaulted ON\n→ Feature comparison below"
}'
Closing Tweet
# CTA tweet
infsh app run x/post-create --input '{
"text": "11/ That'\''s the full playbook.\n\nTL;DR:\n• Validate before building\n• Launch ugly, iterate fast\n• Pricing is positioning\n• Talk to users weekly\n\nIf this was useful:\n→ Retweet the first tweet\n→ Follow me @username for more\n→ Bookmark this thread"
}'
Formatting Rules
Tweet Formatting
❌ Dense:
"If you want to grow on Twitter you need to post consistently and engage with your audience while also making sure your content provides value to your followers."
✅ Formatted:
"Want to grow on Twitter?
3 non-negotiable rules:
→ Post daily (consistency > quality)
→ Reply to 20 accounts bigger than you
→ Every tweet must teach OR entertain
No shortcuts."
Symbols for Lists
| Symbol | Use For |
|---|---|
| → | Steps, actions, directions |
| • | Bullet points, lists |
| — | Asides, attributions |
| ✅ | Do's, positives |
| ❌ | Don'ts, negatives |
| 1/ 2/ 3/ | Numbered thread tweets |
Line Break Strategy
Short sentence.
← blank line
Short sentence.
← blank line
Punchline.
Line breaks create pacing. Use them to control reading speed and emphasis.
Media in Threads
When to Add Images
| Tweet Position | Image Type | Purpose |
|---|---|---|
| Hook (tweet 1) | Eye-catching graphic | Stop the scroll |
| Key points | Screenshots, examples | Evidence |
| Summary | Infographic | Shareable recap |
# Generate thread header image
infsh app run infsh/html-to-image --input '{
"html": "<div style=\"width:1200px;height:675px;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;padding:60px;font-family:system-ui;color:white;text-align:center\"><div><h1 style=\"font-size:48px;font-weight:900;line-height:1.2;margin:0\">10 SaaS Pricing Mistakes<br>That Cost You Revenue</h1><p style=\"font-size:22px;opacity:0.5;margin-top:20px\">A thread 🧵</p></div></div>"
}'
# Generate screenshots for evidence
infsh app run infsh/agent-browser --input '{
"url": "https://example.com/pricing",
"action": "screenshot"
}'
Image Specs
| Format | Dimensions | Max Size |
|---|---|---|
| Single image | 1200 x 675 (16:9) recommended | 5 MB |
| Two images | 700 x 800 each | 5 MB each |
| Four images | 600 x 600 each | 5 MB each |
| GIF | 1280 x 1080 max | 15 MB |
Thread Types
Educational
1/ [Topic] explained simply:
2/ What is [concept]?
3/ Why it matters
4-8/ Key principles (numbered)
9/ Common mistakes
10/ Resources
11/ CTA
Story/Journey
1/ [Dramatic opener]
2/ Background/context
3-7/ Chronological events
8/ The turning point
9/ The lesson
10/ How to apply it
11/ CTA
Curation/List
1/ [Number] [things] every [audience] needs:
2-10/ One item per tweet with brief explanation
11/ CTA
Teardown/Analysis
1/ I analyzed [thing]. Here's what I found:
2/ The setup (what I looked at)
3-8/ Finding 1, 2, 3... with evidence
9/ The biggest surprise
10/ Takeaways
11/ CTA
Engagement Strategy
| Action | Timing | Why |
|---|---|---|
| Post hook tweet | Peak hours (8-10 AM, 12-1 PM your audience's TZ) | Maximum initial visibility |
| Reply-chain the thread | Immediately after hook | Complete the thread |
| Pin the thread | Right after posting | Visitors see your best work |
| Engage with replies | First 60 minutes | Algorithm boost |
| Quote-tweet highlight | Next day | Second wave of visibility |
| Repost hook | 1-2 weeks later | Catch new followers |
Repurposing to Thread
# Research source material
infsh app run tavily/search-assistant --input '{
"query": "latest statistics on remote work productivity 2024"
}'
# Generate visual for the thread
infsh app run infsh/html-to-image --input '{
"html": "<div style=\"width:1200px;height:675px;background:#0f172a;display:flex;align-items:center;padding:60px;font-family:system-ui;color:white\"><div><p style=\"font-size:20px;color:#38bdf8;text-transform:uppercase;letter-spacing:2px\">Data Deep Dive</p><h1 style=\"font-size:52px;font-weight:900;margin:12px 0;line-height:1.2\">Remote Work in 2024:<br>What the Data Actually Says</h1></div></div>"
}'
Common Mistakes
| Mistake | Problem | Fix |
|---|---|---|
| Weak hook tweet | Thread dies at tweet 1 | Use hook formulas — bold, specific, curiosity-driving |
| Too many tweets (20+) | Readers drop off after 10-12 | Sweet spot is 8-12 tweets |
| Multiple ideas per tweet | Confusing, not retweetable | One idea = one tweet |
| No numbers on tweets | Hard to follow, no progress signal | Always number: 1/, 2/, 3/ |
| No images | Threads with images get 2x engagement | Add visuals to hook + key points |
| Thread only (no standalone) | Miss the non-thread audience | Post standalone tweets too, not just threads |
| No CTA at the end | Missed follow/engagement opportunity | Always ask to RT, follow, bookmark |
| Posting at wrong time | Low initial engagement kills reach | Post during your audience's peak hours |
| Wall of text tweets | Nobody reads dense tweets | Line breaks, symbols, short sentences |
Related Skills
npx skills add inference-sh/skills@linkedin-content
npx skills add inference-sh/skills@content-repurposing
npx skills add inference-sh/skills@social-media-carousel
Browse all apps: infsh app list
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
