X (Twitter) Hot Topics
Fetch trending topics from X (Twitter). Analyze user interests from natural language, retrieve top hot topics per domain, and summarize background, key opinions, and controversies.
jiangsier-xyz
@jiangsier-xyz
What This Skill Does
Fetches real-time trending topics from X (Twitter) by analyzing user interest domains from natural language input, then retrieves top hot tweets per domain and summarizes background, key opinions, and controversies.
Replaces manually searching X for trending topics by automatically extracting user interests, querying the API, and presenting structured summaries of each hot topic.
When to Use It
- Find what's trending in AI and technology on X right now
- Get a summary of public opinion and controversies around a breaking news topic
- Analyze hot discussions in international politics from recent tweets
- Discover viral conversations in entertainment or sports filtered by domain
- Monitor real-time sentiment and key arguments on a specific keyword or event
Install
$ openclaw skills install @jiangsier-xyz/x-hotsX (Twitter) Hot Topics Fetcher
Fetch real-time trending topics from X, filter by user interest domains, and analyze the background, popular opinions, and key controversies of each topic.
Prerequisites
Dependencies
- Python 3.7+
- tweepy library
Both are handled automatically: the scripts/x_hots entrypoint wrapper creates an isolated virtualenv at <skill_dir>/.venv on first run and installs requirements.txt (which pins tweepy) into it. No manual pip install is needed. Override the venv location with SKILL_VENV_DIR=<path>.
Environment Variables
Only the Bearer Token is required. The script uses app-only (OAuth 2.0) auth, which is sufficient for the search_recent_tweets endpoint and has broader search access than OAuth 1.0a user credentials โ so the consumer key/secret and access token/secret are not needed.
export X_BEARER_TOKEN="***"
Obtain this credential from the X Developer Portal.
Note: The Free tier API has limitations:
- Can only search tweets from the last 7 days
- Rate limited to 10 requests per 15 minutes for search endpoints
When to Use
When the user wants to know what's trending on X/Twitter, or asks about hot topics, public opinion, or viral discussions.
Workflow
Step 1: Analyze User Interest Domains
Extract interest domains from the user's natural language input. Common domains include:
- International Politics: politics, geopolitics, diplomacy, sanctions, war, NATO, UN
- Economy & Finance: economy, stock market, tariff, trade, inflation, crypto, bitcoin
- Technology: AI, LLM, GPT, tech, chip, semiconductor, Apple, Google, Microsoft
- Sports: football, World Cup, NBA, Olympics, FIFA
- Entertainment: movie, music, celebrity, Netflix, Disney
- Society: climate, health, education, protest, human rights
Analysis Rules:
- If the user explicitly mentions a domain (e.g., "what's hot in tech?"), use that domain's keywords directly
- If the user mentions a specific topic (e.g., "what's happening with AI?"), use that topic as the keyword
- If no specific domain can be identified, use the generic hot topics query (see "Generic Query" below)
- Select 2-3 core keywords per domain to avoid excessive queries
Step 2: Run the Script to Fetch Hot Tweets
scripts/x_hots '<json_queries>'
Parameters:
json_queries: JSON array of search keywords- Each keyword returns up to 10 related hot tweets
Examples:
# Tech + Economy domains
scripts/x_hots '["AI", "LLM", "stock market", "tariff"]'
# International politics
scripts/x_hots '["geopolitics", "diplomacy", "sanctions"]'
# Generic hot topics (when no domain can be identified)
scripts/x_hots '["trending", "breaking", "viral"]'
Output Format:
{
"success": true,
"timestamp": "2026-07-09T03:58:00Z",
"queries": ["AI", "LLM"],
"results": {
"AI": {
"success": true,
"count": 10,
"tweets": [
{
"id": "1234567890",
"text": "Tweet content...",
"created_at": "2026-07-09T03:50:00Z",
"metrics": {"like_count": 100, "retweet_count": 50},
"url": "https://twitter.com/twitter/status/1234567890"
}
]
}
}
}
Step 3: Analyze and Present Results
For each domain/keyword, analyze the returned tweets and extract:
- Background: The origin of the hot topic, timeline, key people/organizations involved
- Popular Opinions: What are the mainstream views? Core arguments from supporters and opponents
- Key Controversies: What is the focal point of the debate? Where do different stances diverge?
Presentation Format:
## ๐ฅ [Domain Name] Hot Topics
### Topic 1: [Topic Title]
**๐ Background**
[Brief description of the event origin, timeline, key figures/organizations]
**๐ฌ Popular Opinions**
- Supporters: [core argument]
- Opponents: [core argument]
- Neutral: [objective analysis]
**โ๏ธ Key Controversies**
[Focal point of the debate, divergence between different stances]
---
### Topic 2: [Topic Title]
...
Generic Query (When No Domain Can Be Identified)
When the user's input cannot be mapped to a specific domain (e.g., "what's hot on X?"), use the following strategy:
-
Run the script with generic hot topic queries:
scripts/x_hots '["trending", "breaking", "viral", "news"]' -
Identify the Top 10 highest-engagement topics from the returned tweets (based on likes, retweets, replies)
-
Present them ranked by engagement, with a brief background for each topic
Examples
Example 1: User Mentions a Specific Domain
User input: "What's hot in tech?"
Analysis: Domain = Tech, Keywords = ["AI", "LLM", "tech"]
Execute:
scripts/x_hots '["AI", "LLM", "tech"]'
Example 2: User Mentions a Specific Topic
User input: "What's happening with tariff policy?"
Analysis: Topic = Tariff, Keywords = ["tariff", "trade war", "tariff policy"]
Execute:
scripts/x_hots '["tariff", "trade war", "tariff policy"]'
Example 3: No Domain Can Be Identified
User input: "What's hot on X?"
Analysis: No specific domain identified, use generic query
Execute:
scripts/x_hots '["trending", "breaking", "viral", "news"]'
Notes
- API Limits: Free-tier API can only search tweets from the last 7 days
- Language Filter: Defaults to English tweets (
lang:en); modify the script for other languages - Deduplication: Script already filters out retweets (
-is:retweet), only returns original tweets - Engagement Ranking: Popularity is judged by likes, retweets, and replies combined
- Timeliness: Results are sorted by relevancy, prioritizing popular/high-engagement tweets
Error Handling
API Authentication Failure
{"success": false, "error": "Missing environment variable: X_BEARER_TOKEN"}
Fix: Ensure the Bearer Token environment variable is set in your shell profile (e.g. ~/.zshrc):
export X_BEARER_TOKEN="***"
Obtain the credential from the X Developer Portal.
No Results Found
{"results": {"AI": {"success": true, "count": 0, "tweets": []}}}
Action: Inform the user that there are no hot topics in this domain currently; suggest trying different keywords
Rate Limit Exceeded
{"success": false, "error": "429 Too Many Requests"}
Action: Wait 15 minutes before retrying, or reduce the number of query keywords
Top skills in this category
Prompt Guard
@seojoonkim650+ pattern AI agent security defense covering prompt injection, supply chain injection, memory poisoning, action gate bypass, unicode steganography, cascad...
OpenClaw Token Optimizer
@asif2bdOpenClaw Token Optimizer v3.2.0 โ practical cost-control toolkit for OpenClaw agents. Lazy context loading, Sonnet/Opus-aware routing, heartbeat scheduling,...
Google Docs
@hith3shGoogle Docs API integration with managed OAuth. Search, read, create, and update Google Docs documents. Use this skill when users want to read document text,...
google-docs
@byungkyuGoogle Docs API integration with managed OAuth. Create documents, insert text, apply formatting, and manage content. Use this skill when users want to interact with Google Docs. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login; default to read and list calls, and confirm every write or new connection with the user.
Canva
@abgohelCreate, export, and manage Canva designs via the Connect API. Generate social posts, carousels, and graphics programmatically.