Claude-code-skills twitter-reader
Fetch Twitter/X post content including long-form Articles with full images and metadata. Use when Claude needs to retrieve tweet/article content, author info, engagement metrics, and embedded media. Supports individual posts and X Articles (long-form content). Automatically downloads all images to local attachments folder and generates complete Markdown with proper image references. Preferred over Jina for X Articles with images.
git clone https://github.com/daymade/claude-code-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/daymade/claude-code-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/twitter-reader" ~/.claude/skills/daymade-claude-code-skills-twitter-reader && rm -rf "$T"
twitter-reader/SKILL.mdTwitter Reader
Fetch Twitter/X post and article content with full media support.
Quick Start (Recommended)
For X Articles with images, use the new fetch_article.py script:
uv run --with pyyaml python scripts/fetch_article.py <article_url> [output_dir]
Example:
uv run --with pyyaml python scripts/fetch_article.py \ https://x.com/HiTw93/status/2040047268221608281 \ ./Clippings
This will:
- Fetch structured data via
(likes, retweets, bookmarks)twitter-cli - Fetch content with images via
APIjina.ai - Download all images to
attachments/YYYY-MM-DD-AUTHOR-TITLE/ - Generate complete Markdown with embedded image references
- Include YAML frontmatter with metadata
Example Output
Fetching: https://x.com/HiTw93/status/2040047268221608281 -------------------------------------------------- Getting metadata... Title: 你不知道的大模型训练:原理、路径与新实践 Author: Tw93 Likes: 1648 Getting content and images... Images: 15 Downloading 15 images... ✓ 01-image.jpg ✓ 02-image.jpg ... ✓ Saved: ./Clippings/2026-04-03-文章标题.md ✓ Images: ./Clippings/attachments/2026-04-03-HiTw93-.../ (15 downloaded)
Alternative: Jina API (Text-only)
For simple text-only fetching without authentication:
# Single tweet curl "https://r.jina.ai/https://x.com/USER/status/TWEET_ID" \ -H "Authorization: Bearer ${JINA_API_KEY}" # Batch fetching scripts/fetch_tweets.sh url1 url2 url3
Features
Full Article Mode (fetch_article.py)
- ✅ Structured metadata (author, date, engagement metrics)
- ✅ Automatic image download (all embedded media)
- ✅ Complete Markdown with local image references
- ✅ YAML frontmatter for PKM systems
- ✅ Handles X Articles (long-form content)
Simple Mode (Jina API)
- Text-only content
- No authentication required beyond Jina API key
- Good for quick text extraction
Prerequisites
For Full Article Mode
(Python package manager)uv- No additional setup (twitter-cli auto-installed)
For Simple Mode (Jina)
export JINA_API_KEY="your_api_key_here" # Get from https://jina.ai/
Output Structure
output_dir/ ├── YYYY-MM-DD-article-title.md # Main Markdown file └── attachments/ └── YYYY-MM-DD-author-title/ ├── 01-image.jpg ├── 02-image.jpg └── ...
What Gets Returned
Full Article Mode
- YAML Frontmatter: source, author, date, likes, retweets, bookmarks
- Markdown Content: Full article text with local image references
- Attachments: All downloaded images in dedicated folder
Simple Mode
- Title: Post author and content preview
- URL Source: Original tweet link
- Published Time: GMT timestamp
- Markdown Content: Text with remote media URLs
URL Formats Supported
(posts)https://x.com/USER/status/ID
(long-form articles)https://x.com/USER/article/ID
(legacy)https://twitter.com/USER/status/ID
Scripts
fetch_article.py
Full-featured article fetcher with image download:
uv run --with pyyaml python scripts/fetch_article.py <url> [output_dir]
fetch_tweet.py
Simple text-only fetcher using Jina API:
python scripts/fetch_tweet.py <tweet_url> [output_file]
fetch_tweets.sh
Batch fetch multiple tweets (Jina API):
scripts/fetch_tweets.sh <url1> <url2> ...
Migration from Jina API
Old workflow:
curl "https://r.jina.ai/https://x.com/..." # Manual image extraction and download
New workflow:
uv run --with pyyaml python scripts/fetch_article.py <url> # Automatic image download, complete Markdown