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.
Security Assessment
Detected risks:
About twitter-reader
Twitter Reader fetches Twitter/X post and article content together with author information, engagement metrics, and embedded media. It is aimed at cases where tweet or long-form X Article content needs to be retrieved and saved, and it is positioned as preferable to Jina for X Articles that contain images because it downloads all images locally and produces complete Markdown with proper image references.
The recommended path is the fetch_article.py script, run via uv with the form uv run --with pyyaml python scripts/fetch_article.py followed by an article URL and an optional output directory. This full-article mode fetches structured data through twitter-cli (likes, retweets, bookmarks), retrieves content and images through the jina.ai API, downloads every image into an attachments folder named by date, author, and title, and writes a Markdown file with YAML frontmatter suited to PKM systems. A simpler text-only mode uses the Jina API directly, via curl to r.jina.ai or the fetch_tweet.py and fetch_tweets.sh scripts, and returns title, source URL, published time, and Markdown with remote media URLs, requiring only a JINA_API_KEY.
Prerequisites differ by mode: full-article mode needs uv and auto-installs twitter-cli with no further setup, while the Jina simple mode needs the JINA_API_KEY environment variable set from a jina.ai account. Supported URL formats include x.com/USER/status/ID for posts, x.com/USER/article/ID for long-form articles, and legacy twitter.com/USER/status/ID links. The output structure places the main Markdown file in the chosen output directory alongside a dedicated attachments folder of numbered images, making the result self-contained for note archives and clipping workflows.
FAQ
Which mode should I use for an X Article with images?
Use the full-article mode via fetch_article.py. It downloads all embedded images locally and generates complete Markdown with proper image references, and the doc recommends it over Jina for X Articles with images.
What are the prerequisites?
Full-article mode needs uv (the Python package manager) and requires no extra setup since twitter-cli is auto-installed. The simpler Jina mode requires setting the JINA_API_KEY environment variable.
What URL formats are supported?
Posts at x.com/USER/status/ID, long-form articles at x.com/USER/article/ID, and legacy links at twitter.com/USER/status/ID.
What does the full-article mode return?
YAML frontmatter with source, author, date, likes, retweets, and bookmarks; Markdown content with local image references; and an attachments folder containing all downloaded images.
Can I fetch multiple tweets at once?
Yes. The fetch_tweets.sh script batch-fetches multiple tweet URLs using the Jina API.
Install twitter-reader
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
daymade/claude-code-skills