lingxling/adhx
Fetch any X/Twitter post as clean LLM-friendly JSON. Converts x.com, twitter.com, or adhx.com links into structured data with full article content, author info, and engagement metrics. No scraping or browser required.
npx skills add https://github.com/lingxling/awesome-skills-cn --skill adhx
Fetch any X/Twitter post as structured JSON for analysis using the ADHX API.
ADHX provides a free API that returns clean JSON for any X post, including full long-form article content. This is far superior to scraping or browser-based approaches for LLM consumption. Works with regular tweets and full X Articles.
https://adhx.com/api/share/tweet/{username}/{statusId}
Extract username and statusId from any of these URL formats:
| Format | Example |
|--------|---------|
| x.com/{user}/status/{id} | https://x.com/dgt10011/status/2020167690560647464 |
| twitter.com/{user}/status/{id} | https://twitter.com/dgt10011/status/2020167690560647464 |
| adhx.com/{user}/status/{id} | https://adhx.com/dgt10011/status/2020167690560647464 |
When a user shares an X/Twitter link:
username and statusId from the path segmentscurl -s "https://adhx.com/api/share/tweet/{username}/{statusId}"
{
"id": "statusId",
"url": "original x.com URL",
"text": "short-form tweet text (empty if article post)",
"author": {
"name": "Display Name",
"username": "handle",
"avatarUrl": "profile image URL"
},
"createdAt": "timestamp",
"engagement": {
"replies": 0,
"retweets": 0,
"likes": 0,
"views": 0
},
"article": {
"title": "Article title (for long-form posts)",
"previewText": "First ~200 chars",
"coverImageUrl": "hero image URL",
"content": "Full markdown content with images"
}
}
/plugin marketplace add itsmemeworks/adhx
curl -sL https://raw.githubusercontent.com/itsmemeworks/adhx/main/skills/adhx/SKILL.md -o ~/.claude/skills/adhx/SKILL.md
User: "Summarize this post https://x.com/dgt10011/status/2020167690560647464"
curl -s "https://adhx.com/api/share/tweet/dgt10011/2020167690560647464"
Then use the returned JSON to provide the summary.
User: "How many likes did this tweet get? https://x.com/handle/status/123"
handle, statusId = 123curl -s "https://adhx.com/api/share/tweet/handle/123"engagement.likes value from the responsearticle field when the user wants full content (not just tweet text)engagement field when users ask about likes, retweets, or viewsTake lingxling/adhx from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.