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
- 01Publish tweets and threads
- 02Attach media to posts
- 03Read timelines and mentions
- 04Read a user's posts
- 05Like, retweet, and follow
Use cases
- 01Publish updates from an agent
- 02Read an account's timeline or mentions
- 03Cross-post Bluesky content to X
- 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-xAfter installing, type/interacting-with-xin Claude Code to confirm it loaded.
Details
From the project READMEInteracting 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