Claude Code skills for Twitter/X — account growth, keyword intelligence, and content strategy. Powered by rnet (bypasses Cloudflare).
npx skills add https://github.com/phy041/claude-skill-twitter --skill twitter-intelInstallieren Sie diesen Skill über die CLI und beginnen Sie mit der Verwendung des SKILL.md-Workflows in Ihrem Arbeitsbereich.
Three Claude Code skills for Twitter/X — account growth, keyword intelligence, and content strategy. Powered by rnet (Rust HTTP client that bypasses Cloudflare).
| Skill | Purpose | Key Feature |
|---|---|---|
| twitter-cultivate | Account growth | Health metrics, shadowban check, unfollow recommendations, algorithm-optimized posting |
| twitter-intel | Keyword search & monitoring | Search 200+ tweets by keyword, filter by engagement, trend analysis over time |
| twitter-x-gtm | Content strategy | Hook formulas, content mix, thread templates, event content playbook |
Unlike most Twitter automation tools that use official API keys ($100/mo+) or headless browsers (easily detected), this uses:
rnet — Rust HTTP client with Chrome TLS fingerprint emulation. Twitter's Cloudflare can't tell it apart from a real browser.rnet_twitter.py — Lightweight async Python wrapper included in this repo.rnet_twitter.py Can Dofrom rnet_twitter import RnetTwitterClient
client = RnetTwitterClient()
client.load_cookies("twitter_cookies.json")
# Search tweets by keyword
tweets = await client.search_tweets("AI agents", count=200, product="Top")
# Get user profile
user = await client.get_user_by_screen_name("elonmusk")
# Get user's recent tweets
tweets = await client.get_user_tweets(user["rest_id"], count=20)
# Post a tweet
await client.create_tweet("Hello world!")
# Reply to a tweet
await client.create_tweet("Great point!", reply_to="1234567890")
# Like a tweet
await client.favorite_tweet("1234567890")
# Delete a tweet
await client.delete_tweet("1234567890")
# Add as a skill source
claude skills add PHY041/claude-skill-twitter
Or manually: copy the .claude/skills/ folder into your project's .claude/skills/ directory.
Copy skill folders to your OpenClaw skills directory:
# Clone the repo
git clone https://github.com/PHY041/claude-skill-twitter.git
cd claude-skill-twitter
# Copy skills to OpenClaw
cp -r .claude/skills/twitter-cultivate ~/.openclaw/skills/
cp -r .claude/skills/twitter-intel ~/.openclaw/skills/
cp -r .claude/skills/twitter-x-gtm ~/.openclaw/skills/
Copy rnet_twitter.py and the SKILL.md files you need into your project.
pip install "rnet>=3.0.0rc20" --pre
rnetis a Rust-based HTTP client with TLS fingerprint emulation. It's what lets us bypass Cloudflare without a real browser.
You need two cookies from a logged-in Twitter/X session:
https://x.comauth_token — your session tokenct0 — CSRF tokentwitter_cookies.json:[
{"name": "auth_token", "value": "paste_your_auth_token_here"},
{"name": "ct0", "value": "paste_your_ct0_here"}
]
Cookies expire after ~2 weeks. When you start getting 403 errors, repeat these steps to refresh.
import asyncio
from rnet_twitter import RnetTwitterClient
async def test():
client = RnetTwitterClient()
client.load_cookies("twitter_cookies.json")
user = await client.get_user_by_screen_name("elonmusk")
print(f"@{user.get('screen_name')} — {user.get('followers_count')} followers")
asyncio.run(test())
You: search "AI agents" on twitter
Claude: [runs search, filters by engagement, generates report]
You: twitter trend report for "OpenAI"
Claude: [analyzes saved data, generates week-by-week narrative]
You: check my twitter health @myhandle
Claude: [analyzes ratio, estimates TweepCred, checks shadowban, recommends unfollows]
You: write a thread about my new product launch
Claude: [researches viral patterns, adapts with your voice, delivers thread + schedule]
rnet_twitter.py.https://abs.twimg.com/responsive-web/client-web/main.*.js and update ENDPOINTS["SearchTimeline"] in rnet_twitter.py.{name, value} dicts), so existing cookie files work.| Alternative | Problem |
|---|---|
| Twitter API v2 | $100/mo for Basic, search is Premium-only ($5,000/mo) |
| Twikit | Dead since Nov 2025 — Cloudflare 403 blocks all httpx-based requests |
| Playwright/Puppeteer | Detectable via navigator.webdriver, rate-limited |
| Selenium | Same detection issues as Playwright |
| Nitter | Shut down (Twitter blocked all instances) |
rnet bypasses Cloudflare at the TLS fingerprint level (C++ emulation, not JavaScript patches), making it indistinguishable from a real Chrome browser.
claude-skill-twitter/
├── README.md
├── LICENSE
├── rnet_twitter.py # Core: async Twitter GraphQL client
├── twitter_cookies.example.json # Template for cookie file
└── .claude/
└── skills/
├── twitter-cultivate/ # Account growth & health
│ └── SKILL.md
├── twitter-intel/ # Keyword search & monitoring
│ └── SKILL.md
└── twitter-x-gtm/ # Content strategy & templates
└── SKILL.md
MIT