PluginBench
Skill
Review
Audit score 70

twitter-reader

daymade/claude-code-skills

Fetch Twitter/X posts and articles with full images, metadata, and automatic Markdown generation.

What is twitter-reader?

Retrieves Twitter/X post and article content including author info, engagement metrics, and embedded media. Use this when you need to extract tweet or long-form article content with images automatically downloaded and properly referenced in Markdown output.

  • Fetch structured metadata (author, date, likes, retweets, bookmarks)
  • Automatically download all embedded images to local attachments folder
  • Generate complete Markdown with local image references and YAML frontmatter
  • Support both individual tweets and X Articles (long-form content)
  • Handle legacy twitter.com and current x.com URL formats

How to install twitter-reader

npx skills add https://github.com/daymade/claude-code-skills --skill twitter-reader
Prerequisites
  • uv (Python package manager)
  • JINA_API_KEY environment variable (for simple text-only mode; optional for full article mode)
Claude Code
Cursor
Windsurf
Cline

How to use twitter-reader

  1. 1.Install the skill using: npx skills add https://github.com/daymade/claude-code-skills --skill twitter-reader
  2. 2.For articles with images, run: uv run --with pyyaml python scripts/fetch_article.py <article_url> [output_dir]
  3. 3.For text-only fetching, set JINA_API_KEY and use: python scripts/fetch_tweet.py <tweet_url>
  4. 4.For batch fetching, use: scripts/fetch_tweets.sh url1 url2 url3
  5. 5.Check the output directory for generated Markdown file and attachments folder with downloaded images

Use cases

Good for
  • Extract and archive X Articles with all embedded images for knowledge management
  • Retrieve tweet content with engagement metrics for analysis or documentation
  • Batch fetch multiple tweets and convert to Markdown for offline reading
  • Capture long-form article content with proper image references for PKM systems
Who it's for
  • Researchers and analysts who need to archive X content with media
  • Knowledge workers building personal knowledge management systems
  • Content curators collecting articles and posts with full formatting
  • Developers integrating Twitter/X content into applications

twitter-reader FAQ

What's the difference between fetch_article.py and fetch_tweet.py?

fetch_article.py is full-featured: it downloads all images, generates Markdown with local references, and includes YAML metadata. fetch_tweet.py is simpler and text-only, using Jina API without image downloads. Use fetch_article.py for X Articles with images.

Do I need authentication to use this skill?

For full article mode (fetch_article.py), no additional authentication is needed. For simple text-only mode (Jina API), you need a JINA_API_KEY from https://jina.ai/.

Where are downloaded images stored?

Images are automatically downloaded to attachments/YYYY-MM-DD-AUTHOR-TITLE/ in your output directory, and the Markdown file includes proper local references to these images.

What URL formats are supported?

The skill supports x.com/USER/status/ID (posts), x.com/USER/article/ID (long-form articles), and legacy twitter.com/USER/status/ID URLs.

Can I batch fetch multiple tweets?

Yes, use the fetch_tweets.sh script: scripts/fetch_tweets.sh url1 url2 url3 for batch fetching via Jina API.

Full instructions (SKILL.md)

Source of truth, from daymade/claude-code-skills.


name: twitter-reader description: 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.

Twitter 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 twitter-cli (likes, retweets, bookmarks)
  • Fetch content with images via jina.ai API
  • 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

  • uv (Python package manager)
  • 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

  • https://x.com/USER/status/ID (posts)
  • https://x.com/USER/article/ID (long-form articles)
  • https://twitter.com/USER/status/ID (legacy)

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

Related skills

More from daymade/claude-code-skills and the wider catalog.

UIui-designer logo

ui-designer

daymade/claude-code-skills

Extract design systems from reference UI images and generate implementation-ready UI design prompts. Use when users provide UI screenshots/mockups and want to create consistent designs, generate design systems, or build MVP UIs matching reference aesthetics.

787 installsAudited
VIvideo-comparer logo

video-comparer

daymade/claude-code-skills

This skill should be used when comparing two videos to analyze compression results or quality differences. Generates interactive HTML reports with quality metrics (PSNR, SSIM) and frame-by-frame visual comparisons. Triggers when users mention "compare videos", "video quality", "compression analysis", "before/after compression", or request quality assessment of compressed videos.

613 installs
YOyoutube-downloader logo

youtube-downloader

daymade/claude-code-skills

Download YouTube videos and HLS streams (m3u8) from platforms like Mux, Vimeo, etc. using yt-dlp and ffmpeg. Use this skill when users request downloading videos, extracting audio, handling protected streams with authentication headers, or troubleshooting download issues like nsig extraction failures, 403 errors, or cookie extraction problems.

671 installs
CAcapture-screen logo

capture-screen

daymade/claude-code-skills

Programmatic screenshot capture on macOS. Find window IDs with Swift CGWindowListCopyWindowInfo, control application windows via AppleScript (zoom, scroll, select), and capture with screencapture. Use when automating screenshots, capturing application windows for documentation, or building multi-shot visual workflows.

650 installs
DE

dex

dcramer/dex

Manage tasks via dex CLI. Use when breaking down complex work, tracking implementation items, or persisting context across sessions.

674 installs
DE

dex-plan

dcramer/dex

Create dex task from markdown planning documents (plans, specs, design docs, roadmaps)

600 installs