liyupi/hot-monitor
> AI hotspot monitoring and trending topic discovery across multiple sources (Bing, Google, DuckDuckGo, HackerNews, monitoring keywords, tech/AI news discovery, generating hotspot reports, "最近有什么热点", "帮我关注XX动态", "查一下XX最新消息", "生成热点报告", "monitor XX", "what's trending in XX", or any request to search/track/discover current events and trending content across Chinese and international platforms.
npx skills add https://github.com/liyupi/yupi-hot-monitor --skill hot-monitor
Search and analyze trending topics across 8+ sources without any server or database. Scripts handle data collection; use your own AI capabilities for analysis.
All scripts are in scripts/. Install dependencies first:
pip install requests beautifulsoup4
Set optional env vars for Twitter (other sources need no keys):
export TWITTER_API_KEY=your_key # optional, for Twitter search
Determine what the user needs:
Run search scripts based on scope. Always combine international + Chinese sources for comprehensive coverage.
International sources (no API keys needed):
python scripts/search_web.py "AI programming" --sources bing,hackernews,duckduckgo
Chinese sources (no API keys needed):
python scripts/search_china.py "AI编程" --sources sogou,bilibili,weibo
Twitter (requires TWITTER_API_KEY):
python scripts/search_twitter.py "AI programming"
All scripts output JSON to stdout. Combine results for multi-source analysis.
After collecting search results, apply the analysis framework yourself (no external AI API needed). For each result, evaluate:
isReal): Is this genuine news or clickbait/rumor?See references/analysis-guide.md for detailed evaluation criteria.
Format output as structured report, sorted by importance. Use this template:
## 🔥 热点监控报告 — {keyword}
> 扫描时间: {timestamp} | 数据源: {sources_used}
### 🚨 紧急 (Urgent)
- **{title}** — {summary}
来源: {source} | 相关性: {relevance}% | [原文链接]({url})
### 🔴 重要 (High)
...
### 🟡 一般 (Medium)
...
### 🟢 低优先级 (Low)
...
---
共发现 {total} 条热点,其中紧急 {urgent} 条,重要 {high} 条
| Script | Sources | API Key | Output |
|--------|---------|---------|--------|
| search_web.py | Bing, Google, DuckDuckGo, HackerNews | None | JSON array of {title, content, url, source, publishedAt?} |
| search_china.py | Sogou, Bilibili, Weibo | None | JSON array (same schema + engagement metrics) |
| search_twitter.py | Twitter/X | TWITTER_API_KEY | JSON array (same schema + author info) |
| generate_report.py | — | None | Reads JSON from stdin, outputs Markdown report |
All search scripts support:
--sources: Comma-separated list of sources to use (default: all)--limit: Max results per source (default: 20)--json: Output raw JSON (default, always JSON to stdout)Scripts output [] (empty JSON array) on failure and print errors to stderr. Always check for empty results and inform the user which sources failed.
For better coverage, expand the user's keyword into variants before searching:
search_china.py supports --detect-account flag. If the keyword matches a Bilibili creator's name, it fetches their latest videos instead of doing a generic search:
python scripts/search_china.py "程序员鱼皮" --detect-account
For monitoring multiple keywords, run searches sequentially with a 3-second delay between keywords to respect rate limits.
Take liyupi/hot-monitor 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.
The instructions reference pip.
Without those the skill loads but fails at the first command.