From twitter-tools
Download images and videos from X/Twitter using gallery-dl. Use when user wants to download media from Twitter/X URLs including tweets, user profiles, timelines, or likes. Supports single tweets, entire user media galleries, bookmarks, and lists. Handles authentication via cookies for accessing protected content.
How this skill is triggered — by the user, by Claude, or both
Slash command
/twitter-tools:twitter-media-downloaderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Download images and videos from X/Twitter using gallery-dl.
Download images and videos from X/Twitter using gallery-dl.
Run the download script with a Twitter/X URL:
uv run scripts/download.py "https://x.com/username" --output ./downloads
https://x.com/user/status/1234567890https://x.com/usernamehttps://x.com/username/mediahttps://x.com/username/likes (requires auth)https://x.com/i/bookmarks (requires auth)https://x.com/i/lists/1234567890For protected content (likes, bookmarks, private accounts), provide cookies:
uv run scripts/download.py "URL" --cookies /path/to/cookies.txt
Or use browser cookies directly (recommended):
uv run scripts/download.py "URL" --browser firefox
Note: Using
--browser firefoxis recommended as it automatically extracts cookies from your browser session.
| Option | Description |
|---|---|
--output DIR | Output directory (default: ./downloads) |
--cookies FILE | Path to cookies.txt file |
--browser NAME | Extract cookies from browser (firefox, chrome, etc.) |
--videos-only | Download only videos |
--images-only | Download only images |
--limit N | Limit number of items to download |
--retweets | Include retweets when downloading user timeline |
--replies | Include replies when downloading user timeline |
--json | Output structured JSON with downloaded file paths |
--debug | Enable verbose debug output for troubleshooting |
Download all media from a user:
uv run scripts/download.py "https://x.com/NASA" --output ./nasa_media
Download a single tweet's media:
uv run scripts/download.py "https://x.com/user/status/1234567890"
Download only videos from a user (limit 50):
uv run scripts/download.py "https://x.com/username" --videos-only --limit 50
Download bookmarks with Firefox cookies:
uv run scripts/download.py "https://x.com/i/bookmarks" --browser firefox
For programmatic use (e.g., integration with other skills), use --json to get structured output:
uv run scripts/download.py "https://x.com/user/status/123" --json --videos-only
Output format:
{
"files": ["/path/to/downloads/twitter_user_123_1.mp4"],
"tweet_id": "123",
"output_dir": "/path/to/downloads",
"url": "https://x.com/user/status/123",
"success": true,
"error": null
}
This is used by the twitter-to-reel skill to automatically download videos before creating reels.
Files are saved with the following naming pattern:
{output_dir}/twitter_{username}_{tweet_id}_{num}.{ext}
--sleep 2--cookies or --browser for authentication--debug flag for verbose output to diagnose issuesGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub bossjones/boss-skills --plugin twitter-tools