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 of hackernews, 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):
- READ the content of
templates.md in the skill directory.
- DISPLAY the list of available commands to the user exactly as they appear in the file.
- 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):
- Prioritize User Window: First, list all items that strictly fall within the user's requested time (Time < X).
- 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.
- Annotation: Clearly mark these older items (e.g., "⚠️ 18h ago", "🔥 24h Hot") so the user knows they are supplementary.
- High Value: Always prioritize "SOTA", "Major Release", or "High Heat" items even if they slightly exceed the time window.
- 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.
1---2name: news-aggregator-skill-23description: 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.4---5
6# News Aggregator Skill
7
8Fetch real-time hot news from multiple sources.
9
10## Tools
11
12### fetch_news.py
13
14**Usage:**
15
16```bash
17### Single Source (Limit 10)
18```bash
19### Global Scan (Option 12) - **Broad Fetch Strategy**
20> **NOTE**: This strategy is specifically for the "Global Scan" scenario where we want to catch all trends.
21
22```bash
23# 1. Fetch broadly (Massive pool for Semantic Filtering)
24python3 scripts/fetch_news.py --source all --limit 15 --deep
25
26# 2. SEMANTIC FILTERING:
27# Agent manually filters the broad list (approx 120 items) for user's topics.
28```
29
30### Single Source & Combinations (Smart Keyword Expansion)
31**CRITICAL**: You MUST automatically expand the user's simple keywords to cover the entire domain field.
32* User: "AI" -> Agent uses: `--keyword "AI,LLM,GPT,Claude,Generative,Machine Learning,RAG,Agent"`
33* User: "Android" -> Agent uses: `--keyword "Android,Kotlin,Google,Mobile,App"`
34* User: "Finance" -> Agent uses: `--keyword "Finance,Stock,Market,Economy,Crypto,Gold"`
35
36```bash
37# Example: User asked for "AI news from HN" (Note the expanded keywords)
38python3 scripts/fetch_news.py --source hackernews --limit 20 --keyword "AI,LLM,GPT,DeepSeek,Agent" --deep
39```
40
41### Specific Keyword Search
42Only use `--keyword` for very specific, unique terms (e.g., "DeepSeek", "OpenAI").
43```bash
44python3 scripts/fetch_news.py --source all --limit 10 --keyword "DeepSeek" --deep
45```
46
47**Arguments:**
48
49- `--source`: One of `hackernews`, `weibo`, `github`, `36kr`, `producthunt`, `v2ex`, `tencent`, `wallstreetcn`, `all`.
50- `--limit`: Max items per source (default 10).
51- `--keyword`: Comma-separated filters (e.g. "AI,GPT").
52- `--deep`: **[NEW]** Enable deep fetching. Downloads and extracts the main text content of the articles.
53
54**Output:**
55JSON array. If `--deep` is used, items will contain a `content` field associated with the article text.
56
57## Interactive Menu
58
59When the user says **"news-aggregator-skill 如意如意"** (or similar "menu/help" triggers):
601. **READ** the content of `templates.md` in the skill directory.
612. **DISPLAY** the list of available commands to the user exactly as they appear in the file.
623. **GUIDE** the user to select a number or copy the command to execute.
63
64### Smart Time Filtering & Reporting (CRITICAL)
65If the user requests a specific time window (e.g., "past X hours") and the results are sparse (< 5 items):
661. **Prioritize User Window**: First, list all items that strictly fall within the user's requested time (Time < X).
672. **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.
682. **Annotation**: Clearly mark these older items (e.g., "⚠️ 18h ago", "🔥 24h Hot") so the user knows they are supplementary.
693. **High Value**: Always prioritize "SOTA", "Major Release", or "High Heat" items even if they slightly exceed the time window.
704. **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".
71 * **Deep Analysis (Required)**: For EACH item, you **MUST** leverage your AI capabilities to analyze:
72 * **Core Value (核心价值)**: What specific problem does it solve? Why is it trending?
73 * **Inspiration (启发思考)**: What technical or product insights can be drawn?
74 * **Scenarios (场景标签)**: 3-5 keywords (e.g. `#RAG #LocalFirst #Rust`).
75
76### 6. Response Guidelines (CRITICAL)
77
78**Format & Style:**
79- **Language**: Simplified Chinese (简体中文).
80- **Style**: Magazine/Newsletter style (e.g., "The Economist" or "Morning Brew" vibe). Professional, concise, yet engaging.
81- **Structure**:
82 - **Global Headlines**: Top 3-5 most critical stories across all domains.
83 - **Tech & AI**: Specific section for AI, LLM, and Tech items.
84 - **Finance / Social**: Other strong categories if relevant.
85- **Item Format**:
86 - **Title**: **MUST be a Markdown Link** to the original URL.
87 - ✅ Correct: `### 1. [OpenAI Releases GPT-5](https://...)`
88 - ❌ Incorrect: `### 1. OpenAI Releases GPT-5`
89 - **Metadata Line**: Must include Source, **Time/Date**, and Heat/Score.
90 - **1-Liner Summary**: A punchy, "so what?" summary.
91 - **Deep Interpretation (Bulleted)**: 2-3 bullet points explaining *why* this matters, technical details, or context. (Required for "Deep Scan").
92
93**Output Artifact:**
94- Always save the full report to `reports/` directory with a timestamped filename (e.g., `reports/hn_news_YYYYMMDD_HHMM.md`).
95- Present the full report content to the user in the chat.