# X Reader

> Read Twitter/X posts, threads, and articles. Handles login walls and JS rendering. Use when a user shares an x.com or twitter.com link.

- **Type:** Skill
- **Install:** `agentstack add skill-yesterday-ai-skills-x-reader`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Yesterday-AI](https://agentstack.voostack.com/s/yesterday-ai)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Yesterday-AI](https://github.com/Yesterday-AI)
- **Source:** https://github.com/Yesterday-AI/skills/tree/main/plugins/office/skills/x-reader
- **Website:** https://github.com/Yesterday-AI/skills

## Install

```sh
agentstack add skill-yesterday-ai-skills-x-reader
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# X-Reader

Read any Twitter/X content -- tweets, threads, and long-form articles.

## Strategy

```
X/Twitter URL received?
├── Simple tweet or Article → fxtwitter API (fast, free, no login-wall):
│   web_fetch "https://api.fxtwitter.com//status/"
│   (For Articles: Check tweet.article.content.blocks[] for Draft.js content)
│
├── Medium Article → web_fetch (direct) or Freedium (fallback):
│   web_fetch "https://medium.com/"
│   If teaser only: web_fetch "https://freedium.cfd/medium.com/"
│
├── Thread (Full) → Playwright (via web-scraper):
│   node skills/web-scraper/scripts/scrape.js "" --wait 5000
│
└── All methods fail → Ask user to paste or screenshot
```

## Methods

### 1. fxtwitter API (Speed & Efficiency)
Best for single tweets and X Articles. No API key needed.
- **Normal Tweets:** Use `tweet.text`, `tweet.author.name`, etc.
- **X Articles:** Look into `tweet.article.content.blocks[]`. Map `header-two` to `##` and `unstyled` to paragraph.

### 2. oEmbed API (Legacy fallback)
```bash
web_fetch "https://publish.twitter.com/oembed?url=https://x.com/user/status/123"
```

### 3. Medium (Client-side Paywall bypass)
Medium paywalls are often client-side JS only. Raw `web_fetch` often gets the full HTML.
- **Fallback (Freedium):** Rewrite `medium.com` to `freedium.cfd/medium.com`.

### 4. Playwright (Reliability fallback)
For complex threads or when API methods fail.
```bash
node skills/web-scraper/scripts/scrape.js "" --wait 5000
```

## URL Detection

Recognize X/Twitter/Medium links:
- `https://x.com//status/`
- `https://twitter.com//status/`
- `https://x.com/i/article/`
- `https://medium.com//`

## Depends On

- [web-scraper](../web-scraper/SKILL.md) -- Playwright rendering engine

---

*Authored by ManniTheRaccoon & Robby. Merged by Yessy 🐾 2026-03-03.*

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Yesterday-AI](https://github.com/Yesterday-AI)
- **Source:** [Yesterday-AI/skills](https://github.com/Yesterday-AI/skills)
- **License:** MIT
- **Homepage:** https://github.com/Yesterday-AI/skills

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-yesterday-ai-skills-x-reader
- Seller: https://agentstack.voostack.com/s/yesterday-ai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
