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 viewsAutomate web scraping and data extraction with Apify -- run Actors, manage datasets, create reusable tasks, and retrieve crawl results through the Composio Apify integration.
Scrapes content based on a preset URL list, filters high-quality technical information, and generates daily Markdown reports.
Web search, content extraction, crawling, and research capabilities using Tavily API
| Bulk extract content from an entire website or site section. Use this skill when the user wants to crawl a site, extract all pages from a docs section, bulk-scrape multiple pages following links, or says "crawl", "get all the pages", "extract everything under /docs", "bulk extract", or needs content from many pages on the same site. Handles depth limits, path filtering, and concurrent extraction.
Build a fully automated AI-powered data collection agent for any public source — job boards, prices, news, GitHub, sports, anything. Scrapes on a schedule, enriches data with a free LLM (Gemini Flash), stores results in Notion/Sheets/Supabase, and learns from user feedback. Runs 100% free on GitHub Actions. Use when the user wants to monitor, collect, or track any public data automatically.
Scrapes content based on a preset URL list, filters high-quality technical information, and generates daily Markdown reports.
Scrape, crawl, search, and extract structured data from websites using Firecrawl API - converts web pages to LLM-ready markdown
Deep web scraping, screenshots, PDF parsing, and website crawling using Firecrawl API
Take 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.