sbusso/claudeclaw/x-integration
Claude Code and agent skill by sbusso/claudeclaw
- community
- ext:[{"type":"config","description":"Configuration overrides"}]
Checking that the SKILL.md file is still in the repository.
X (Twitter) integration for ClaudeClaw. Post tweets, like, reply, retweet, and quote. Use for setup, testing, or troubleshooting X functionality. Triggers on "setup x", "x integration", "twitter", "post tweet", "tweet".
Install
npx vskill@latest install sbusso/claudeclaw/x-integrationSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
X (Twitter) Integration
Browser automation for X interactions via WhatsApp.
Compatibility: ClaudeClaw v1.0.0. Directory structure may change in future versions.
Features
| Action | Tool | Description | |
|---|---|---|---|
| Post | x_post | Publish new tweets | |
| Like | x_like | Like any tweet | |
| Reply | x_reply | Reply to tweets | |
| Retweet | x_retweet | Retweet without comment | |
| Quote | x_quote | Quote tweet with comment |
Prerequisites
Before using this skill, ensure:
- ClaudeClaw is installed and running - WhatsApp connected, service active
- Dependencies installed:
``bash npm ls playwright dotenv-cli || npm install playwright dotenv-cli ``
- CHROME_PATH configured in
.env(if Chrome is not at default location):
``bash # Find your Chrome path mdfind "kMDItemCFBundleIdentifier == 'com.google.Chrome'" 2>/dev/null | head -1 # Add to .env CHROME_PATH=/path/to/Google Chrome.app/Contents/MacOS/Google Chrome ``
Service name: Derived from the directory name:com.claudeclaw.<dirname>(macOS) /claudeclaw-<dirname>(Linux). For example, if cwd ismy-assistant, the service iscom.claudeclaw.my-assistant. Determine the correct service name before running service commands below.
Quick Start
Configuration
Environment Variables
| Variable | Default | Description | |
|---|---|---|---|
CHROME_PATH | /Applications/Google Chrome.app/Contents/MacOS/Google Chrome | Chrome executable path | |
CLAUDECLAW_ROOT | process.cwd() | Project root directory | |
LOG_LEVEL | info | Logging level (debug, info, warn, error) |
Set in .env file (loaded via dotenv-cli at runtime):
Configuration File
Edit lib/config.ts to modify defaults:
Data Directories
Paths relative to project root:
| Path | Purpose | Git | |
|---|---|---|---|
data/x-browser-profile/ | Chrome profile with X session | Ignored | |
data/x-auth.json | Auth state marker | Ignored | |
logs/claudeclaw.log | Service logs (contains X operation logs) | Ignored |
Architecture
Why This Design?
- API is expensive - X official API requires paid subscription ($100+/month) for posting
- Bot browsers get blocked - X detects and bans headless browsers and common automation fingerprints
- Must use user's real browser - Reuses the user's actual Chrome on Host with real browser fingerprint to avoid detection
- One-time authorization - User logs in manually once, session persists in Chrome profile for future use
File Structure
Integration Points
To integrate this skill into ClaudeClaw, make the following modifications:
1. Host side: `src/orchestrator/ipc.ts`
Add import after other local imports:
Modify processTaskIpc function's switch statement default case:
2. Container side: `agent/runner/src/ipc-mcp.ts`
Add import after cron-parser import:
Add to the end of tools array (before the closing ]):
3. Build script: `src/runtimes/docker/build.sh`
Change build context from src/runtimes/docker/ to project root (required to access .claude/skills/):
4. Dockerfile: `src/runtimes/docker/Dockerfile`
First, update the build context paths (required to access .claude/skills/ from project root):
Then add COPY line after COPY agent/runner/ ./ and before RUN npm run build:
Setup
All paths below are relative to project root (CLAUDECLAW_ROOT).
1. Check Chrome Path
2. Run Authentication
This opens Chrome for manual X login. Session saved to data/x-browser-profile/.
Verify success:
3. Rebuild Container
Verify success:
4. Restart Service
Verify success:
Usage via WhatsApp
Replace @Assistant with your configured trigger name (ASSISTANT_NAME in .env):
Note: Only the main group can use X tools. Other groups will receive an error.
Testing
Scripts require environment variables from .env. Use dotenv-cli to load them:
Check Authentication Status
Re-authenticate (if expired)
Test Post (will actually post)
Test Like
Or export CHROME_PATH manually before running:
Troubleshooting
Authentication Expired
Browser Lock Files
If Chrome fails to launch:
Check Logs
Script Timeout
Default timeout is 2 minutes (120s). Increase in host.ts:
X UI Selector Changes
If X updates their UI, selectors in scripts may break. Current selectors:
| Element | Selector | |
|---|---|---|
| Tweet input | [data-testid="tweetTextarea_0"] | |
| Post button | [data-testid="tweetButtonInline"] | |
| Reply button | [data-testid="reply"] | |
| Like | [data-testid="like"] | |
| Unlike | [data-testid="unlike"] | |
| Retweet | [data-testid="retweet"] | |
| Unretweet | [data-testid="unretweet"] | |
| Confirm retweet | [data-testid="retweetConfirm"] | |
| Modal dialog | [role="dialog"][aria-modal="true"] | |
| Modal submit | [data-testid="tweetButton"] |
Container Build Issues
If MCP tools not found in container:
Security
data/x-browser-profile/- Contains X session cookies (in.gitignore)data/x-auth.json- Auth state marker (in.gitignore)- Only main group can use X tools (enforced in
agent.tsandhost.ts) - Scripts run as subprocesses with limited environment
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/x-integration/SKILL.md
Popularity
- Repository stars
- 173
- Repository forks
- 56
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
configConfiguration overrides
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/sbusso/claudeclaw/x-integration)