✓ Verified 💻 Development ✓ Enhanced Data

Social Media Agent

Autonomous social media management for X/Twitter using only OpenClaw native tools.

Rating
4.6 (269 reviews)
Downloads
777 downloads
Version
1.0.0

Overview

Autonomous social media management for X/Twitter using only OpenClaw native tools.

Complete Documentation

View Source →

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 screenshots
  • web_fetch — Scrape profiles, trending topics, news for content
  • sessions_spawn — Run content generation in parallel
  • cron — Schedule regular posting and engagement
  • memory_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
text
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 Insights40%AI news commentary, tech analysis
Building in Public30%Progress updates, behind-the-scenes
Philosophy/Thought20%Hot takes, provocative questions
Engagement/Humor10%Memes, replies, community interaction

Content Pipeline

  • Research: Use web_fetch on news sites (theverge.com, techcrunch.com, news.ycombinator.com)
  • Generate: Spawn a content-agent via sessions_spawn with 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

json
{
  "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:

text
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:

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.

Installation

Terminal bash

openclaw install social-media-agent
    
Copied!

💻Code Examples

browser act → click Post button

browser-act--click-post-button.txt
**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

1. **Research:** Use `web_fetch` on news sites (theverge.com, techcrunch.com, news.ycombinator.com)
2. **Generate:** Spawn a content-agent via `sessions_spawn` with research results
3. **Store:** Save drafts in `memory/tweet-drafts-YYYY-MM-DD.json`
4. **Review:** Check drafts for quality, brand consistency
5. **Post:** Use browser automation to publish
6. **Track:** Log posted tweets in `memory/social-log.json`

### Draft Format

}

.txt
## 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
1. Post consistently (daily)
2. Engage with relevant accounts (reply, quote tweet)
3. Use trending topics when relevant
4. Be authentic — no generic AI responses

## Scheduling with Cron

Set up automated posting schedules:

Evening post: cron expr "0 21 * * *" — Hot take

evening-post-cron-expr-0-21-----hot-take.txt
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`:
example.txt
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
example.json
{
  "text": "Tweet text under 280 chars",
  "topic": "What it's about",
  "hook": "Why it might engage"
}
example.txt
Morning post: cron expr "0 9 * * *" — Industry insight
Afternoon post: cron expr "0 15 * * *" — Building update
Evening post: cron expr "0 21 * * *" — Hot take
example.json
{
  "date": "2026-02-08",
  "posted": 3,
  "platform": "x",
  "handle": "@YourHandle",
  "tweets": [
    {"text": "...", "time": "09:00", "topic": "ai-news"}
  ]
}

Tags

#web_and-frontend-development #tools

Quick Info

Category Development
Model Claude 3.5
Complexity Multi-Agent
Author psmamm
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install social-media-agent