Social Media Agent
Manage an X/Twitter account autonomously using only OpenClaw's built-in tools. No external APIs, no npm packages, no API keys needed.
Core Tools
browser— Post tweets, engage with posts, take screenshotsweb_fetch— Scrape profiles, trending topics, news for contentsessions_spawn— Run content generation in parallelcron— Schedule regular posting and engagementmemory_search/ files — Track what was posted, engagement stats
Posting a Tweet
- Ensure Chrome is running with remote debugging OR use OpenClaw's built-in browser
- Navigate to x.com/compose/post
- Take a snapshot to find the text input
- Type the tweet text
- Click the Post button
- Verify with another snapshot
browser open → x.com/compose/post
browser snapshot → find textbox ref
browser act → click textbox ref
browser act → type tweet text
browser snapshot → find Post button ref
browser act → click Post button
Important timing: Wait 3-4 seconds after page loads before interacting.
Content Generation Strategy
Content Pillars
Rotate through these categories for balanced content:
| Pillar | % | Examples |
|---|---|---|
| Industry Insights | 40% | AI news commentary, tech analysis |
| Building in Public | 30% | Progress updates, behind-the-scenes |
| Philosophy/Thought | 20% | Hot takes, provocative questions |
| Engagement/Humor | 10% | Memes, replies, community interaction |
Content Pipeline
- Research: Use
web_fetchon news sites (theverge.com, techcrunch.com, news.ycombinator.com) - Generate: Spawn a content-agent via
sessions_spawnwith research results - Store: Save drafts in
memory/tweet-drafts-YYYY-MM-DD.json - Review: Check drafts for quality, brand consistency
- Post: Use browser automation to publish
- Track: Log posted tweets in
memory/social-log.json
Draft Format
{
"text": "Tweet text under 280 chars",
"topic": "What it's about",
"hook": "Why it might engage"
}
Engagement Strategy
Posting Rules
- Max 3-5 tweets per day — Quality over quantity
- Min 45 seconds between actions — Avoid rate limiting
- No spam — Genuine engagement only
- Track everything — Log all posts and engagement
Growing Followers
- Post consistently (daily)
- Engage with relevant accounts (reply, quote tweet)
- Use trending topics when relevant
- Be authentic — no generic AI responses
Scheduling with Cron
Set up automated posting schedules:
Morning post: cron expr "0 9 * * *" — Industry insight
Afternoon post: cron expr "0 15 * * *" — Building update
Evening post: cron expr "0 21 * * *" — Hot take
Use sessionTarget: "isolated" with payload.kind: "agentTurn" for autonomous posting.
Anti-Patterns (Avoid)
- Do NOT post more than 5 tweets per day (looks spammy)
- Do NOT use generic engagement ("Great post!" "So true!")
- Do NOT post without reading the content you're commenting on
- Do NOT use API keys when browser automation works
- Do NOT build external tools when OpenClaw native suffices
Analytics Tracking
Track engagement in memory/social-log.json:
{
"date": "2026-02-08",
"posted": 3,
"platform": "x",
"handle": "@YourHandle",
"tweets": [
{"text": "...", "time": "09:00", "topic": "ai-news"}
]
}
Review weekly: What topics got most engagement? Adjust strategy accordingly.
Quick Reference
For detailed content templates and examples, see references/content-templates.md.