mcpField
I
interacting-with-x

interacting-with-x

github.com/just-cameronMarketing & growth2448 installsUpdated 29w ago
Repository

About interacting-with-x

A skill that lets agents post to and interact with X using API credentials. It supports publishing, reading timelines and mentions, and engagement actions through scripts.

Key features

  1. 01Publish tweets and threads
  2. 02Attach media to posts
  3. 03Read timelines and mentions
  4. 04Read a user's posts
  5. 05Like, retweet, and follow

Use cases

  1. 01Publish updates from an agent
  2. 02Read an account's timeline or mentions
  3. 03Cross-post Bluesky content to X
  4. 04Like, retweet, or follow accounts

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/just-cameron/central --skill interacting-with-x

After installing, type/interacting-with-xin Claude Code to confirm it loaded.

Details

From the project README

Interacting with X

Enables agents to operate on X (Twitter) with full interaction capabilities.

Setup

Add to .env:

X_API_KEY=your_api_key
X_API_SECRET=your_api_secret
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret
X_BEARER_TOKEN=your_bearer_token

Get credentials from https://developer.x.com/en/portal/dashboard

Operations

Post a Tweet
# Simple tweet
uv run python .skills/interacting-with-x/scripts/post.py "Hello from Central"

# Thread (multiple tweets chained)
uv run python .skills/interacting-with-x/scripts/post.py --thread "First tweet" "Second tweet" "Third tweet"

# With media
uv run python .skills/interacting-with-x/scripts/post.py --media image.png "Tweet with image"

# Reply to existing tweet
uv run python .skills/interacting-with-x/scripts/post.py --reply-to 1234567890 "Reply text"
Read Timeline/Mentions
# Home timeline
uv run python .skills/interacting-with-x/scripts/read.py timeline

# Mentions
uv run python .skills/interacting-with-x/scripts/read.py mentions

# User's tweets
uv run python .skills/interacting-with-x/scripts/read.py user elonmusk

# Search
uv run python .skills/interacting-with-x/scripts/read.py search "AI agents"
Engage
# Like
uv run python .skills/interacting-with-x/scripts/engage.py like 1234567890

# Retweet
uv run python .skills/interacting-with-x/scripts/engage.py retweet 1234567890

# Follow/unfollow
uv run python .skills/interacting-with-x/scripts/engage.py follow username
uv run python .skills/interacting-with-x/scripts/engage.py unfollow username

Rate Limits

X API has strict rate limits. Pro tier helps but still:

  • Posts: 100/24h (Pro: 500/24h)
  • Reads: 100 requests/15min
  • Likes: 50/24h

Scripts handle rate limiting automatically. See references/api-reference.md for details.

Character Limits

  • Standard: 280 characters
  • Pro: 25,000 characters

Scripts auto-detect account type and handle accordingly.

Cross-posting from ATProto

For mirroring Bluesky content to X:

# In your code
from .skills.interacting_with_x.scripts import post

# After posting to Bluesky, cross-post to X
post.create_tweet(text)  # or post.create_thread(texts) for threads

Facets (mentions, links) are automatically converted to X format.

Comments

Markdown supported