Skip to content
Back to skills

x-post

ASecurity

Post to X (Twitter) - tweets, media, threads with history tracking. Use when the user wants to post, tweet, or share something on X/Twitter.

  • 12 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 6, 2026
content-marketingpythonbashapi

Works with

  • terminal
  • cli
  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 5 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add win4r/x-post-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of x-post?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for x-post
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/win4r-x-post/badge)](https://www.skillsdirectory.com/skills/win4r-x-post)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: x-post
description: Post to X (Twitter) - tweets, media, threads with history tracking. Use when the user wants to post, tweet, or share something on X/Twitter.
---

# X (Twitter) Posting Skill

Post content to X (formerly Twitter) including text tweets, media posts, and threads.

## Setup Check

If credentials are not configured, guide the user:
```bash
cd ~/.claude/skills/x-post && cp .env.example .env
# User must edit .env with their X API credentials
cd ~/.claude/skills/x-post && pip install -r requirements.txt
```

## Commands

All commands run from the skill directory.

### Post a text tweet
```bash
cd ~/.claude/skills/x-post && python x-post.py tweet "Your tweet text here"
```

### Post with media (image/video)
```bash
cd ~/.claude/skills/x-post && python x-post.py media /absolute/path/to/image.jpg "Your tweet text"
```

### Post a thread (multiple tweets)
Create a temp JSON file with array of tweets, then:
```bash
cd ~/.claude/skills/x-post && python x-post.py thread /path/to/thread.json --name "thread-name"
```

Thread JSON format: `["First tweet", "Second tweet", "Third tweet"]`

### Reply to a tweet by ID
```bash
cd ~/.claude/skills/x-post && python x-post.py reply <tweet_id> "Your reply"
cd ~/.claude/skills/x-post && python x-post.py reply-media <tweet_id> /path/to/image.jpg "Your reply"
```

### Reply with screenshot
  1. Capture: screencapture -w ~/.claude/skills/x-post/screenshots/temp.png
  2. Reply: python x-post.py reply-media <tweet_id> <screenshot> "caption"


### Continue a named thread
```bash
cd ~/.claude/skills/x-post && python x-post.py continue "thread-name" "Next tweet"
cd ~/.claude/skills/x-post && python x-post.py continue-media "thread-name" /path/to/image.jpg "Next tweet"
```

### Screenshot terminal and tweet
```bash
cd ~/.claude/skills/x-post && python x-post.py snap "Your caption"
```
User will be prompted to click the window to capture.

### View history
```bash
cd ~/.claude/skills/x-post && python x-post.py history
cd ~/.claude/skills/x-post && python x-post.py threads
```

## Guidelines

- **Character limit**: 280 chars (Premium users may have extended limits)
- **Media**: JPG, PNG, GIF, MP4 supported
- **Thread naming**: Use `--name "name"` to track threads for later continuation
- **Tweet IDs**: From `https://x.com/user/status/1234567890` the ID is `1234567890`

## When User Asks to Post

1. Help craft content within character limits
2. Run the appropriate command from the skill directory
3. Share the resulting tweet URL with them
4. If starting a thread they may want to continue later, use `--name` to track it

Files in this skill

  • .env.example240 B
  • CLAUDE.md1.9 KB
  • SKILL.md2.5 KB
  • requirements.txt36 B
  • x-post.py15.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…