← ClaudeAtlas

x-publishlisted

Publish tweets and threads to X (Twitter) draft using browser automation. Use when user wants to publish content to X, save to drafts, or mentions "publish to X", "post tweet", "x-publish", "发布推文". Supports short tweets and threads. NEVER auto-publish, always saves to draft.
aiskillstore/marketplace · ★ 329 · AI & Automation · score 79
Install: claude install-skill aiskillstore/marketplace
# X Publish Publish tweets and threads to X draft using Playwright browser automation. ## Prerequisites - Playwright MCP for browser automation - User logged into X (Twitter) - Python 3.9+ with dependencies: - macOS: `pip install Pillow pyobjc-framework-Cocoa` - Windows: `pip install Pillow pywin32` ## Critical Rules 1. **NEVER auto-publish** - Only save to draft 2. **User must be logged in** - Prompt to login if not 3. **Verify content before saving** - Double-check tweet text ## Content Types ### Short Tweet Single tweet ≤280 characters ### Thread Multiple tweets connected (3-10 tweets) ## Scripts ### copy_to_clipboard.py Copy text to system clipboard for paste operation: ```bash # Copy text to clipboard python scripts/copy_to_clipboard.py text "Tweet content here" # Copy from file python scripts/copy_to_clipboard.py text --file /tmp/tweet.txt ``` ## Workflow ### Short Tweet **Step 1: Prepare Content** ```bash # Save tweet to temp file echo "Tweet content" > /tmp/tweet.txt # Copy to clipboard python scripts/copy_to_clipboard.py text --file /tmp/tweet.txt ``` **Step 2: Open Compose** ``` browser_navigate: https://x.com/compose/post ``` **Step 3: Paste Content** ``` browser_snapshot → Find tweet textbox browser_click: textbox browser_press_key: Meta+v ``` **Step 4: Save Draft** ``` browser_click: X (close button) browser_click: "Save" or "保存" in dialog ``` **Step 5: Verify** ``` Report: "Draft saved. Please review at https://x.com/compose/drafts" ``` #