X Thread Reader

Fetch full text or generate a PDF from any X/Twitter thread using twitter-thread.com. Use when asked to "get the full thread", "read this tweet", "save this...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 29 · 0 current installs · 0 all-time installs
byNeal Meyer@ngmeyer
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description describe fetching full thread text or PDFs; the script and SKILL.md only require curl, python3, and optionally a browser. No unrelated credentials, binaries, or config paths are requested.
Instruction Scope
Instructions and the script only fetch pages from twitter-thread.com and reference x.com; they do not read arbitrary local files or env vars. Note: fetching/indexing requires visiting twitter-thread.com (or triggering it), which will send the agent's IP and HTTP headers to that third-party site.
Install Mechanism
No install spec; the skill is instruction + a single shell script. Nothing is downloaded or written during install, so installation risk is low.
Credentials
The skill requests no environment variables or credentials. It references $HOME for a default PDF path and checks for Chrome/agent-browser binaries — these are proportional to PDF generation functionality.
Persistence & Privilege
always is false, the skill is user-invocable and does not modify other skills or system configs. It does not request permanent presence or elevated privileges.
Assessment
This skill appears coherent and limited to fetching content from twitter-thread.com and x.com. Before installing: (1) understand that thread requests go to a third-party service (twitter-thread.com) so that service will see your IP and request headers — don't use it for sensitive/private content; (2) test with public, non-sensitive tweets first to confirm behavior; (3) PDF mode requires a local browser (Chrome) or agent-browser — verify those tools are trusted and available; (4) review the script if you have strict security policies (it runs curl and python3 and writes to $HOME by default); (5) if you want additional assurance, run the script in a sandboxed environment or inspect network traffic to the third-party site before using with private material.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97c91hf40vnsaspe89qd0wwn1834e8creadervk97c91hf40vnsaspe89qd0wwn1834e8cthreadsvk97c91hf40vnsaspe89qd0wwn1834e8ctwittervk97c91hf40vnsaspe89qd0wwn1834e8cxvk97c91hf40vnsaspe89qd0wwn1834e8c

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

X Thread Reader

Fetch full text or generate a PDF from any X/Twitter thread via twitter-thread.com.

How It Works

Text mode: curl the twitter-thread.com /pdf/{tweet_id} page. The full article is embedded in the HTML <meta name="description"> tag — no browser or JS rendering needed. Fast, reliable, zero dependencies beyond curl and python3.

PDF mode: Uses Chrome headless (--print-to-pdf) or agent-browser to render and save the PDF. Browser required because the PDF generation page uses JS.

Limitations

  • Requires the thread to be indexed on twitter-thread.com — if not indexed, visit the thread URL in a browser first to trigger indexing
  • Does NOT work for X Articles (x.com/i/article/...) — those require a logged-in browser
  • Does NOT work for protected/private accounts or deleted tweets

Quick Usage

Get full thread text

scripts/x_thread.sh text "https://x.com/user/status/1234567890"

Download PDF

scripts/x_thread.sh pdf "https://x.com/user/status/1234567890"
# Custom output path:
scripts/x_thread.sh pdf "https://x.com/user/status/1234567890" "/tmp/my-thread.pdf"

Accepts full X/Twitter URL or raw tweet ID.

Output Format

The text mode outputs structured content:

  • Author and date from the thread
  • Full article text — complete thread content, all tweets concatenated
  • Source URL for citation

Suitable for archiving to Obsidian, note-taking apps, or further analysis.

Gotchas

  • The /pdf/{id} URL returns HTML (not a PDF) — the article is in the <meta name="description"> tag, extracted via python3. If twitter-thread.com changes their HTML structure, this extraction breaks silently (empty output).
  • Thread must be indexed on twitter-thread.com first. Fresh threads (< 30 min old) may not be available yet. The /t/{id} page triggers indexing when visited in a browser.
  • macOS grep does not support -P (PCRE). All grep patterns in the script use -oE (extended regex) for portability.
  • Very long threads may truncate in the meta description. If output seems incomplete, compare against the PDF version.
  • The script extracts from the first <meta name="description"> match — if the page structure adds multiple, it may grab the wrong one.

Troubleshooting

"Thread not found" error: The thread is not yet indexed on twitter-thread.com. Visit https://twitter-thread.com/t/{tweet_id} in a browser to trigger indexing, wait ~30s, then retry.

Empty article text: twitter-thread.com may have changed their HTML structure. Check if the <meta name="description"> tag still contains the article content.

X Article links (x.com/i/article/...): These are NOT threads. They require a logged-in browser session and cannot be fetched with this skill.

Protected/deleted tweets: The skill cannot access tweets from private accounts or tweets that have been deleted.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…