Back to 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.

1,217stars196forksUpdated 6/26/2026

Security Assessment

Low Risk(85/100)

Detected risks:

Secret Exposure([SKILL.md] API_KEY=)
Security Score85/100

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.

All Files

5 files
scripts/fetch_article.py7.6 KB
View
.security-scan-passed0.2 KB
View
scripts/fetch_tweets.sh0.8 KB
View
scripts/fetch_tweet.py1.9 KB
View
SKILL.md4.0 KB
View

Install twitter-reader

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill