About read-x
read-x is a read-only skill for retrieving full X/Twitter post and article content through the public FxTwitter API. It helps users or agents read and summarize posts without API credentials or a browser.
Key features
- 01Fetches tweet text and author details
- 02Retrieves embedded long-form articles
- 03Includes media and engagement statistics
- 04Reads replies and thread context
- 05Formats article content as Markdown
Use cases
- 01Reading a shared X or Twitter post
- 02Summarizing a long-form X article
- 03Inspecting media and engagement details
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ mikeygonz/ skills --skill read-xAfter installing, type/read-xin Claude Code to confirm it loaded.
Details
From the project READMERead X
Fetch full content from X/Twitter posts and articles — no API key, no auth, no browser needed.
How It Works
Use the FxTwitter API — a public, no-auth API that returns full tweet JSON including embedded articles, media, and engagement stats.
Endpoint
https://api.fxtwitter.com/{username}/status/{tweet_id}
When to Use
- User shares an x.com or twitter.com URL
- User asks to read/summarize an X post or article
- User shares a thread or long-form X article
When NOT to Use
- User just wants to post/reply on X (this is read-only)
- URL is not a post (e.g., x.com/username profile page)
How to Fetch
Use web_fetch on the fxtwitter URL:
web_fetch: https://api.fxtwitter.com/{username}/status/{tweet_id}
Extracting from the URL
Given: https://x.com/elonmusk/status/1234567890
- username:
elonmusk - tweet_id:
1234567890 - API URL:
https://api.fxtwitter.com/elonmusk/status/1234567890
Response Structure
The API returns JSON with:
tweet.text— tweet texttweet.author— author info (name, handle, followers, bio)tweet.likes,tweet.retweets,tweet.views— engagementtweet.article— full long-form article content (if present)tweet.article.title— article titletweet.article.content.blocks[]— article body (block-based, like Draft.js)- Each block has
text,type(unstyled, header-two, blockquote, atomic), andinlineStyleRanges(Bold, Italic)
- Each block has
tweet.media— attached images/videostweet.replying_to— if it's a reply, who it's replying to
Rendering Articles
When tweet.article exists, render it as clean markdown:
header-two→## headingblockquote→> quoteBoldinline style →**bold**Italicinline style →*italic*atomicwith DIVIDER entity →---- Links in
entityMap→[text](url)
Limitations
- Read-only (no posting, liking, replying)
- Some tweets may be unavailable (deleted, protected accounts)
- Rate limits exist but are generous for casual use
- Threads: each tweet is a separate request (follow
replying_tochain)
Comments
Markdown supported