Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add ninehills/skills --skill "news-aggregator-skill"
Install specific skill from multi-skill repository
# Description
Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 8 major sources: Hacker News, GitHub Trending, Product Hunt, 36Kr, Tencent News, WallStreetCN, V2EX, and Weibo. Best for 'daily scans', 'tech news briefings', 'finance updates', and 'deep interpretations' of hot topics.
# SKILL.md
name: news-aggregator-skill
description: "Comprehensive news aggregator that fetches, filters, and deeply analyzes real-time content from 8 major sources: Hacker News, GitHub Trending, Product Hunt, 36Kr, Tencent News, WallStreetCN, V2EX, and Weibo. Best for 'daily scans', 'tech news briefings', 'finance updates', and 'deep interpretations' of hot topics."
News Aggregator Skill
Fetch real-time hot news from multiple sources.
Tools
fetch_news.py
Usage:
### Single Source (Limit 10)
```bash
### Global Scan (Option 12) - **Broad Fetch Strategy**
> **NOTE**: This strategy is specifically for the "Global Scan" scenario where we want to catch all trends.
```bash
# 1. Fetch broadly (Massive pool for Semantic Filtering)
python3 scripts/fetch_news.py --source all --limit 15 --deep
# 2. SEMANTIC FILTERING:
# Agent manually filters the broad list (approx 120 items) for user's topics.
Single Source & Combinations (Smart Keyword Expansion)
CRITICAL: You MUST automatically expand the user's simple keywords to cover the entire domain field.
* User: "AI" -> Agent uses: --keyword "AI,LLM,GPT,Claude,Generative,Machine Learning,RAG,Agent"
* User: "Android" -> Agent uses: --keyword "Android,Kotlin,Google,Mobile,App"
* User: "Finance" -> Agent uses: --keyword "Finance,Stock,Market,Economy,Crypto,Gold"
# Example: User asked for "AI news from HN" (Note the expanded keywords)
python3 scripts/fetch_news.py --source hackernews --limit 20 --keyword "AI,LLM,GPT,DeepSeek,Agent" --deep
Specific Keyword Search
Only use --keyword for very specific, unique terms (e.g., "DeepSeek", "OpenAI").
python3 scripts/fetch_news.py --source all --limit 10 --keyword "DeepSeek" --deep
Arguments:
--source: One ofhackernews,weibo,github,36kr,producthunt,v2ex,tencent,wallstreetcn,all.--limit: Max items per source (default 10).--keyword: Comma-separated filters (e.g. "AI,GPT").--deep: [NEW] Enable deep fetching. Downloads and extracts the main text content of the articles.
Output:
JSON array. If --deep is used, items will contain a content field associated with the article text.
Interactive Menu
When the user says "news-aggregator-skill ๅฆๆๅฆๆ" (or similar "menu/help" triggers):
1. READ the content of templates.md in the skill directory.
2. DISPLAY the list of available commands to the user exactly as they appear in the file.
3. GUIDE the user to select a number or copy the command to execute.
Smart Time Filtering & Reporting (CRITICAL)
If the user requests a specific time window (e.g., "past X hours") and the results are sparse (< 5 items):
1. Prioritize User Window: First, list all items that strictly fall within the user's requested time (Time < X).
2. Smart Fill: If the list is short, you MUST include high-value/high-heat items from a wider range (e.g. past 24h) to ensure the report provides at least 5 meaningful insights.
2. Annotation: Clearly mark these older items (e.g., "โ ๏ธ 18h ago", "๐ฅ 24h Hot") so the user knows they are supplementary.
3. High Value: Always prioritize "SOTA", "Major Release", or "High Heat" items even if they slightly exceed the time window.
4. GitHub Trending Exception: For purely list-based sources like GitHub Trending, strictly return the valid items from the fetched list (e.g. Top 10). List ALL fetched items. Do NOT perform "Smart Fill".
* Deep Analysis (Required): For EACH item, you MUST leverage your AI capabilities to analyze:
* Core Value (ๆ ธๅฟไปทๅผ): What specific problem does it solve? Why is it trending?
* Inspiration (ๅฏๅๆ่): What technical or product insights can be drawn?
* Scenarios (ๅบๆฏๆ ็ญพ): 3-5 keywords (e.g. #RAG #LocalFirst #Rust).
6. Response Guidelines (CRITICAL)
Format & Style:
- Language: Simplified Chinese (็ฎไฝไธญๆ).
- Style: Magazine/Newsletter style (e.g., "The Economist" or "Morning Brew" vibe). Professional, concise, yet engaging.
- Structure:
- Global Headlines: Top 3-5 most critical stories across all domains.
- Tech & AI: Specific section for AI, LLM, and Tech items.
- Finance / Social: Other strong categories if relevant.
- Item Format:
- Title: MUST be a Markdown Link to the original URL.
- โ
Correct: ### 1. [OpenAI Releases GPT-5](https://...)
- โ Incorrect: ### 1. OpenAI Releases GPT-5
- Metadata Line: Must include Source, Time/Date, and Heat/Score.
- 1-Liner Summary: A punchy, "so what?" summary.
- Deep Interpretation (Bulleted): 2-3 bullet points explaining why this matters, technical details, or context. (Required for "Deep Scan").
Output Artifact:
- Always save the full report to reports/ directory with a timestamped filename (e.g., reports/hn_news_YYYYMMDD_HHMM.md).
- Present the full report content to the user in the chat.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.