X Article Reader
Read X (Twitter) Articles aloud using macOS say command. Automatically detects language and selects the right voice.
What This Skill Does
- Opens the X article URL in a local headless browser (patchright/Chromium — runs 100% locally)
- Extracts the article title and body text
- Reads it aloud via macOS built-in
saycommand (no external TTS API)
What Gets Installed
| Component | Size | Where |
|---|---|---|
patchright (Python pkg) | ~5MB | your Python env |
| Chromium browser | ~170MB | ~/.cache/ms-playwright/ |
All processing is local. No data is sent to any third-party service.
Prerequisites
# macOS only (uses built-in say command)
pip install patchright
python3 -m patchright install chromium
First-Time Setup (One-Time Login)
The skill stores its own browser profile at:
<skill_dir>/data/browser_state/
This is completely isolated — it does not read or write credentials from any other skill or app.
cd <skill_dir>/scripts
python3 auth_setup.py
A browser window opens → log in to X → session saved automatically (~7 days).
Usage
cd <skill_dir>/scripts
python3 read_article.py "https://x.com/user/articles/123"
Options
# Force a voice
python3 read_article.py "<url>" --voice Tingting
# Save audio file instead of playing
python3 read_article.py "<url>" --output ~/Desktop/article.aiff
# Show browser (debug)
python3 read_article.py "<url>" --show-browser
Voices
| Language (auto-detected) | Voice |
|---|---|
| 中文 (>15% Chinese chars) | Tingting |
| English | Samantha |
Source Code
https://github.com/ewangchong/x-article-reader
Trigger Examples
- "帮我读一下这篇X文章:https://x.com/xxx/articles/yyy"
- "Read this X article aloud: https://x.com/xxx/articles/yyy"
- "朗读 https://x.com/xxx/articles/yyy"