x-publishlisted
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"
```
#